public class ByteCode extends Object
There are two classes of methods. The first ones are for creating objects that directly represent opcodes. These effectively wrap one of the opcode constants. The others do something more clever. For example, make_if emits something that is equivalent to a normal Java if statement.
Generic types are supported using the factory methods that take ParametricType arguments.
Modifier and Type | Field and Description |
---|---|
static byte |
op_aaload |
static byte |
op_aastore |
static byte |
op_aconst_null |
static byte |
op_aload |
static byte |
op_aload_0 |
static byte |
op_aload_1 |
static byte |
op_aload_2 |
static byte |
op_aload_3 |
static byte |
op_anewarray |
static byte |
op_anewarray_quick |
static byte |
op_areturn |
static byte |
op_arraylength |
static byte |
op_astore |
static byte |
op_astore_0 |
static byte |
op_astore_1 |
static byte |
op_astore_2 |
static byte |
op_astore_3 |
static byte |
op_athrow |
static byte |
op_baload |
static byte |
op_bastore |
static byte |
op_bipush |
static byte |
op_breakpoint |
static byte |
op_caload |
static byte |
op_castore |
static byte |
op_checkcast |
static byte |
op_checkcast_quick |
static byte |
op_d2f |
static byte |
op_d2i |
static byte |
op_d2l |
static byte |
op_dadd |
static byte |
op_daload |
static byte |
op_dastore |
static byte |
op_dcmpg |
static byte |
op_dcmpl |
static byte |
op_dconst_0 |
static byte |
op_dconst_1 |
static byte |
op_ddiv |
static byte |
op_dload |
static byte |
op_dload_0 |
static byte |
op_dload_1 |
static byte |
op_dload_2 |
static byte |
op_dload_3 |
static byte |
op_dmul |
static byte |
op_dneg |
static byte |
op_drem |
static byte |
op_dreturn |
static byte |
op_dstore |
static byte |
op_dstore_0 |
static byte |
op_dstore_1 |
static byte |
op_dstore_2 |
static byte |
op_dstore_3 |
static byte |
op_dsub |
static byte |
op_dup |
static byte |
op_dup_x1 |
static byte |
op_dup_x2 |
static byte |
op_dup2 |
static byte |
op_dup2_x1 |
static byte |
op_dup2_x2 |
static byte |
op_f2d |
static byte |
op_f2i |
static byte |
op_f2l |
static byte |
op_fadd |
static byte |
op_faload |
static byte |
op_fastore |
static byte |
op_fcmpg |
static byte |
op_fcmpl |
static byte |
op_fconst_0 |
static byte |
op_fconst_1 |
static byte |
op_fconst_2 |
static byte |
op_fdiv |
static byte |
op_fload |
static byte |
op_fload_0 |
static byte |
op_fload_1 |
static byte |
op_fload_2 |
static byte |
op_fload_3 |
static byte |
op_fmul |
static byte |
op_fneg |
static byte |
op_frem |
static byte |
op_freturn |
static byte |
op_fstore |
static byte |
op_fstore_0 |
static byte |
op_fstore_1 |
static byte |
op_fstore_2 |
static byte |
op_fstore_3 |
static byte |
op_fsub |
static byte |
op_getfield |
static byte |
op_getfield_quick |
static byte |
op_getfield_quick_w |
static byte |
op_getfield2_quick |
static byte |
op_getstatic |
static byte |
op_getstatic_quick |
static byte |
op_getstatic2_quick |
static byte |
op_goto |
static byte |
op_goto_w |
static byte |
op_i2b |
static byte |
op_i2c |
static byte |
op_i2d |
static byte |
op_i2f |
static byte |
op_i2l |
static byte |
op_i2s |
static byte |
op_iadd |
static byte |
op_iaload |
static byte |
op_iand |
static byte |
op_iastore |
static byte |
op_iconst_0 |
static byte |
op_iconst_1 |
static byte |
op_iconst_2 |
static byte |
op_iconst_3 |
static byte |
op_iconst_4 |
static byte |
op_iconst_5 |
static byte |
op_iconst_m1 |
static byte |
op_idiv |
static byte |
op_if_acmpeq |
static byte |
op_if_acmpne |
static byte |
op_if_icmpeq |
static byte |
op_if_icmpge |
static byte |
op_if_icmpgt |
static byte |
op_if_icmple |
static byte |
op_if_icmplt |
static byte |
op_if_icmpne |
static byte |
op_ifeq |
static byte |
op_ifge |
static byte |
op_ifgt |
static byte |
op_ifle |
static byte |
op_iflt |
static byte |
op_ifne |
static byte |
op_ifnonnull |
static byte |
op_ifnull |
static byte |
op_iinc |
static byte |
op_iload |
static byte |
op_iload_0 |
static byte |
op_iload_1 |
static byte |
op_iload_2 |
static byte |
op_iload_3 |
static byte |
op_impdep1 |
static byte |
op_impdep2 |
static byte |
op_imul |
static byte |
op_ineg |
static byte |
op_instanceof |
static byte |
op_instanceof_quick |
static byte |
op_invokeinterface |
static byte |
op_invokeinterface_quick |
static byte |
op_invokenonvirtual_quick |
static byte |
op_invokespecial |
static byte |
op_invokestatic |
static byte |
op_invokestatic_quick |
static byte |
op_invokesuper_quick |
static byte |
op_invokevirtual |
static byte |
op_invokevirtual_quick |
static byte |
op_invokevirtual_quick_w |
static byte |
op_invokevirtualobject_quick |
static byte |
op_ior |
static byte |
op_irem |
static byte |
op_ireturn |
static byte |
op_ishl |
static byte |
op_ishr |
static byte |
op_istore |
static byte |
op_istore_0 |
static byte |
op_istore_1 |
static byte |
op_istore_2 |
static byte |
op_istore_3 |
static byte |
op_isub |
static byte |
op_iushr |
static byte |
op_ixor |
static byte |
op_jsr |
static byte |
op_jsr_w |
static byte |
op_l2d |
static byte |
op_l2f |
static byte |
op_l2i |
static byte |
op_ladd |
static byte |
op_laload |
static byte |
op_land |
static byte |
op_lastore |
static byte |
op_lcmp |
static byte |
op_lconst_0 |
static byte |
op_lconst_1 |
static byte |
op_ldc |
static byte |
op_ldc_quick |
static byte |
op_ldc_w |
static byte |
op_ldc_w_quick |
static byte |
op_ldc2_w |
static byte |
op_ldc2_w_quick |
static byte |
op_ldiv |
static byte |
op_lload |
static byte |
op_lload_0 |
static byte |
op_lload_1 |
static byte |
op_lload_2 |
static byte |
op_lload_3 |
static byte |
op_lmul |
static byte |
op_lneg |
static byte |
op_lookupswitch |
static byte |
op_lor |
static byte |
op_lrem |
static byte |
op_lreturn |
static byte |
op_lshl |
static byte |
op_lshr |
static byte |
op_lstore |
static byte |
op_lstore_0 |
static byte |
op_lstore_1 |
static byte |
op_lstore_2 |
static byte |
op_lstore_3 |
static byte |
op_lsub |
static byte |
op_lushr |
static byte |
op_lxor |
static byte |
op_monitorenter |
static byte |
op_monitorexit |
static byte |
op_multianewarray |
static byte |
op_multianewarray_quick |
static byte |
op_new |
static byte |
op_new_quick |
static byte |
op_newarray |
static byte |
op_nop |
static byte |
op_pop |
static byte |
op_pop2 |
static byte |
op_putfield |
static byte |
op_putfield_quick |
static byte |
op_putfield_quick_w |
static byte |
op_putfield2_quick |
static byte |
op_putstatic |
static byte |
op_putstatic_quick |
static byte |
op_putstatic2_quick |
static byte |
op_ret |
static byte |
op_return |
static byte |
op_saload |
static byte |
op_sastore |
static byte |
op_sipush |
static byte |
op_swap |
static byte |
op_tableswitch |
static byte |
op_wide |
Constructor and Description |
---|
ByteCode() |
Modifier and Type | Method and Description |
---|---|
static Instruction |
make_aaload()
Return the Instruction object for the aaload instruction.
|
static Instruction |
make_aastore()
Return the Instruction object for the aastore instruction.
|
static Instruction |
make_aconst_null()
Return the Instruction object for the aconst_null instruction.
|
ParametricCodeGenerator |
make_add(ParametricType type) |
static Instruction |
make_aload(LocalVariable lv) |
ParametricCodeGenerator |
make_and(ParametricType type) |
static Instruction |
make_areturn()
Return the Instruction object for the areturn instruction.
|
static ParametricCodeGenerator |
make_array_load(ParametricType type)
Load an element of a parametric type to an array.
|
static Instruction |
make_arraylength()
Return the Instruction object for the arraylength instruction.
|
static ParametricCodeGenerator |
make_arrayStore(ParametricType type)
Store an element of a parametric type to an array.
|
static Instruction |
make_astore(LocalVariable lv) |
static Instruction |
make_athrow()
Return the Instruction object for the athrow instruction.
|
static Instruction |
make_baload()
Return the Instruction object for the baload instruction.
|
static Instruction |
make_bastore()
Return the Instruction object for the bastore instruction.
|
static Instruction |
make_breakpoint()
Return the Instruction object for the breakpoint instruction.
|
static Instruction |
make_caload()
Return the Instruction object for the caload instruction.
|
PParametricCodeGenerator |
make_cast(ParametricType from,
ParametricType to) |
static Instruction |
make_castore()
Return the Instruction object for the castore instruction.
|
static Instruction |
make_checkcast(CodeClass clazz) |
ParametricCodeGenerator |
make_cmpg(ParametricType type) |
ParametricCodeGenerator |
make_cmpl(ParametricType type) |
static Instruction |
make_d2f()
Return the Instruction object for the d2f instruction.
|
static Instruction |
make_d2i()
Return the Instruction object for the d2i instruction.
|
static Instruction |
make_d2l()
Return the Instruction object for the d2l instruction.
|
static Instruction |
make_dadd()
Return the Instruction object for the dadd instruction.
|
static Instruction |
make_daload()
Return the Instruction object for the daload instruction.
|
static Instruction |
make_dastore()
Return the Instruction object for the dastore instruction.
|
static Instruction |
make_dcmpg()
Return the Instruction object for the dcmpg instruction.
|
static Instruction |
make_dcmpl()
Return the Instruction object for the dcmpl instruction.
|
static Instruction |
make_dconst(double d) |
static Instruction |
make_ddiv()
Return the Instruction object for the ddiv instruction.
|
ParametricCodeGenerator |
make_div(ParametricType type) |
static Instruction |
make_dload(LocalVariable lv) |
static Instruction |
make_dmul()
Return the Instruction object for the dmul instruction.
|
static Instruction |
make_dneg()
Return the Instruction object for the dneg instruction.
|
static Instruction |
make_drem()
Return the Instruction object for the drem instruction.
|
static Instruction |
make_dreturn()
Return the Instruction object for the dreturn instruction.
|
static Instruction |
make_dstore(LocalVariable lv) |
static Instruction |
make_dsub()
Return the Instruction object for the dsub instruction.
|
static Instruction |
make_dup_x1()
Return the Instruction object for the dup_x1 instruction.
|
static Instruction |
make_dup_x2()
Return the Instruction object for the dup_x2 instruction.
|
static Instruction |
make_dup()
Return the Instruction object for the dup instruction.
|
ParametricCodeGenerator |
make_dup(ParametricType type) |
static Instruction |
make_dup2_x1()
Return the Instruction object for the dup2_x1 instruction.
|
static Instruction |
make_dup2_x2()
Return the Instruction object for the dup2_x2 instruction.
|
static Instruction |
make_dup2()
Return the Instruction object for the dup2 instruction.
|
static Instruction |
make_f2d()
Return the Instruction object for the f2d instruction.
|
static Instruction |
make_f2i()
Return the Instruction object for the f2i instruction.
|
static Instruction |
make_f2l()
Return the Instruction object for the f2l instruction.
|
static Instruction |
make_fadd()
Return the Instruction object for the fadd instruction.
|
static Instruction |
make_faload()
Return the Instruction object for the faload instruction.
|
static Instruction |
make_fastore()
Return the Instruction object for the fastore instruction.
|
static Instruction |
make_fcmpg()
Return the Instruction object for the fcmpg instruction.
|
static Instruction |
make_fcmpl()
Return the Instruction object for the fcmpl instruction.
|
static Instruction |
make_fconst(float f) |
static Instruction |
make_fdiv()
Return the Instruction object for the fdiv instruction.
|
static Instruction |
make_fload(LocalVariable lv) |
static Instruction |
make_fmul()
Return the Instruction object for the fmul instruction.
|
static Instruction |
make_fneg()
Return the Instruction object for the fneg instruction.
|
static Instruction |
make_frem()
Return the Instruction object for the frem instruction.
|
static Instruction |
make_freturn()
Return the Instruction object for the freturn instruction.
|
static Instruction |
make_fstore(LocalVariable lv) |
static Instruction |
make_fsub()
Return the Instruction object for the fsub instruction.
|
static Instruction |
make_getfield(CodeField cf) |
static Instruction |
make_getstatic(CodeField cf) |
static Instruction |
make_goto(Label l) |
static Instruction |
make_i2b()
Return the Instruction object for the i2b instruction.
|
static Instruction |
make_i2c()
Return the Instruction object for the i2c instruction.
|
static Instruction |
make_i2d()
Return the Instruction object for the i2d instruction.
|
static Instruction |
make_i2f()
Return the Instruction object for the i2f instruction.
|
static Instruction |
make_i2l()
Return the Instruction object for the i2l instruction.
|
static Instruction |
make_i2s()
Return the Instruction object for the i2s instruction.
|
static Instruction |
make_iadd()
Return the Instruction object for the iadd instruction.
|
static Instruction |
make_iaload()
Return the Instruction object for the iaload instruction.
|
static Instruction |
make_iand()
Return the Instruction object for the iand instruction.
|
static Instruction |
make_iastore()
Return the Instruction object for the iastore instruction.
|
static Instruction |
make_iconst(int i) |
static Instruction |
make_idiv()
Return the Instruction object for the idiv instruction.
|
static Instruction |
make_if_acmpeq(Label l)
Return the Instruction object for the if_acmpeq instruction.
|
static Instruction |
make_if_acmpne(Label l)
Return the Instruction object for the if_acmpne instruction.
|
static Instruction |
make_if_icmpeq(Label l)
Return the Instruction object for the if_icmpeq instruction.
|
static Instruction |
make_if_icmpge(Label l)
Return the Instruction object for the if_icmpge instruction.
|
static Instruction |
make_if_icmpgt(Label l)
Return the Instruction object for the if_icmpgt instruction.
|
static Instruction |
make_if_icmple(Label l)
Return the Instruction object for the if_icmple instruction.
|
static Instruction |
make_if_icmplt(Label l)
Return the Instruction object for the if_icmplt instruction.
|
static Instruction |
make_if_icmpne(Label l)
Return the Instruction object for the if_icmpne instruction.
|
static Instruction |
make_if(byte op,
Label lab)
Make an if Instruction for the opcode and label.
|
static Instruction |
make_ifeq(Label lab)
Return the Instruction object for the ifeq instruction.
|
static Instruction |
make_ifge(Label lab)
Return the Instruction object for the ifge instruction.
|
static Instruction |
make_ifgt(Label lab)
Return the Instruction object for the ifgt instruction.
|
static Instruction |
make_ifle(Label lab)
Return the Instruction object for the ifle instruction.
|
static Instruction |
make_iflt(Label lab)
Return the Instruction object for the iflt instruction.
|
static Instruction |
make_ifne(Label lab)
Return the Instruction object for the ifne instruction.
|
static Instruction |
make_ifnonnull(Label l)
Return the Instruction object for the ifnonnull instruction.
|
static Instruction |
make_ifnull(Label l)
Return the Instruction object for the ifnull instruction.
|
static Instruction |
make_iload(LocalVariable lv) |
static Instruction |
make_impdep1()
Return the Instruction object for the impdep1 instruction.
|
static Instruction |
make_impdep2()
Return the Instruction object for the impdep2 instruction.
|
static Instruction |
make_imul()
Return the Instruction object for the imul instruction.
|
static Instruction |
make_ineg()
Return the Instruction object for the ineg instruction.
|
static Instruction |
make_instanceof(CodeClass clazz) |
static Instruction |
make_invoke(CodeMethod cm)
Make an invoke opcode that is suited to the method.
|
static Instruction |
make_invokeinterface(CodeMethod cm) |
static Instruction |
make_invokespecial(CodeMethod cm) |
static Instruction |
make_invokestatic(CodeMethod cm) |
static Instruction |
make_invokevirtual_quick_w()
Return the Instruction object for the invokevirtual_quick_w instruction.
|
static Instruction |
make_invokevirtual(CodeMethod cm) |
static Instruction |
make_ior()
Return the Instruction object for the ior instruction.
|
static Instruction |
make_irem()
Return the Instruction object for the irem instruction.
|
static Instruction |
make_ireturn()
Return the Instruction object for the ireturn instruction.
|
static Instruction |
make_ishl()
Return the Instruction object for the ishl instruction.
|
static Instruction |
make_ishr()
Return the Instruction object for the ishr instruction.
|
static Instruction |
make_istore(LocalVariable lv) |
static Instruction |
make_isub()
Return the Instruction object for the isub instruction.
|
static Instruction |
make_iushr()
Return the Instruction object for the iushr instruction.
|
static Instruction |
make_ixor()
Return the Instruction object for the ixor instruction.
|
static Instruction |
make_jsr(Label l) |
static Instruction |
make_l2d()
Return the Instruction object for the l2d instruction.
|
static Instruction |
make_l2f()
Return the Instruction object for the l2f instruction.
|
static Instruction |
make_l2i()
Return the Instruction object for the l2i instruction.
|
static Instruction |
make_ladd()
Return the Instruction object for the ladd instruction.
|
static Instruction |
make_laload()
Return the Instruction object for the laload instruction.
|
static Instruction |
make_land()
Return the Instruction object for the land instruction.
|
static Instruction |
make_lastore()
Return the Instruction object for the lastore instruction.
|
static Instruction |
make_lcmp()
Return the Instruction object for the lcmp instruction.
|
static Instruction |
make_lconst(long l) |
static Instruction |
make_ldiv()
Return the Instruction object for the ldiv instruction.
|
static Instruction |
make_lload(LocalVariable lv) |
static Instruction |
make_lmul()
Return the Instruction object for the lmul instruction.
|
static Instruction |
make_lneg()
Return the Instruction object for the lneg instruction.
|
ParametricCodeGenerator |
make_load(ParametricType type,
LocalVariable lv)
Load an item of a parametric type from a local variable.
|
static Instruction |
make_lor()
Return the Instruction object for the lor instruction.
|
static Instruction |
make_lrem()
Return the Instruction object for the lrem instruction.
|
static Instruction |
make_lreturn()
Return the Instruction object for the lreturn instruction.
|
static Instruction |
make_lshl()
Return the Instruction object for the lshl instruction.
|
static Instruction |
make_lshr()
Return the Instruction object for the lshr instruction.
|
static Instruction |
make_lstore(LocalVariable lv) |
static Instruction |
make_lsub()
Return the Instruction object for the lsub instruction.
|
static Instruction |
make_lushr()
Return the Instruction object for the lushr instruction.
|
static Instruction |
make_lxor()
Return the Instruction object for the lxor instruction.
|
static CodeGenerator |
make_markLabel(Label lab) |
static Instruction |
make_monitorenter()
Return the Instruction object for the monitorenter instruction.
|
static Instruction |
make_monitorexit()
Return the Instruction object for the monitorexit instruction.
|
ParametricCodeGenerator |
make_mul(ParametricType type) |
ParametricCodeGenerator |
make_neg(ParametricType type) |
static Instruction |
make_new(CodeClass clazz) |
static Instruction |
make_newarray(CodeClass clazz) |
static ParametricCodeGenerator |
make_newraray(ParametricType type) |
static Instruction |
make_nop()
Return the Instruction object for the nop instruction.
|
ParametricCodeGenerator |
make_or(ParametricType type) |
static Instruction |
make_pop()
Return the Instruction object for the pop instruction.
|
static Instruction |
make_pop2()
Return the Instruction object for the pop2 instruction.
|
static Instruction |
make_putfield(CodeField cf) |
static Instruction |
make_putstatic(CodeField cf) |
ParametricCodeGenerator |
make_rem(ParametricType type) |
static Instruction |
make_return()
Return the Instruction object for the return instruction.
|
static Instruction |
make_return(CodeClass clazz)
Creates the return Instruction suitable for a given class or type.
|
static Instruction |
make_return(CodeMethod method)
A convenient one-stop method to get a return statement suitable for a
method.
|
ParametricCodeGenerator |
make_return(ParametricType type)
Make a return statement for the parametric type.
|
static Instruction |
make_saload()
Return the Instruction object for the saload instruction.
|
static Instruction |
make_sastore()
Return the Instruction object for the sastore instruction.
|
ParametricCodeGenerator |
make_save(ParametricType type,
LocalVariable lv)
Store an item of a parametric type to a local variable.
|
static Instruction |
make_sconst(String s) |
ParametricCodeGenerator |
make_shiftLeft(ParametricType type) |
ParametricCodeGenerator |
make_shiftRight(ParametricType type) |
ParametricCodeGenerator |
make_shiftRightLogical(ParametricType type) |
ParametricCodeGenerator |
make_sub(ParametricType type) |
static Instruction |
make_swap()
Return the Instruction object for the swap instruction.
|
static CodeGenerator |
make_synchronizedBlock(CodeGenerator code)
Synchronize the processing of an entire block of code on the object on
the top of the stack.
|
static CodeGenerator |
make_synchronizedBlock(LocalVariable lockVar,
CodeGenerator code)
Synchronize the processing of an entire block of code on a local
variable.
|
static Instruction |
make_wide()
Return the Instruction object for the wide instruction.
|
ParametricCodeGenerator |
make_xor(ParametricType type) |
public static final byte op_nop
public static final byte op_aconst_null
public static final byte op_iconst_m1
public static final byte op_iconst_0
public static final byte op_iconst_1
public static final byte op_iconst_2
public static final byte op_iconst_3
public static final byte op_iconst_4
public static final byte op_iconst_5
public static final byte op_lconst_0
public static final byte op_lconst_1
public static final byte op_fconst_0
public static final byte op_fconst_1
public static final byte op_fconst_2
public static final byte op_dconst_0
public static final byte op_dconst_1
public static final byte op_bipush
public static final byte op_sipush
public static final byte op_ldc
public static final byte op_ldc_w
public static final byte op_ldc2_w
public static final byte op_iload
public static final byte op_lload
public static final byte op_fload
public static final byte op_dload
public static final byte op_aload
public static final byte op_iload_0
public static final byte op_iload_1
public static final byte op_iload_2
public static final byte op_iload_3
public static final byte op_lload_0
public static final byte op_lload_1
public static final byte op_lload_2
public static final byte op_lload_3
public static final byte op_fload_0
public static final byte op_fload_1
public static final byte op_fload_2
public static final byte op_fload_3
public static final byte op_dload_0
public static final byte op_dload_1
public static final byte op_dload_2
public static final byte op_dload_3
public static final byte op_aload_0
public static final byte op_aload_1
public static final byte op_aload_2
public static final byte op_aload_3
public static final byte op_iaload
public static final byte op_laload
public static final byte op_faload
public static final byte op_daload
public static final byte op_aaload
public static final byte op_baload
public static final byte op_caload
public static final byte op_saload
public static final byte op_istore
public static final byte op_lstore
public static final byte op_fstore
public static final byte op_dstore
public static final byte op_astore
public static final byte op_istore_0
public static final byte op_istore_1
public static final byte op_istore_2
public static final byte op_istore_3
public static final byte op_lstore_0
public static final byte op_lstore_1
public static final byte op_lstore_2
public static final byte op_lstore_3
public static final byte op_fstore_0
public static final byte op_fstore_1
public static final byte op_fstore_2
public static final byte op_fstore_3
public static final byte op_dstore_0
public static final byte op_dstore_1
public static final byte op_dstore_2
public static final byte op_dstore_3
public static final byte op_astore_0
public static final byte op_astore_1
public static final byte op_astore_2
public static final byte op_astore_3
public static final byte op_iastore
public static final byte op_lastore
public static final byte op_fastore
public static final byte op_dastore
public static final byte op_aastore
public static final byte op_bastore
public static final byte op_castore
public static final byte op_sastore
public static final byte op_pop
public static final byte op_pop2
public static final byte op_dup
public static final byte op_dup_x1
public static final byte op_dup_x2
public static final byte op_dup2
public static final byte op_dup2_x1
public static final byte op_dup2_x2
public static final byte op_swap
public static final byte op_iadd
public static final byte op_ladd
public static final byte op_fadd
public static final byte op_dadd
public static final byte op_isub
public static final byte op_lsub
public static final byte op_fsub
public static final byte op_dsub
public static final byte op_imul
public static final byte op_lmul
public static final byte op_fmul
public static final byte op_dmul
public static final byte op_idiv
public static final byte op_ldiv
public static final byte op_fdiv
public static final byte op_ddiv
public static final byte op_irem
public static final byte op_lrem
public static final byte op_frem
public static final byte op_drem
public static final byte op_ineg
public static final byte op_lneg
public static final byte op_fneg
public static final byte op_dneg
public static final byte op_ishl
public static final byte op_lshl
public static final byte op_ishr
public static final byte op_lshr
public static final byte op_iushr
public static final byte op_lushr
public static final byte op_iand
public static final byte op_land
public static final byte op_ior
public static final byte op_lor
public static final byte op_ixor
public static final byte op_lxor
public static final byte op_iinc
public static final byte op_i2l
public static final byte op_i2f
public static final byte op_i2d
public static final byte op_l2i
public static final byte op_l2f
public static final byte op_l2d
public static final byte op_f2i
public static final byte op_f2l
public static final byte op_f2d
public static final byte op_d2i
public static final byte op_d2l
public static final byte op_d2f
public static final byte op_i2b
public static final byte op_i2c
public static final byte op_i2s
public static final byte op_lcmp
public static final byte op_fcmpl
public static final byte op_fcmpg
public static final byte op_dcmpl
public static final byte op_dcmpg
public static final byte op_ifeq
public static final byte op_ifne
public static final byte op_iflt
public static final byte op_ifge
public static final byte op_ifgt
public static final byte op_ifle
public static final byte op_if_icmpeq
public static final byte op_if_icmpne
public static final byte op_if_icmplt
public static final byte op_if_icmpge
public static final byte op_if_icmpgt
public static final byte op_if_icmple
public static final byte op_if_acmpeq
public static final byte op_if_acmpne
public static final byte op_goto
public static final byte op_jsr
public static final byte op_ret
public static final byte op_tableswitch
public static final byte op_lookupswitch
public static final byte op_ireturn
public static final byte op_lreturn
public static final byte op_freturn
public static final byte op_dreturn
public static final byte op_areturn
public static final byte op_return
public static final byte op_getstatic
public static final byte op_putstatic
public static final byte op_getfield
public static final byte op_putfield
public static final byte op_invokevirtual
public static final byte op_invokespecial
public static final byte op_invokestatic
public static final byte op_invokeinterface
public static final byte op_new
public static final byte op_newarray
public static final byte op_anewarray
public static final byte op_arraylength
public static final byte op_athrow
public static final byte op_checkcast
public static final byte op_instanceof
public static final byte op_monitorenter
public static final byte op_monitorexit
public static final byte op_wide
public static final byte op_multianewarray
public static final byte op_ifnull
public static final byte op_ifnonnull
public static final byte op_goto_w
public static final byte op_jsr_w
public static final byte op_breakpoint
public static final byte op_ldc_quick
public static final byte op_ldc_w_quick
public static final byte op_ldc2_w_quick
public static final byte op_getfield_quick
public static final byte op_putfield_quick
public static final byte op_getfield2_quick
public static final byte op_putfield2_quick
public static final byte op_getstatic_quick
public static final byte op_putstatic_quick
public static final byte op_getstatic2_quick
public static final byte op_putstatic2_quick
public static final byte op_invokevirtual_quick
public static final byte op_invokenonvirtual_quick
public static final byte op_invokesuper_quick
public static final byte op_invokestatic_quick
public static final byte op_invokeinterface_quick
public static final byte op_invokevirtualobject_quick
public static final byte op_new_quick
public static final byte op_anewarray_quick
public static final byte op_multianewarray_quick
public static final byte op_checkcast_quick
public static final byte op_instanceof_quick
public static final byte op_invokevirtual_quick_w
public static final byte op_getfield_quick_w
public static final byte op_putfield_quick_w
public static final byte op_impdep1
public static final byte op_impdep2
public ByteCode()
public static Instruction make_iconst(int i)
public static Instruction make_sconst(String s)
public static Instruction make_dconst(double d)
public static Instruction make_lconst(long l)
public static Instruction make_fconst(float f)
public static Instruction make_invokevirtual(CodeMethod cm)
public static Instruction make_invokespecial(CodeMethod cm)
public static Instruction make_invokestatic(CodeMethod cm)
public static Instruction make_invokeinterface(CodeMethod cm)
public static Instruction make_getfield(CodeField cf)
public static Instruction make_putfield(CodeField cf)
public static Instruction make_getstatic(CodeField cf)
public static Instruction make_putstatic(CodeField cf)
public static Instruction make_iload(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_lload(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_fload(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_dload(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_aload(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_istore(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_lstore(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_fstore(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_dstore(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_astore(LocalVariable lv) throws CodeException
CodeException
public static Instruction make_ifeq(Label lab)
public static Instruction make_ifne(Label lab)
public static Instruction make_iflt(Label lab)
public static Instruction make_ifge(Label lab)
public static Instruction make_ifgt(Label lab)
public static Instruction make_ifle(Label lab)
public static Instruction make_if_icmpeq(Label l)
public static Instruction make_if_icmpne(Label l)
public static Instruction make_if_icmplt(Label l)
public static Instruction make_if_icmpge(Label l)
public static Instruction make_if_icmpgt(Label l)
public static Instruction make_if_icmple(Label l)
public static Instruction make_if_acmpeq(Label l)
public static Instruction make_if_acmpne(Label l)
public static Instruction make_ifnull(Label l)
public static Instruction make_ifnonnull(Label l)
public static Instruction make_goto(Label l)
public static Instruction make_jsr(Label l)
public static Instruction make_nop()
public static Instruction make_aconst_null()
public static Instruction make_iaload()
public static Instruction make_laload()
public static Instruction make_faload()
public static Instruction make_daload()
public static Instruction make_aaload()
public static Instruction make_baload()
public static Instruction make_caload()
public static Instruction make_saload()
public static Instruction make_iastore()
public static Instruction make_lastore()
public static Instruction make_fastore()
public static Instruction make_dastore()
public static Instruction make_aastore()
public static Instruction make_bastore()
public static Instruction make_castore()
public static Instruction make_sastore()
public static Instruction make_pop()
public static Instruction make_pop2()
public static Instruction make_dup()
public static Instruction make_dup_x1()
public static Instruction make_dup_x2()
public static Instruction make_dup2()
public static Instruction make_dup2_x1()
public static Instruction make_dup2_x2()
public static Instruction make_swap()
public static Instruction make_iadd()
public static Instruction make_ladd()
public static Instruction make_fadd()
public static Instruction make_dadd()
public static Instruction make_isub()
public static Instruction make_lsub()
public static Instruction make_fsub()
public static Instruction make_dsub()
public static Instruction make_imul()
public static Instruction make_lmul()
public static Instruction make_fmul()
public static Instruction make_dmul()
public static Instruction make_idiv()
public static Instruction make_ldiv()
public static Instruction make_fdiv()
public static Instruction make_ddiv()
public static Instruction make_irem()
public static Instruction make_lrem()
public static Instruction make_frem()
public static Instruction make_drem()
public static Instruction make_ineg()
public static Instruction make_lneg()
public static Instruction make_fneg()
public static Instruction make_dneg()
public static Instruction make_ishl()
public static Instruction make_lshl()
public static Instruction make_ishr()
public static Instruction make_lshr()
public static Instruction make_iushr()
public static Instruction make_lushr()
public static Instruction make_iand()
public static Instruction make_land()
public static Instruction make_ior()
public static Instruction make_lor()
public static Instruction make_ixor()
public static Instruction make_lxor()
public static Instruction make_i2l()
public static Instruction make_i2f()
public static Instruction make_i2d()
public static Instruction make_l2i()
public static Instruction make_l2f()
public static Instruction make_l2d()
public static Instruction make_f2i()
public static Instruction make_f2l()
public static Instruction make_f2d()
public static Instruction make_d2i()
public static Instruction make_d2l()
public static Instruction make_d2f()
public static Instruction make_i2b()
public static Instruction make_i2c()
public static Instruction make_i2s()
public static Instruction make_lcmp()
public static Instruction make_fcmpl()
public static Instruction make_fcmpg()
public static Instruction make_dcmpl()
public static Instruction make_dcmpg()
public static Instruction make_ireturn()
public static Instruction make_lreturn()
public static Instruction make_freturn()
public static Instruction make_dreturn()
public static Instruction make_areturn()
public static Instruction make_return()
public static Instruction make_arraylength()
public static Instruction make_athrow()
public static Instruction make_monitorenter()
public static Instruction make_monitorexit()
public static Instruction make_wide()
public static Instruction make_breakpoint()
public static Instruction make_invokevirtual_quick_w()
public static Instruction make_impdep1()
public static Instruction make_impdep2()
public static Instruction make_checkcast(CodeClass clazz)
public static Instruction make_instanceof(CodeClass clazz)
public static Instruction make_new(CodeClass clazz)
public static Instruction make_newarray(CodeClass clazz) throws CodeException
CodeException
public static Instruction make_return(CodeMethod method)
method
- the CodeMethod to return frompublic static Instruction make_return(CodeClass clazz)
clazz
- the CodeClass representing the class or type to returnpublic static Instruction make_invoke(CodeMethod cm)
Constructors and private methods are invoked by invokespecial. Static methods are invoked by invokestatic. Methods referred to by interface are invoked by invokeinterface, and methods referred to by classes are invoked by invokeabstract.
cm
- the CodeMethod to invokepublic static CodeGenerator make_synchronizedBlock(LocalVariable lockVar, CodeGenerator code) throws CodeException
lockVar
- Label for the local variable to lock oncode
- the CodeGenerator that will make the body of the synchronized
blockCodeException
- if locVar holds a primative valuepublic static CodeGenerator make_synchronizedBlock(CodeGenerator code)
lockVar
- Label for the local variable to lock oncode
- the CodeGenerator that will make the body of the synchronized
blockpublic static CodeGenerator make_markLabel(Label lab)
public static Instruction make_if(byte op, Label lab)
Obcodes for IF jump to the label if the condition is true, or execute the next instruction ontherwise. In this case, op will be used to compare the top of the stack and if the condition is true, will cause a jump to the label. Otherwise, the next instruction in the stream will be used.
op
- if opcodelab
- Label to jump toIllegalArgumentException
- if the op code is not an if instructionpublic static ParametricCodeGenerator make_newraray(ParametricType type)
public static ParametricCodeGenerator make_array_load(ParametricType type)
This is the parametric version of the make_<x>aload() factory methods.
type
- the ParametricType giving the element type of the arraypublic static ParametricCodeGenerator make_arrayStore(ParametricType type)
This is the parametric version of the make_<x>astore() factory methods.
type
- the ParametricType giving the element type of the arraypublic ParametricCodeGenerator make_load(ParametricType type, LocalVariable lv) throws CodeException
This is the parametric version of the make_<x>load() factory methods.
type
- the ParametricType giving the type to loadlv
- the LocalVariable to load fromCodeException
public ParametricCodeGenerator make_save(ParametricType type, LocalVariable lv) throws CodeException
This is the parametric version of the make_<x>save() factory methods.
type
- the ParametricType giving the type to savelv
- the LocalVariable to load fromCodeException
public ParametricCodeGenerator make_return(ParametricType type)
type
- the ParametricType to returnpublic PParametricCodeGenerator make_cast(ParametricType from, ParametricType to) throws CodeException
CodeException
public ParametricCodeGenerator make_add(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_sub(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_mul(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_div(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_rem(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_neg(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_shiftLeft(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_shiftRight(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_shiftRightLogical(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_and(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_or(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_xor(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_cmpg(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_cmpl(ParametricType type) throws CodeException
CodeException
public ParametricCodeGenerator make_dup(ParametricType type) throws CodeException
CodeException
Copyright © 2014 BioJava. All rights reserved.