Uses of Package
jellyj.classfile.classgen

Packages that use jellyj.classfile.classgen
jellyj.classfile.classgen 
jellyj.syntaxtree 
jellyj.util 

Classes in jellyj.classfile.classgen used by jellyj.classfile.classgen
AALOAD
          AALOAD - Load reference from array Stack ..., arrayref, index -> value
AASTORE
          AASTORE - Store into reference array Stack: ..., arrayref, index, value -> ...
ACONST_NULL
          ACONST_NULL - Push null Stack: ...
ALOAD
          ALOAD - Load reference from local variable Stack ...
ANEWARRAY
          ANEWARRAY - Create new array of references Stack: ..., count -> ..., arrayref
ARETURN
          ARETURN - Return reference from method Stack: ..., objectref ->
ARRAYLENGTH
          ARRAYLENGTH - Get length of array Stack: ..., arrayref -> ..., length
ASTORE
          ASTORE - Store reference into local variable Stack ..., objectref -> ...
ATHROW
          ATHROW - Throw exception Stack: ..., objectref -> objectref
BALOAD
          BALOAD - Load byte or boolean from array Stack: ..., arrayref, index -> ..., value
BASTORE
          BASTORE - Store into byte or boolean array Stack: ..., arrayref, index, value -> ...
BIPUSH
          BIPUSH - Push byte Stack: ...
BranchHandle
          BranchHandle is returned by specialized InstructionList.append() whenever a BranchInstruction is appended.
BranchInstruction
          Abstract super class for branching instructions like GOTO, IFEQ, etc..
CALOAD
          CALOAD - Load char from array Stack: ..., arrayref, index -> ..., value
CASTORE
          CASTORE - Store into char array Stack: ..., arrayref, index, value -> ...
CHECKCAST
          CHECKCAST - Check whether object is of given type Stack: ..., objectref -> ..., objectref
ClassGen
          Template class for building up a java class.
ClassGenType
          Represents a basic or reference type (int, short, ..., objectref, arrayref)
CodeConstraint
          Code patterns found with the FindPattern class may receive an additional CodeConstraint argument that checks the found piece of code for user-defined constraints.
