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

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

public class InsnTarget
extends Insn

InsnTarget is a pseudo-instruction which represents a branch target in an instruction stream.


Field Summary
private  boolean branchTarget
           
 
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
  InsnTarget()
          Constructor
(package private) InsnTarget(int offset)
           
 
Method Summary
 java.lang.String argTypes()
          What are the types of the stack operands ?
 boolean branches()
          Does this instruction branch?
 boolean isBranchTarget()
           
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
 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?
 void setBranchTarget()
           
(package private)  int size()
           
(package private)  int store(byte[] buf, int index)
           
 
Methods inherited from class org.apache.jdo.impl.enhancer.classfile.Insn
append, create, create, create, create, insert, loadStoreDataType, markTargets, 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

branchTarget

private boolean branchTarget
Constructor Detail

InsnTarget

public InsnTarget()
Constructor


InsnTarget

InsnTarget(int offset)
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

setBranchTarget

public void setBranchTarget()

isBranchTarget

public boolean isBranchTarget()

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