| Copyright | (c) Christian Gram Kalhauge 2018 |
|---|---|
| License | MIT |
| Maintainer | kalhuage@cs.ucla.edu |
| Safe Haskell | None |
| Language | Haskell2010 |
Language.JVM.Attribute.Code
Description
- data Code r = Code {
- codeMaxStack :: !Word16
- codeMaxLocals :: !Word16
- codeByteCode :: !(ByteCode r)
- codeExceptionTable :: !(SizedList16 (ExceptionTable r))
- codeAttributes :: !(Attributes CodeAttributes r)
- data CodeAttributes r = CodeAttributes {
- caStackMapTable :: [StackMapTable r]
- caLineNumberTable :: [LineNumberTable r]
- caOthers :: [Attribute r]
- data ExceptionTable r = ExceptionTable {
- start :: !(ByteCodeRef r)
- end :: !(ByteCodeRef r)
- handler :: !(ByteCodeRef r)
- catchType :: !(Ref (Maybe ClassName) r)
- codeStackMapTable :: Code High -> Maybe (StackMapTable High)
- codeByteCodeOprs :: Code High -> Vector (ByteCodeOpr High)
- codeByteCodeInsts :: Code Low -> Vector (ByteCodeInst Low)
Documentation
Code contains the actual byte-code. The i type parameter is added to
allow indicate the two stages of the code file, before and after access to
the ConstantPool. i should be either Ref or Deref.
Constructors
| Code | |
Fields
| |
Instances
| Staged Code Source # | |
| Eq (Code High) Source # | |
| Eq (Code Low) Source # | |
| Ord (Code Low) Source # | |
| Show (Code High) Source # | |
| Show (Code Low) Source # | |
| Generic (Code High) Source # | |
| Generic (Code Low) Source # | |
| Binary (Code Low) Source # | |
| NFData (Code High) Source # | |
| NFData (Code Low) Source # | |
| IsAttribute (Code Low) Source # |
|
| type Rep (Code High) Source # | |
| type Rep (Code Low) Source # | |
data CodeAttributes r Source #
Constructors
| CodeAttributes | |
Fields
| |
Instances
| Eq (CodeAttributes High) Source # | |
| Eq (CodeAttributes Low) Source # | |
| Ord (CodeAttributes Low) Source # | |
| Show (CodeAttributes High) Source # | |
| Show (CodeAttributes Low) Source # | |
| Generic (CodeAttributes High) Source # | |
| Generic (CodeAttributes Low) Source # | |
| NFData (CodeAttributes High) Source # | |
| NFData (CodeAttributes Low) Source # | |
| type Rep (CodeAttributes High) Source # | |
| type Rep (CodeAttributes Low) Source # | |
data ExceptionTable r Source #
Constructors
| ExceptionTable | |
Fields
| |
Instances
| ByteCodeStaged ExceptionTable Source # | |
| Eq (ExceptionTable High) Source # | |
| Eq (ExceptionTable Low) Source # | |
| Ord (ExceptionTable Low) Source # | |
| Show (ExceptionTable High) Source # | |
| Show (ExceptionTable Low) Source # | |
| Generic (ExceptionTable High) Source # | |
| Generic (ExceptionTable Low) Source # | |
| Binary (ExceptionTable Low) Source # | |
| NFData (ExceptionTable High) Source # | |
| NFData (ExceptionTable Low) Source # | |
| type Rep (ExceptionTable High) Source # | |
| type Rep (ExceptionTable Low) Source # | |
codeStackMapTable :: Code High -> Maybe (StackMapTable High) Source #
Returns the StackMapTable attribute if any
codeByteCodeOprs :: Code High -> Vector (ByteCodeOpr High) Source #
Extracts a list of bytecode operation
codeByteCodeInsts :: Code Low -> Vector (ByteCodeInst Low) Source #
Extracts a list of bytecode instructions