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

java.lang.Object
  extended byorg.apache.jdo.impl.enhancer.classfile.Insn
      extended byorg.apache.jdo.impl.enhancer.classfile.InsnConstOp
All Implemented Interfaces:
VMConstants
Direct Known Subclasses:
InsnInterfaceInvoke

public class InsnConstOp
extends Insn

An instruction which requires a single constant from the constant pool as an immediate operand


Field Summary
private  ConstBasic constValue
           
 
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, ACCAnnotation, ACCBridge, ACCEnum, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCStrict, ACCSuper, ACCSynchronized, ACCSynthetic, ACCTransient, ACCVarargs, 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_invokedynamic, 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, 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) InsnConstOp(int theOpcode, ConstBasic theOperand)
           
(package private) InsnConstOp(int theOpcode, ConstBasic theOperand, int pc)
           
(package private) InsnConstOp(int theOpcode, ConstInterfaceMethodRef theOperand, int pc)
           
 
Method Summary
 java.lang.String argTypes()
          What are the types of the stack operands ?
 boolean branches()
          Does this instruction branch?
private  void checkConstant(ConstBasic operand)
           
private  java.lang.String descriptorTypeOfObject(ConstBasicMemberRef memRef)
           
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
private  boolean isNarrowldc()
           
 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 setValue(ConstBasic newValue)
          Modify the referenced constant
(package private)  int size()
           
(package private)  int store(byte[] buf, int index)
           
 ConstBasic value()
          Return the constant pool entry which is the immediate operand
 
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

constValue

private ConstBasic constValue
Constructor Detail

InsnConstOp

InsnConstOp(int theOpcode,
            ConstBasic theOperand)

InsnConstOp

InsnConstOp(int theOpcode,
            ConstBasic theOperand,
            int pc)

InsnConstOp

InsnConstOp(int theOpcode,
            ConstInterfaceMethodRef theOperand,
            int pc)
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

value

public ConstBasic value()
Return the constant pool entry which is the immediate operand


setValue

public void setValue(ConstBasic newValue)
Modify the referenced constant


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

isNarrowldc

private boolean isNarrowldc()

checkConstant

private void checkConstant(ConstBasic operand)

descriptorTypeOfObject

private final java.lang.String descriptorTypeOfObject(ConstBasicMemberRef memRef)