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.InstructionFactoryInstruction 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.InvokeInstructioncreateCallInit(String name, String signature)Create invoke initializer instruction from signature.org.apache.bcel.generic.InvokeInstructioncreateCallInterface(String method, String signature)Create invoke interface method instruction from signature.org.apache.bcel.generic.InvokeInstructioncreateCallInterface(ClassItem item)Create invoke instruction for interface method.org.apache.bcel.generic.InvokeInstructioncreateCallStatic(String method, String signature)Create invoke static method instruction from signature.org.apache.bcel.generic.InvokeInstructioncreateCallStatic(ClassItem item)Create invoke instruction for static method.org.apache.bcel.generic.InvokeInstructioncreateCallVirtual(String method, String signature)Create invoke virtual method instruction from signature.org.apache.bcel.generic.InvokeInstructioncreateCallVirtual(ClassItem item)Create invoke instruction for virtual method.org.apache.bcel.generic.FieldInstructioncreateGetField(ClassItem item)Create getfield instruction.org.apache.bcel.generic.FieldInstructioncreateGetStatic(ClassItem item)Create getstatic instruction.org.apache.bcel.generic.CompoundInstructioncreateLoadConstant(int value)Create load constant instruction.org.apache.bcel.generic.CompoundInstructioncreateLoadConstant(Object value)Create load constant instruction.org.apache.bcel.generic.CompoundInstructioncreateLoadConstant(String value)Create load constant instruction.org.apache.bcel.generic.FieldInstructioncreatePutField(ClassItem item)Create putfield instruction.org.apache.bcel.generic.FieldInstructioncreatePutStatic(ClassItem item)Create putstatic instruction.org.apache.bcel.generic.ConstantPoolGengetConstantPoolGen()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 aStringreference 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
-
-