CompoundInstruction
          Wrapper class for `compound' operations, virtual instructions that don't exist as byte code, but give a useful meaning.
CPInstruction
          Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc.
D2F
          D2F - Convert double to float Stack: ..., value.word1, value.word2 -> ..., result
D2I
          D2I - Convert double to int Stack: ..., value.word1, value.word2 -> ..., result
D2L
          D2L - Convert double to long Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
DADD
          DADD - Add doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result1.word2
DALOAD
          DALOAD - Load double from array Stack: ..., arrayref, index -> ..., result.word1, result.word2
DASTORE
          DASTORE - Store into double array Stack: ..., arrayref, index, value.word1, value.word2 -> ...
DCMPG
          DCMPG - Compare doubles: value1 > value2 Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result
DCMPL
          DCMPL - Compare doubles: value1 < value2 Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result
DCONST
          DCONST - Push 0.0 or 1.0, other values cause an exception Stack: ...
DDIV
          DDIV - Divide doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
DLOAD
          DLOAD - Load double from local variable Stack ...
DMUL
          DMUL - Multiply doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
DNEG
          DNEG - Negate double Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
DREM
          DREM - Remainder of doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
DRETURN
          DRETURN - Return double from method Stack: ..., value.word1, value.word2 ->
DSTORE
          DSTORE - Store double into local variable Stack ..., value.word1, value.word2 -> ...
DSUB
          DSUB - Substract doubles Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
DUP
          DUP - Duplicate top operand stack word Stack: ..., word -> ..., word, word
DUP_X1
          DUP_X1 - Duplicate top operand stack word and put two down Stack: ..., word2, word1 -> ..., word1, word2, word1
DUP_X2
          DUP_X2 - Duplicate top operand stack word and put three down Stack: ..., word3, word2, word1 -> ..., word1, word3, word2, word1
DUP2
          DUP2 - Duplicate two top operand stack words Stack: ..., word2, word1 -> ..., word2, word1, word2, word1
DUP2_X1
          DUP2_X1 - Duplicate two top operand stack words and put three down Stack: ..., word3, word2, word1 -> ..., word2, word1, word3, word2, word1
DUP2_X2
          DUP2_X2 - Duplicate two top operand stack words and put four down Stack: ..., word4, word3, word2, word1 -> ..., word2, word1, word4, word3, word2, word1
F2D
          F2D - Convert float to double Stack: ..., value -> ..., result.word1, result.word2
F2I
          F2I - Convert float to int Stack: ..., value -> ..., result
F2L
          F2L - Convert float to long Stack: ..., value -> ..., result.word1, result.word2
FADD
          FADD - Add floats Stack: ..., value1, value2 -> result
FALOAD
          FALOAD - Load float from array Stack: ..., arrayref, index -> ..., value
FASTORE
          FASTORE - Store into float array Stack: ..., arrayref, index, value -> ...
FCMPG
          FCMPG - Compare floats: value1 > value2 Stack: ..., value1, value2 -> ..., result
FCMPL
          FCMPL - Compare floats: value1 < value2 Stack: ..., value1, value2 -> ..., result
FCONST
          FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception Stack: ...
FDIV
          FDIV - Divide floats Stack: ..., value1, value2 -> result
FLOAD
          FLOAD - Load float from local variable Stack ...
FMUL
          FMUL - Multiply floats Stack: ..., value1, value2 -> result
FNEG
          FNEG - Negate float Stack: ..., value -> ..., result
FREM
          FREM - Remainder of floats Stack: ..., value1, value2 -> result
FRETURN
          FRETURN - Return float from method Stack: ..., value ->
FSTORE
          FSTORE - Store float into local variable Stack ..., value -> ...
FSUB
          FSUB - Substract floats Stack: ..., value1, value2 -> result
GETFIELD
          GETFIELD - Fetch field from object Stack: ..., objectref -> ..., value OR Stack: ..., objectref -> ..., value.word1, value.word2
GETSTATIC
          GETSTATIC - Fetch static field from class Stack: ..., -> ..., value OR Stack: ..., -> ..., value.word1, value.word2
GOTO
          GOTO - Branch always (offset, not address)
GOTO_W
          GOTO_W - Branch always (offset, not address)
I2B
          I2B - Convert int to byte Stack: ..., value -> ..., result
I2C
          I2C - Convert int to char Stack: ..., value -> ..., result
I2D
          I2D - Convert int to double Stack: ..., value -> ..., result.word1, result.word2
I2F
          I2F - Convert int to float Stack: ..., value -> ..., result
I2L
          I2L - Convert int to long Stack: ..., value -> ..., result.word1, result.word2
I2S
          I2S - Convert int to short Stack: ..., value -> ..., result
IADD
          IADD - Add ints Stack: ..., value1, value2 -> result
IALOAD
          IALOAD - Load int from array Stack: ..., arrayref, index -> ..., value
IAND
          IAND - Bitwise AND int Stack: ..., value1, value2 -> ..., result
IASTORE
          IASTORE - Store into int array Stack: ..., arrayref, index, value -> ...
ICONST
          ICONST - Push value between -1, ..., 5, other values cause an exception Stack: ...
IDIV
          IDIV - Divide ints Stack: ..., value1, value2 -> result
IF_ACMPEQ
          IF_ACMPEQ - Branch if reference comparison succeeds Stack: ..., value1, value2 -> ...
IF_ACMPNE
          IF_ACMPNE - Branch if reference comparison doesn't succeed Stack: ..., value1, value2 -> ...
IF_ICMPEQ
          IF_ICMPEQ - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
IF_ICMPGE
          IF_ICMPGE - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
IF_ICMPGT
          IF_ICMPGT - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
IF_ICMPLE
          IF_ICMPLE - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
IF_ICMPLT
          IF_ICMPLT - Branch if int comparison succeeds Stack: ..., value1, value2 -> ...
IF_ICMPNE
          IF_ICMPNE - Branch if int comparison doesn't succeed Stack: ..., value1, value2 -> ...
IFEQ
          IFEQ - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFGE
          IFGE - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFGT
          IFGT - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFLE
          IFLE - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFLT
          IFLT - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFNE
          IFNE - Branch if int comparison with zero succeeds Stack: ..., value1, value2 -> ...
IFNONNULL
          IFNONNULL - Branch if reference is not null Stack: ..., reference -> ...
IFNULL
          IFNULL - Branch if reference is not null Stack: ..., reference -> ...
IINC
          IINC - Increment local variable by constant
ILOAD
          ILOAD - Load int from local variable Stack ...
IMPDEP1
          IMPDEP1 - Implementation dependent
IMPDEP2
          IMPDEP2 - Implementation dependent
IMUL
          IMUL - Multiply ints Stack: ..., value1, value2 -> result
INEG
          INEG - Negate int Stack: ..., value -> ..., result
INSTANCEOF
          INSTANCEOF - Determine if object is of given type Stack: ..., objectref -> ..., result
Instruction
          This abstract class is the super class for all java byte codes.
InstructionHandle
          Instances of this class give users a handle to the instructions contained in an InstructionList.
InstructionList
          This class is a container for a list of `Instruction's, instructions can be appended, inserted, deleted, etc..
