Class FieldInstruction

All Implemented Interfaces:
Cloneable, IndexedInstruction, LoadClass, TypedInstruction
Direct Known Subclasses:
GETFIELD, GETSTATIC, PUTFIELD, PUTSTATIC

public abstract class FieldInstruction extends FieldOrMethod
Super class for the GET/PUTxxx family of instructions.
  • Constructor Details

    • FieldInstruction

      protected FieldInstruction(short opcode, int index)
      Parameters:
      index - to constant pool
  • Method Details

    • toString

      public String toString(ConstantPool cp)
      Overrides:
      toString in class CPInstruction
      Returns:
      mnemonic for instruction with symbolic references resolved
    • getFieldSize

      protected int getFieldSize(ConstantPoolGen cpg)
      Returns:
      size of field (1 or 2)
    • getType

      public Type getType(ConstantPoolGen cpg)
      Description copied from interface: LoadClass
      Returns the type associated with this instruction. LoadClass instances are always typed, but this type does not always refer to the type of the class or interface that it possibly forces to load. For example, GETFIELD would return the type of the field and not the type of the class where the field is defined. If no class is forced to be loaded, null is returned. An example for this is an ANEWARRAY instruction that creates an int[][].
      Specified by:
      getType in interface LoadClass
      Specified by:
      getType in interface TypedInstruction
      Overrides:
      getType in class CPInstruction
      Returns:
      return type of referenced field
      See Also:
    • getFieldType

      public Type getFieldType(ConstantPoolGen cpg)
      Returns:
      type of field
    • getFieldName

      public String getFieldName(ConstantPoolGen cpg)
      Returns:
      name of referenced field.