module JClassLow:sig
..end
Low level representation of a Java class file.
type
opcode =
| |
OpNop |
|||
| |
OpAConstNull |
|||
| |
OpIConst of |
|||
| |
OpLConst of |
|||
| |
OpFConst of |
|||
| |
OpDConst of |
|||
| |
OpBIPush of |
|||
| |
OpSIPush of |
|||
| |
OpLdc1 of |
|||
| |
OpLdc1w of |
|||
| |
OpLdc2w of |
|||
| |
OpLoad of |
|||
| |
OpALoad of |
|||
| |
OpArrayLoad of |
|||
| |
OpAALoad |
|||
| |
OpBALoad |
|||
| |
OpCALoad |
|||
| |
OpSALoad |
|||
| |
OpStore of |
|||
| |
OpAStore of |
|||
| |
OpArrayStore of |
|||
| |
OpAAStore |
|||
| |
OpBAStore |
|||
| |
OpCAStore |
|||
| |
OpSAStore |
|||
| |
OpPop |
|||
| |
OpPop2 |
|||
| |
OpDup |
|||
| |
OpDupX1 |
|||
| |
OpDupX2 |
|||
| |
OpDup2 |
|||
| |
OpDup2X1 |
|||
| |
OpDup2X2 |
|||
| |
OpSwap |
|||
| |
OpAdd of |
|||
| |
OpSub of |
|||
| |
OpMult of |
|||
| |
OpDiv of |
|||
| |
OpRem of |
|||
| |
OpNeg of |
|||
| |
OpIShl |
|||
| |
OpLShl |
|||
| |
OpIShr |
|||
| |
OpLShr |
|||
| |
OpIUShr |
|||
| |
OpLUShr |
|||
| |
OpIAnd |
|||
| |
OpLAnd |
|||
| |
OpIOr |
|||
| |
OpLOr |
|||
| |
OpIXor |
|||
| |
OpLXor |
|||
| |
OpIInc of |
(* | index, increment | *) |
| |
OpI2L |
|||
| |
OpI2F |
|||
| |
OpI2D |
|||
| |
OpL2I |
|||
| |
OpL2F |
|||
| |
OpL2D |
|||
| |
OpF2I |
|||
| |
OpF2L |
|||
| |
OpF2D |
|||
| |
OpD2I |
|||
| |
OpD2L |
|||
| |
OpD2F |
|||
| |
OpI2B |
|||
| |
OpI2C |
|||
| |
OpI2S |
|||
| |
OpLCmp |
|||
| |
OpFCmpL |
|||
| |
OpFCmpG |
|||
| |
OpDCmpL |
|||
| |
OpDCmpG |
|||
| |
OpIfEq of |
|||
| |
OpIfNe of |
|||
| |
OpIfLt of |
|||
| |
OpIfGe of |
|||
| |
OpIfGt of |
|||
| |
OpIfLe of |
|||
| |
OpICmpEq of |
|||
| |
OpICmpNe of |
|||
| |
OpICmpLt of |
|||
| |
OpICmpGe of |
|||
| |
OpICmpGt of |
|||
| |
OpICmpLe of |
|||
| |
OpACmpEq of |
|||
| |
OpACmpNe of |
|||
| |
OpGoto of |
|||
| |
OpJsr of |
|||
| |
OpRet of |
|||
| |
OpTableSwitch of |
|||
| |
OpLookupSwitch of |
|||
| |
OpReturn of |
|||
| |
OpAReturn |
|||
| |
OpReturnVoid |
|||
| |
OpGetStatic of |
|||
| |
OpPutStatic of |
|||
| |
OpGetField of |
|||
| |
OpPutField of |
|||
| |
OpInvokeVirtual of |
|||
| |
OpInvokeNonVirtual of |
|||
| |
OpInvokeStatic of |
|||
| |
OpInvokeInterface of |
(* | count | *) |
| |
OpInvokeDynamic of |
|||
| |
OpNew of |
|||
| |
OpNewArray of |
|||
| |
OpANewArray of |
|||
| |
OpArrayLength |
|||
| |
OpThrow |
|||
| |
OpCheckCast of |
|||
| |
OpInstanceOf of |
|||
| |
OpMonitorEnter |
|||
| |
OpMonitorExit |
|||
| |
OpAMultiNewArray of |
(* | ClassInfo, dims | *) |
| |
OpIfNull of |
|||
| |
OpIfNonNull of |
|||
| |
OpGotoW of |
|||
| |
OpJsrW of |
|||
| |
OpBreakpoint |
|||
| |
OpInvalid |
Instruction.
typeopcodes =
opcode array
typecommon_flag =
[ `AccFinal | `AccPublic | `AccRFU of int | `AccSynthetic ]
typeinner_flag =
[ `AccAbstract
| `AccAnnotation
| `AccEnum
| `AccFinal
| `AccInterface
| `AccPrivate
| `AccProtected
| `AccPublic
| `AccRFU of int
| `AccStatic
| `AccSynthetic ]
typefield_flag =
[ `AccEnum
| `AccFinal
| `AccPrivate
| `AccProtected
| `AccPublic
| `AccRFU of int
| `AccStatic
| `AccSynthetic
| `AccTransient
| `AccVolatile ]
typemethod_flag =
[ `AccAbstract
| `AccBridge
| `AccFinal
| `AccNative
| `AccPrivate
| `AccProtected
| `AccPublic
| `AccRFU of int
| `AccStatic
| `AccStrict
| `AccSynchronized
| `AccSynthetic
| `AccVarArgs ]
typeclass_flag =
[ `AccAbstract
| `AccAnnotation
| `AccEnum
| `AccFinal
| `AccInterface
| `AccModule
| `AccPublic
| `AccRFU of int
| `AccSuper
| `AccSynthetic ]
typeaccess_flag =
[ `AccAbstract
| `AccAnnotation
| `AccBridge
| `AccEnum
| `AccFinal
| `AccInterface
| `AccModule
| `AccNative
| `AccPrivate
| `AccProtected
| `AccPublic
| `AccRFU of int
| `AccStatic
| `AccStrict
| `AccSuper
| `AccSynchronized
| `AccSynthetic
| `AccTransient
| `AccVarArgs
| `AccVolatile ]
typemp_flags =
[ `AccFinal | `AccMandated | `AccRFU of int | `AccSynthetic ]
type
method_parameters = {
|
name : |
|
flags : |
type
code = {
|
c_max_stack : |
|
c_max_locals : |
|
c_code : |
|
c_exc_tbl : |
|
c_attributes : |
type
attribute =
| |
AttributeSourceFile of |
|||
| |
AttributeConstant of |
|||
| |
AttributeCode of |
|||
| |
AttributeExceptions of |
|||
| |
AttributeInnerClasses of |
(* | inner_class_info, outer_class_info, inner_name, inner_class_access_flags | *) |
| |
AttributeSynthetic |
|||
| |
AttributeLineNumberTable of |
|||
| |
AttributeLocalVariableTable of |
(* | start_pc, length, name, type, index | *) |
| |
AttributeLocalVariableTypeTable of |
(* | (start_pc, length, name, type, index), LocalVariableTable for generics, described in the JVM Spec 1.5, ยง4.8.13 | *) |
| |
AttributeDeprecated |
|||
| |
AttributeSignature of |
(* | Introduced in Java 5 for generics (JVMS). | *) |
| |
AttributeEnclosingMethod of |
(* | Introduced in Java 5 for local classes (classes defined in a method body) (JVMS). | *) |
| |
AttributeSourceDebugExtension of |
(* | Introduced in Java 5 for debugging purpose (no semantics defined) (JVMS). | *) |
| |
AttributeStackMapTable of |
(* | DFr : Addition for 1.6 stackmap. | *) |
| |
AttributeRuntimeVisibleAnnotations of |
|||
| |
AttributeRuntimeInvisibleAnnotations of |
|||
| |
AttributeRuntimeVisibleParameterAnnotations of |
|||
| |
AttributeRuntimeInvisibleParameterAnnotations of |
|||
| |
AttributeAnnotationDefault of |
|||
| |
AttributeBootstrapMethods of |
|||
| |
AttributeMethodParameters of |
|||
| |
AttributeUnknown of |
type
jfield = {
|
f_name : |
|
f_descriptor : |
|
f_flags : |
|
f_attributes : |
type
jmethod = {
|
m_name : |
|
m_descriptor : |
|
m_flags : |
|
m_attributes : |
type
jclass = {
|
j_name : |
|
j_super : |
|
j_interfaces : |
|
j_consts : |
|
j_flags : |
|
j_fields : |
|
j_methods : |
|
j_attributes : |
|
j_bootstrap_table : |
|
j_version : |