Package org.jibx.binding.classes
Class InstructionBuilder
- java.lang.Object
-
- org.apache.bcel.generic.InstructionFactory
-
- org.jibx.binding.classes.InstructionBuilder
-
- All Implemented Interfaces:
org.apache.bcel.generic.InstructionConstants
public class InstructionBuilder extends org.apache.bcel.generic.InstructionFactory
Instruction builder. Extends the basic instruction construction tools in BCEL with some convenience methods.- Version:
- 1.0
- Author:
- Dennis M. Sosnoski
-
-
Field Summary
-
Fields inherited from interface org.apache.bcel.generic.InstructionConstants
AALOAD, AASTORE, ACONST_NULL, ALOAD_0, ALOAD_1, ALOAD_2, ARETURN, ARRAYLENGTH, ASTORE_0, ASTORE_1, ASTORE_2, ATHROW, BALOAD, BASTORE, bla, CALOAD, CASTORE, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DMUL, DNEG, DREM, DRETURN, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FMUL, FNEG, FREM, FRETURN, FSUB, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, ILOAD_0, ILOAD_1, ILOAD_2, IMUL, INEG, INSTRUCTIONS, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE_0, ISTORE_1, ISTORE_2, ISUB, IUSHR, IXOR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDIV, LMUL, LNEG, LOR, LREM, LRETURN, LSHL, LSHR, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, NOP, POP, POP2, RETURN, SALOAD, SASTORE, SWAP, THIS
-
-
Constructor Summary
Constructors Constructor Description InstructionBuilder(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cp)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.bcel.generic.InvokeInstruction
createCallInit(String name, String signature)
Create invoke initializer instruction from signature.org.apache.bcel.generic.InvokeInstruction
createCallInterface(String method, String signature)
Create invoke interface method instruction from signature.org.apache.bcel.generic.InvokeInstruction
createCallInterface(ClassItem item)
Create invoke instruction for interface method.org.apache.bcel.generic.InvokeInstruction
createCallStatic(String method, String signature)
Create invoke static method instruction from signature.org.apache.bcel.generic.InvokeInstruction
createCallStatic(ClassItem item)
Create invoke instruction for static method.org.apache.bcel.generic.InvokeInstruction
createCallVirtual(String method, String signature)
Create invoke virtual method instruction from signature.org.apache.bcel.generic.InvokeInstruction
createCallVirtual(ClassItem item)
Create invoke instruction for virtual method.org.apache.bcel.generic.FieldInstruction
createGetField(ClassItem item)
Create getfield instruction.org.apache.bcel.generic.FieldInstruction
createGetStatic(ClassItem item)
Create getstatic instruction.org.apache.bcel.generic.CompoundInstruction
createLoadConstant(int value)
Create load constant instruction.org.apache.bcel.generic.CompoundInstruction
createLoadConstant(Object value)
Create load constant instruction.org.apache.bcel.generic.CompoundInstruction
createLoadConstant(String value)
Create load constant instruction.org.apache.bcel.generic.FieldInstruction
createPutField(ClassItem item)
Create putfield instruction.org.apache.bcel.generic.FieldInstruction
createPutStatic(ClassItem item)
Create putstatic instruction.org.apache.bcel.generic.ConstantPoolGen
getConstantPoolGen()
Get constant pool generator.-
Methods inherited from class org.apache.bcel.generic.InstructionFactory
createAppend, createArrayLoad, createArrayStore, createBinaryOperation, createBranchInstruction, createCast, createCheckCast, createConstant, createDup, createDup_1, createDup_2, createFieldAccess, createGetField, createGetStatic, createInstanceOf, createInvoke, createInvoke, createLoad, createNew, createNew, createNewArray, createNull, createPop, createPrintln, createPutField, createPutStatic, createReturn, createStore, createThis, getClassGen, getConstantPool, setClassGen, setConstantPool
-
-
-
-
Method Detail
-
getConstantPoolGen
public org.apache.bcel.generic.ConstantPoolGen getConstantPoolGen()
Get constant pool generator.- Returns:
- constant pool generator for class
-
createLoadConstant
public org.apache.bcel.generic.CompoundInstruction createLoadConstant(int value)
Create load constant instruction. Builds the most appropriate type of instruction for the value.- Parameters:
value
- constant value to be loaded- Returns:
- generated instruction information
-
createLoadConstant
public org.apache.bcel.generic.CompoundInstruction createLoadConstant(String value)
Create load constant instruction. Loads aString
reference from the constant pool.- Parameters:
value
- constant value to be loaded- Returns:
- generated instruction information
-
createLoadConstant
public org.apache.bcel.generic.CompoundInstruction createLoadConstant(Object value)
Create load constant instruction. Loads an unwrapped primitive value or String from the constant pool.- Parameters:
value
- constant value to be loaded- Returns:
- generated instruction information
-
createGetField
public org.apache.bcel.generic.FieldInstruction createGetField(ClassItem item)
Create getfield instruction. Uses the field information to generate the instruction.- Parameters:
item
- information for field to be set- Returns:
- generated instruction information
-
createPutField
public org.apache.bcel.generic.FieldInstruction createPutField(ClassItem item)
Create putfield instruction. Uses the field information to generate the instruction.- Parameters:
item
- information for field to be set- Returns:
- generated instruction information
-
createGetStatic
public org.apache.bcel.generic.FieldInstruction createGetStatic(ClassItem item)
Create getstatic instruction. Uses the field information to generate the instruction.- Parameters:
item
- information for field to be set- Returns:
- generated instruction information
-
createPutStatic
public org.apache.bcel.generic.FieldInstruction createPutStatic(ClassItem item)
Create putstatic instruction. Uses the field information to generate the instruction.- Parameters:
item
- information for field to be set- Returns:
- generated instruction information
-
createCallStatic
public org.apache.bcel.generic.InvokeInstruction createCallStatic(ClassItem item)
Create invoke instruction for static method. Uses the method information to generate the instruction.- Parameters:
item
- information for method to be called- Returns:
- generated instruction information
-
createCallVirtual
public org.apache.bcel.generic.InvokeInstruction createCallVirtual(ClassItem item)
Create invoke instruction for virtual method. Uses the method information to generate the instruction.- Parameters:
item
- information for method to be called- Returns:
- generated instruction information
-
createCallInterface
public org.apache.bcel.generic.InvokeInstruction createCallInterface(ClassItem item)
Create invoke instruction for interface method. Uses the method information to generate the instruction.- Parameters:
item
- information for method to be called- Returns:
- generated instruction information
-
createCallStatic
public org.apache.bcel.generic.InvokeInstruction createCallStatic(String method, String signature)
Create invoke static method instruction from signature.- Parameters:
method
- fully qualified class and method namesignature
- method signature in standard form- Returns:
- generated instruction information
-
createCallVirtual
public org.apache.bcel.generic.InvokeInstruction createCallVirtual(String method, String signature)
Create invoke virtual method instruction from signature.- Parameters:
method
- fully qualified class and method namesignature
- method signature in standard form- Returns:
- generated instruction information
-
createCallInterface
public org.apache.bcel.generic.InvokeInstruction createCallInterface(String method, String signature)
Create invoke interface method instruction from signature.- Parameters:
method
- fully qualified interface and method namesignature
- method signature in standard form- Returns:
- generated instruction information
-
-