INVOKEINTERFACE
          INVOKEINTERFACE - Invoke interface method Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
INVOKESPECIAL
          INVOKESPECIAL - Invoke instance method; special handling for superclass, private and instance initialization method invocations Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
INVOKESTATIC
          INVOKESTATIC - Invoke a class (static) method Stack: ..., [arg1, [arg2 ...]] -> ...
INVOKEVIRTUAL
          INVOKEVIRTUAL - Invoke instance method; dispatch based on class Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
IOR
          IOR - Bitwise OR int Stack: ..., value1, value2 -> ..., result
IREM
          IREM - Remainder of int Stack: ..., value1, value2 -> result
IRETURN
          IRETURN - Return int from method Stack: ..., value ->
ISHL
          ISHL - Arithmetic shift left int Stack: ..., value1, value2 -> ..., result
ISHR
          ISHR - Arithmetic shift right int Stack: ..., value1, value2 -> ..., result
ISTORE
          ISTORE - Store int into local variable Stack ..., value -> ...
ISUB
          ISUB - Substract ints Stack: ..., value1, value2 -> result
IUSHR
          IUSHR - Logical shift right int Stack: ..., value1, value2 -> ..., result
IXOR
          IXOR - Bitwise XOR int Stack: ..., value1, value2 -> ..., result
JSR
          JSR - Jump to subroutine
JSR_W
          JSR_W - Jump to subroutine
L2D
          L2D - Convert long to double Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
L2F
          L2F - Convert long to float Stack: ..., value.word1, value.word2 -> ..., result
L2I
          L2I - Convert long to int Stack: ..., value.word1, value.word2 -> ..., result
LADD
          LADD - Add longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
LALOAD
          LALOAD - Load long from array Stack: ..., arrayref, index -> ..., value1, value2
LAND
          LAND - Bitwise AND longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
LASTORE
          LASTORE - Store into long array Stack: ..., arrayref, index, value.word1, value.word2 -> ...
LCMP
          LCMP - Compare longs: Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result <= -1, 0, 1>
LCONST
          LCONST - Push 0 or 1, other values cause an exception Stack: ...
LDC
          LDC - Push item from constant pool Stack: ...
LDC_W
          LDC_W - Push item from constant pool (wide index) Stack: ...
LDC2_W
          LDC2_W - Push long or double from constant pool Stack: ...
LDIV
          LDIV - Divide longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
LLOAD
          LLOAD - Load long from local variable Stack ...
LMUL
          LMUL - Multiply longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
LNEG
          LNEG - Negate long Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
LocalVariableGen
          This class represents a local variable within a method.
LocalVariableInstruction
          Abstract super class for instructions dealing with local variables.
LOOKUPSWITCH
          LOOKUPSWITCH - Switch with unordered set of values
LOR
          LOR - Bitwise OR long Stack: ..., value1, value2 -> ..., result
LREM
          LREM - Remainder of long Stack: ..., value1, value2 -> result
LRETURN
          LRETURN - Return long from method Stack: ..., value.word1, value.word2 ->
LSHL
          LSHL - Arithmetic shift left long Stack: ..., value1, value2 -> ..., result
LSHR
          LSHR - Arithmetic shift right long Stack: ..., value1, value2 -> ..., result
LSTORE
          LSTORE - Store long into local variable Stack ..., value.word1, value.word2 -> ...
LSUB
          LSUB - Substract longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2
