jvm-binary-0.10.0: A library for reading Java class-files
Copyright(c) Christian Gram Kalhauge 2017
LicenseMIT
Maintainerkalhuage@cs.ucla.edu
Safe HaskellNone
LanguageHaskell2010

Language.JVM.ClassFile

Contents

Description

The class file is described in this module.

Synopsis

Documentation

data ClassFile r Source #

A ClassFile as described here.

Instances

Instances details
Staged ClassFile Source # 
Instance details

Defined in Language.JVM.ClassFile

Methods

stage :: LabelM m => (forall (s' :: Type -> Type). Staged s' => s' r -> m (s' r')) -> ClassFile r -> m (ClassFile r') Source #

evolve :: EvolveM m => ClassFile Low -> m (ClassFile High) Source #

devolve :: DevolveM m => ClassFile High -> m (ClassFile Low) Source #

Eq (ClassFile High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Eq (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Ord (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Show (ClassFile High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Show (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Generic (ClassFile High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Associated Types

type Rep (ClassFile High) :: Type -> Type #

Generic (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Associated Types

type Rep (ClassFile Low) :: Type -> Type #

Binary (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

NFData (ClassFile High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Methods

rnf :: ClassFile High -> () #

NFData (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Methods

rnf :: ClassFile Low -> () #

type Rep (ClassFile High) Source # 
Instance details

Defined in Language.JVM.ClassFile

type Rep (ClassFile High) = D1 ('MetaData "ClassFile" "Language.JVM.ClassFile" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "ClassFile" 'PrefixI 'True) (((S1 ('MetaSel ('Just "cMagicNumber") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "cMinorVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "cMajorVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: (S1 ('MetaSel ('Just "cConstantPool") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Choice (ConstantPool High) () High)) :*: S1 ('MetaSel ('Just "cAccessFlags'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BitSet16 CAccessFlag))))) :*: ((S1 ('MetaSel ('Just "cThisClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Ref ClassName High)) :*: (S1 ('MetaSel ('Just "cSuperClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Ref ClassName High)) :*: S1 ('MetaSel ('Just "cInterfaces") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Ref ClassName High))))) :*: (S1 ('MetaSel ('Just "cFields'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Field High))) :*: (S1 ('MetaSel ('Just "cMethods'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Method High))) :*: S1 ('MetaSel ('Just "cAttributes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Attributes ClassAttributes High)))))))
type Rep (ClassFile Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

type Rep (ClassFile Low) = D1 ('MetaData "ClassFile" "Language.JVM.ClassFile" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "ClassFile" 'PrefixI 'True) (((S1 ('MetaSel ('Just "cMagicNumber") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "cMinorVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "cMajorVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: (S1 ('MetaSel ('Just "cConstantPool") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Choice (ConstantPool Low) () Low)) :*: S1 ('MetaSel ('Just "cAccessFlags'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BitSet16 CAccessFlag))))) :*: ((S1 ('MetaSel ('Just "cThisClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Ref ClassName Low)) :*: (S1 ('MetaSel ('Just "cSuperClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Ref ClassName Low)) :*: S1 ('MetaSel ('Just "cInterfaces") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Ref ClassName Low))))) :*: (S1 ('MetaSel ('Just "cFields'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Field Low))) :*: (S1 ('MetaSel ('Just "cMethods'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SizedList16 (Method Low))) :*: S1 ('MetaSel ('Just "cAttributes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Attributes ClassAttributes Low)))))))

cAccessFlags :: ClassFile r -> Set CAccessFlag Source #

Get the set of access flags

cFields :: ClassFile r -> [Field r] Source #

Get a list of Fields of a ClassFile.

cMethods :: ClassFile r -> [Method r] Source #

Get a list of Methods of a ClassFile.

Attributes

data ClassAttributes r Source #

Instances

Instances details
Eq (ClassAttributes High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Eq (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Ord (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Show (ClassAttributes High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Show (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Generic (ClassAttributes High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Associated Types

type Rep (ClassAttributes High) :: Type -> Type #

Generic (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Associated Types

type Rep (ClassAttributes Low) :: Type -> Type #

NFData (ClassAttributes High) Source # 
Instance details

Defined in Language.JVM.ClassFile

Methods

rnf :: ClassAttributes High -> () #

NFData (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile

Methods

rnf :: ClassAttributes Low -> () #

type Rep (ClassAttributes High) Source # 
Instance details

Defined in Language.JVM.ClassFile

type Rep (ClassAttributes Low) Source # 
Instance details

Defined in Language.JVM.ClassFile