# Class GETFIELD

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
org.apache.bcel.generic.FieldOrMethod
org.apache.bcel.generic.FieldInstruction
org.apache.bcel.generic.GETFIELD

All Implemented Interfaces:
  `Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, StackConsumer, StackProducer, TypedInstruction`

public class GETFIELD extends FieldInstruction implements ExceptionThrower, StackConsumer, StackProducer
GETFIELD - Fetch field from object

    Stack: ..., objectref -> ..., value

OR

    Stack: ..., objectref -> ..., value.word1, value.word2

- ## Field Summary

  ### Fields inherited from class CPInstruction

  `index`

  ### Fields inherited from class Instruction

  `length, opcode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GETFIELD(int index)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `accept(Visitor v)`
  Call corresponding visitor method(s).
  `Class<?>[]`
  `getExceptions()`
  `int`
  `produceStack(ConstantPoolGen cpg)`
  This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.

  ### Methods inherited from class FieldInstruction

  `getFieldName, getFieldSize, getFieldType, getType, toString`

  ### Methods inherited from class FieldOrMethod

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

  ### Methods inherited from class CPInstruction

  `dump, getIndex, initFromFile, setIndex, toString`

  ### Methods inherited from class Instruction

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

  ### Methods inherited from class Object

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

  ### Methods inherited from interface StackConsumer

  `consumeStack`

- ## Constructor Details

  - ### GETFIELD

    public GETFIELD(int index)

- ## Method Details

  - ### accept

    public void accept(Visitor v)
    Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
    Specified by:
      `accept` in class `Instruction`
    Parameters:
      `v` - Visitor object

  - ### getExceptions

    public Class<?>[] getExceptions()
    Specified by:
      `getExceptions` in interface `ExceptionThrower`

  - ### produceStack

    public int produceStack(ConstantPoolGen cpg)
    Description copied from class: `Instruction`
    This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.
    Specified by:
      `produceStack` in interface `StackProducer`
    Overrides:
      `produceStack` in class `Instruction`
    Returns:
      Number of words produced onto stack by this instruction, or Constants.UNPREDICTABLE, if this cannot be computed statically