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

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

public class InsnTableSwitch
extends Insn

Special instruction form for the opc_tableswitch instruction


Field Summary
private  InsnTarget defaultOp
           
private  int lowOp
           
private  InsnTarget[] targetsOp
           
 
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
  InsnTableSwitch(int lowOp, InsnTarget defaultOp, InsnTarget[] targetsOp)
          Constructor for opc_tableswitch
(package private) InsnTableSwitch(int lowOp, InsnTarget defaultOp, InsnTarget[] targetsOp, int offset)
           
 
Method Summary
 java.lang.String argTypes()
          What are the types of the stack operands ?
 boolean branches()
          Does this instruction branch?
 InsnTarget defaultTarget()
          Return the defaultTarget for the switch
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
 int lowCase()
          Return the lowest case for the switch
 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)
           
(package private) static InsnTableSwitch read(InsnReadEnv insnEnv, int myPC)
           
 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[] switchTargets()
          Return the targets for the cases of the switch.
 
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

lowOp

private int lowOp

defaultOp

private InsnTarget defaultOp

targetsOp

private InsnTarget[] targetsOp
Constructor Detail

InsnTableSwitch

public InsnTableSwitch(int lowOp,
                       InsnTarget defaultOp,
                       InsnTarget[] targetsOp)
Constructor for opc_tableswitch


InsnTableSwitch

InsnTableSwitch(int lowOp,
                InsnTarget defaultOp,
                InsnTarget[] targetsOp,
                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

markTargets

public void markTargets()
Mark possible branch targets

Overrides:
markTargets in class Insn

lowCase

public int lowCase()
Return the lowest case for the switch


defaultTarget

public InsnTarget defaultTarget()
Return the defaultTarget for the switch


switchTargets

public InsnTarget[] switchTargets()
Return the targets for the cases of the switch.


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

read

static InsnTableSwitch read(InsnReadEnv insnEnv,
                            int myPC)