Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.techtrader.modules.tools.bytecode
Class FieldInstruction  view FieldInstruction download FieldInstruction.java

java.lang.Object
  extended bycom.techtrader.modules.tools.bytecode.Instruction
      extended bycom.techtrader.modules.tools.bytecode.FieldInstruction
All Implemented Interfaces:
Constants, com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor
Direct Known Subclasses:
GetFieldInstruction, PutFieldInstruction

public abstract class FieldInstruction
extends Instruction

Represents an instruction that takes as an argument a field to operate on. Examples include GETFIELD, GETSTATIC, SETFIELD, SETSTATIC.


Field Summary
private  int _index
           
 
Fields inherited from class com.techtrader.modules.tools.bytecode.Instruction
_byteIndex, _opcode, _opcodeTypes, _owner
 
Fields inherited from interface com.techtrader.modules.tools.bytecode.Constants
AALOAD, AASTORE, ACCESS_ABSTRACT, ACCESS_FINAL, ACCESS_INTERFACE, ACCESS_NATIVE, ACCESS_PRIVATE, ACCESS_PROTECTED, ACCESS_PUBLIC, ACCESS_STATIC, ACCESS_STRICT, ACCESS_SUPER, ACCESS_SYNCHRONIZED, ACCESS_TRANSIENT, ACCESS_VOLATILE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAY_BOOLEAN, ARRAY_BYTE, ARRAY_CHAR, ARRAY_DOUBLE, ARRAY_FLOAT, ARRAY_INT, ARRAY_LONG, ARRAY_SHORT, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, ATTR_CODE, ATTR_CONST, ATTR_DEPRECATED, ATTR_EXCEPTIONS, ATTR_INNERCLASS, ATTR_LINENUMBERS, ATTR_LOCALS, ATTR_SOURCE, ATTR_SYNTHETIC, ATTR_UNKNOWN, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_EQ, IF_GE, IF_GT, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IF_LE, IF_LT, IF_NE, IF_NONNULL, IF_NULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MATH_ADD, MATH_AND, MATH_DIV, MATH_MUL, MATH_NEG, MATH_OR, MATH_REM, MATH_SHL, MATH_SHR, MATH_SUB, MATH_USHR, MATH_XOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, OPCODE_NAMES, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, TABLESWITCH, VALID_MAGIC, WIDE
 
Constructor Summary
protected FieldInstruction(Code owner, int opcode)
           
 
Method Summary
protected  void copy(Instruction orig)
           
 boolean equals(java.lang.Object other)
          FieldInstructions are equal if the field they reference is the same, or if the field of either is unset.
 BCField getField()
          If the field is a member of the current class, then this method will retrieve the BCField object for it; otherwise it will return null.
 int getFieldIndex()
          Get the index of the ComplexEntry in the constant pool describing the field to operate on.
 java.lang.String getFieldName()
          Get the nam of the field to operate on.
 java.lang.Class getFieldOwnerType()
          Get the type of the field.
 java.lang.String getFieldOwnerTypeName()
          Get the type of the field.
 java.lang.Class getFieldType()
          Get the type of the field.
 java.lang.String getFieldTypeName()
          Get the type of the field.
 int getLength()
          Return the length in bytes of this opcode, including all arguments.
 boolean isFieldInCurrentClass()
          Return true if the field is a member of the current class.
protected  void readData(java.io.DataInput in)
          Read the arguments for this opcode from the given stream.
 FieldInstruction setField(BCField field)
          Set the field to operate on.
 FieldInstruction setField(java.lang.reflect.Field field)
          Set the field to operate on.
 FieldInstruction setField(java.lang.String name, java.lang.Class type, java.lang.Class ownerType)
          Set the field to operate on.
 FieldInstruction setField(java.lang.String name, java.lang.Class type, java.lang.String ownerType)
          Set the field to operate on.
 FieldInstruction setField(java.lang.String name, java.lang.String type, java.lang.String ownerType)
          Set the field to operate on.
 void setFieldIndex(int index)
          Set the index of the ComplexEntry in the constant pool describing the field to operate on.
 FieldInstruction setFieldName(java.lang.String name)
          Change the field name.
protected  void writeData(java.io.DataOutput out)
          Write the arguments for this opcode to the given stream.
 
Methods inherited from class com.techtrader.modules.tools.bytecode.Instruction
acceptVisit, getByteIndex, getName, getOpCode, getOwner, getStackChange, invalidate, setByteIndex, setOpCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_index

private int _index
Constructor Detail

FieldInstruction

protected FieldInstruction(Code owner,
                           int opcode)
Method Detail

getFieldIndex

public int getFieldIndex()
Get the index of the ComplexEntry in the constant pool describing the field to operate on.


setFieldIndex

public void setFieldIndex(int index)
Set the index of the ComplexEntry in the constant pool describing the field to operate on.


setField

public FieldInstruction setField(BCField field)
Set the field to operate on.


setField

public FieldInstruction setField(java.lang.reflect.Field field)
Set the field to operate on.


setField

public FieldInstruction setField(java.lang.String name,
                                 java.lang.String type,
                                 java.lang.String ownerType)
Set the field to operate on.


setField

public FieldInstruction setField(java.lang.String name,
                                 java.lang.Class type,
                                 java.lang.String ownerType)
Set the field to operate on.


setField

public FieldInstruction setField(java.lang.String name,
                                 java.lang.Class type,
                                 java.lang.Class ownerType)
Set the field to operate on.


setFieldName

public FieldInstruction setFieldName(java.lang.String name)
Change the field name.


isFieldInCurrentClass

public boolean isFieldInCurrentClass()
Return true if the field is a member of the current class.


getField

public BCField getField()
If the field is a member of the current class, then this method will retrieve the BCField object for it; otherwise it will return null.


getFieldName

public java.lang.String getFieldName()
Get the nam of the field to operate on.


getFieldTypeName

public java.lang.String getFieldTypeName()
Get the type of the field.


getFieldType

public java.lang.Class getFieldType()
                             throws java.lang.ClassNotFoundException
Get the type of the field.


getFieldOwnerTypeName

public java.lang.String getFieldOwnerTypeName()
Get the type of the field.


getFieldOwnerType

public java.lang.Class getFieldOwnerType()
                                  throws java.lang.ClassNotFoundException
Get the type of the field.


equals

public boolean equals(java.lang.Object other)
FieldInstructions are equal if the field they reference is the same, or if the field of either is unset.

Overrides:
equals in class Instruction

getLength

public int getLength()
Description copied from class: Instruction
Return the length in bytes of this opcode, including all arguments. This method should be overridden by opcodes that take arguments.

Overrides:
getLength in class Instruction

copy

protected void copy(Instruction orig)
Overrides:
copy in class Instruction

readData

protected void readData(java.io.DataInput in)
                 throws java.io.IOException
Description copied from class: Instruction
Read the arguments for this opcode from the given stream. This method should be overridden by opcodes that take arguments.

Overrides:
readData in class Instruction

writeData

protected void writeData(java.io.DataOutput out)
                  throws java.io.IOException
Description copied from class: Instruction
Write the arguments for this opcode to the given stream. This method should be overridden by opcodes that take arguments.

Overrides:
writeData in class Instruction