org.apache.bcel.generic

## Class FieldInstruction

- java.lang.Object
- - org.apache.bcel.generic.Instruction
  - - org.apache.bcel.generic.CPInstruction
    - - org.apache.bcel.generic.FieldOrMethod
      - - org.apache.bcel.generic.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.

- - ### Field Summary

    - ### Fields inherited from class org.apache.bcel.generic.CPInstruction

      `index`

    - ### Fields inherited from class org.apache.bcel.generic.Instruction

      `length, opcode`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `FieldInstruction(short opcode, int index)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getFieldName(ConstantPoolGen cpg)`
    `protected int` | `getFieldSize(ConstantPoolGen cpg)`
    `Type` | `getFieldType(ConstantPoolGen cpg)`
    `Type` | `getType(ConstantPoolGen cpg)` Returns the type associated with this instruction.
    `String` | `toString(ConstantPool cp)`

    - ### Methods inherited from class org.apache.bcel.generic.FieldOrMethod

      `getClassName, getClassType, getLoadClassType, getName, getReferenceType, getSignature`

    - ### Methods inherited from class org.apache.bcel.generic.CPInstruction

      `dump, getIndex, initFromFile, setIndex, toString`

    - ### Methods inherited from class org.apache.bcel.generic.Instruction

      `accept, consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FieldInstruction

          protected FieldInstruction(short opcode,
                                     int index)

      Parameters:
        `index` - to constant pool

  - ### Method Detail

    - #### getFieldName

          public String getFieldName(ConstantPoolGen cpg)

      Returns:
        name of referenced field.

    - #### getFieldSize

          protected int getFieldSize(ConstantPoolGen cpg)

      Returns:
        size of field (1 or 2)

    - #### getFieldType

          public Type getFieldType(ConstantPoolGen cpg)

      Returns:
        type of field

    - #### 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 `NEWARRAY` instruction that creates an `int[][]`.
      Specified by:
        `getType` in interface `LoadClass`
      Specified by:
        `getType` in interface `TypedInstruction`
      Overrides:
        `getType` in class `CPInstruction`
      Parameters:
        `cpg` - A ConstantPoolGen
      Returns:
        return type of referenced field
      See Also:
        `LoadClass.getLoadClassType(ConstantPoolGen)`

    - #### toString

          public String toString(ConstantPool cp)

      Overrides:
        `toString` in class `CPInstruction`
      Returns:
        mnemonic for instruction with symbolic references resolved

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.