org.apache.jdo.impl.enhancer.classfile
Class InsnTargetOp

java.lang.Object
  extended byorg.apache.jdo.impl.enhancer.classfile.Insn
      extended byorg.apache.jdo.impl.enhancer.classfile.InsnTargetOp
All Implemented Interfaces:
VMConstants

public class InsnTargetOp
extends Insn

An instruction which requires a single branch offset as an immediate operand .


Field Summary
(package private)  InsnTarget targetOp
           
 
Fields inherited from class org.apache.jdo.impl.enhancer.classfile.Insn
NO_OFFSET, opc_target
 
Fields inherited from interface org.apache.jdo.impl.enhancer.classfile.VMConstants
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
 
Constructor Summary
(package private) InsnTargetOp(int theOpcode, InsnTarget theOperand)
           
(package private) InsnTargetOp(int theOpcode, InsnTarget theOperand, int pc)
           
 
Method Summary
 java.lang.String argTypes()
          What are the types of the stack operands ?
 boolean branches()
          Does this instruction branch?
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
 void markTargets()
          Mark possible branch targets
 int nStackArgs()
          How many words of stack operands does this instruction take?
 int nStackResults()
          How many words of stack results does this instruction deposit?
(package private)  void print(java.io.PrintStream out, int indent)
           
 java.lang.String resultTypes()
          What are the types of the stack results?
(package private)  int size()
           
(package private)  int store(byte[] buf, int index)
           
 InsnTarget target()
          Return the branch target which is the immediate operand
 
Methods inherited from class org.apache.jdo.impl.enhancer.classfile.Insn
append, create, create, create, create, insert, loadStoreDataType, next, offset, opcode, opName, prev, printInsn, printList, read, remove, resolveOffset, setNext, storeInt, storeShort, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

targetOp

InsnTarget targetOp
Constructor Detail

InsnTargetOp

InsnTargetOp(int theOpcode,
             InsnTarget theOperand,
             int pc)

InsnTargetOp

InsnTargetOp(int theOpcode,
             InsnTarget theOperand)
Method Detail

nStackArgs

public int nStackArgs()
Description copied from class: Insn
How many words of stack operands does this instruction take?

Specified by:
nStackArgs in class Insn

nStackResults

public int nStackResults()
Description copied from class: Insn
How many words of stack results does this instruction deposit?

Specified by:
nStackResults in class Insn

argTypes

public java.lang.String argTypes()
Description copied from class: Insn
What are the types of the stack operands ?

Specified by:
argTypes in class Insn

resultTypes

public java.lang.String resultTypes()
Description copied from class: Insn
What are the types of the stack results?

Specified by:
resultTypes in class Insn

branches

public boolean branches()
Description copied from class: Insn
Does this instruction branch?

Specified by:
branches in class Insn

markTargets

public void markTargets()
Mark possible branch targets

Overrides:
markTargets in class Insn

target

public InsnTarget target()
Return the branch target which is the immediate operand


isEqual

public boolean isEqual(java.util.Stack msg,
                       java.lang.Object obj)
Compares this instance with another for structural equality.

Overrides:
isEqual in class Insn

print

void print(java.io.PrintStream out,
           int indent)
Specified by:
print in class Insn

store

int store(byte[] buf,
          int index)
Specified by:
store in class Insn

size

int size()
Specified by:
size in class Insn