LUSHR
          LUSHR - Logical shift right long Stack: ..., value1, value2 -> ..., result
LXOR
          LXOR - Bitwise XOR long Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result
MethodGen
          Template class for building up a method.
MONITORENTER
          MONITORENTER - Enter monitor for object Stack: ..., objectref -> ...
MONITOREXIT
          MONITOREXIT - Exit monitor for object Stack: ..., objectref -> ...
MULTIANEWARRAY
          MULTIANEWARRAY - Create new mutidimensional array of references Stack: ..., count1, [count2, ...] -> ..., arrayref
NEW
          NEW - Create new object Stack: ...
NEWARRAY
          NEWARRAY - Create new array of basic type (int, short, ...) Stack: ..., type -> ..., arrayref type mus be one of T_INT, T_SHORT, ...
NOP
          NOP - Do nothing
POP
          POP - Pop top operand stack word Stack: ..., word -> ...
POP2
          POP2 - Pop two top operand stack words Stack: ..., word2, word1 -> ...
PUSH
          Wrapper class for push operations, which are implemented either as BIPUSH, LDC or xCONST_n instructions.
PUTFIELD
          PUTFIELD - Put field in object Stack: ..., objectref, value -> ...
PUTSTATIC
          PUTSTATIC - Put static field in class Stack: ..., objectref, value -> ...
RET
          RET - Return from subroutine Stack: ..., -> ..., address
RETURN
          RETURN - Return from void method Stack: ...
SALOAD
          SALOAD - Load short from array Stack: ..., arrayref, index -> ..., value
SASTORE
          SASTORE - Store into short array Stack: ..., arrayref, index, value -> ...
Select
          Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.
SIPUSH
          SIPUSH - Push short Stack: ...
SWAP
          SWAP - Swa top operand stack word Stack: ..., word2, word1 -> ..., word1, word2
SWITCH
          SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or TABLESWITCH instruction, depending on whether the match values (int[]) can be sorted with no gaps between the numbers.
TABLESWITCH
          TABLESWITCH - Switch within given range of values, i.e.
 

Classes in jellyj.classfile.classgen used by jellyj.syntaxtree
AdditiveExpNode
          
AllocationExpNode
          
AndExpNode
          
ArrayExpNode
          
AssignmentNode
          
BlockNode
          
BooleanLiteral
          
BreakStatementNode
          
CastExpNode
          
CharacterLiteral
          
ClassBodyDeclarationNode
          
ConditionalAndExpNode
          
ConditionalExpNode
          
ConditionalOrExpNode
          
ConstructorDeclarationNode
          
ConstructorInvocationNode
          
ContinueStatementNode
          
DoStatementNode
          
DoubleLiteral
          
EmptyStatementNode
          
EqualityExpNode
          
ExclusiveOrExpNode
          
ExpressionNode
          
FieldDeclarationNode
          
FieldExpNode
          
FloatLiteral
          
ForStatementNode
          
IfStatementNode
          
InclusiveOrExpNode
          
InstanceOfExpNode
          
IntegerLiteral
          
LabeledStatementNode
          
Literal
          
LocalVarDeclarationNode
          
LongLiteral
          
MethodDeclarationNode
          
MethodExpNode
          
MultiplicativeExpNode
          
NullLiteral
          
PostDecrementExpNode
          
PostIncrementExpNode
          
PreDecrementExpNode
          
PreIncrementExpNode
          
RelationalExpNode
          
ReturnStatementNode
          
ShiftExpNode
          
StatementExpListNode
          
StatementExpNode
          
StatementNode
          
StaticInitializerNode
          
StringLiteral
          
SuperExpNode
          
SwitchStatementNode
          
ThisExpNode
          
ThrowStatementNode
          
TryStatementNode
          
TypeExpNode
          
UnaryMinusExpNode
          
UnaryNotExpNode
          
UnaryPlusExpNode
          
VariableExpNode
          
WhileStatementNode
          
 

Classes in jellyj.classfile.classgen used by jellyj.util
ArrayType
          
BooleanType
          
ByteType
          
CharType
          
ClassType
          
DoubleType
          
FloatType
          
IntegralType
          
IntType
          
LongType
          
MethodType
          
NullType
          
PrimitiveType
          
ReferenceType
          
ShortType
          
Type
          
VoidType