Copyright | (c) Christian Gram Kalhauge 2018 |
---|---|
License | MIT |
Maintainer | kalhuage@cs.ucla.edu |
Safe Haskell | None |
Language | Haskell2010 |
- 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
.
Code | |
|
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 #
CodeAttributes | |
|
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 #
ExceptionTable | |
|
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