Copyright | (c) Christian Gram Kalhauge 2018 |
---|---|
License | MIT |
Maintainer | kalhuage@cs.ucla.edu |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data Code r = Code {
- codeMaxStack :: !Word16
- codeMaxLocals :: !Word16
- codeByteCode :: !(ByteCode r)
- codeExceptionTable :: !(SizedList16 (ExceptionTable r))
- codeAttributes :: !(Attributes CodeAttributes r)
- data CodeAttributes r = CodeAttributes {}
- emptyCodeAttributes :: CodeAttributes High
- 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 i -> Vector (ByteCodeInst i)
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 | |
|
Instances
data CodeAttributes r Source #
Instances
data ExceptionTable r Source #
ExceptionTable | |
|
Instances
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 i -> Vector (ByteCodeInst i) Source #
Extracts a list of bytecode instructions