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

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

public class InsnMultiDimArrayNew
extends Insn

Special instruction form for the opc_multianewarray instruction


Field Summary
private  ConstClass classOp
           
private  int nDimsOp
           
 
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
  InsnMultiDimArrayNew(ConstClass classOp, int nDimsOp)
          Constructor for opc_multianewarray.
(package private) InsnMultiDimArrayNew(ConstClass classOp, int nDimsOp, int offset)
           
 
Method Summary
 java.lang.String argTypes()
          What are the types of the stack operands ?
 ConstClass arrayClass()
          Return the array class being created
 boolean branches()
          Does this instruction branch?
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
 boolean isSimpleLoad()
           
 int nDims()
          Return the number of dimensions of the array class being created
 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 InsnMultiDimArrayNew read(InsnReadEnv insnEnv, int myPC)
           
 java.lang.String resultTypes()
          What are the types of the stack results?
 void setArrayClass(ConstClass classOp)
          Sets the array class being created
(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

classOp

private ConstClass classOp

nDimsOp

private int nDimsOp
Constructor Detail

InsnMultiDimArrayNew

public InsnMultiDimArrayNew(ConstClass classOp,
                            int nDimsOp)
Constructor for opc_multianewarray. classOp must be an array class nDimsOp must be > 0 and <= number of array dimensions for classOp


InsnMultiDimArrayNew

InsnMultiDimArrayNew(ConstClass classOp,
                     int nDimsOp,
                     int offset)
Method Detail

isSimpleLoad

public boolean isSimpleLoad()

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()
What are the types of the stack operands ?

Specified by:
argTypes in class Insn

resultTypes

public java.lang.String resultTypes()
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

arrayClass

public ConstClass arrayClass()
Return the array class being created


setArrayClass

public void setArrayClass(ConstClass classOp)
Sets the array class being created


nDims

public int nDims()
Return the number of dimensions of the array class being created


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 InsnMultiDimArrayNew read(InsnReadEnv insnEnv,
                                 int myPC)