Class 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 -> ..., valueOR
Stack: ..., objectref -> ..., value.word1, value.word2
-
Field Summary
Fields inherited from class CPInstruction
indexModifier and TypeFieldDescriptionprotected intDeprecated.(since 6.0) will be made private; do not access directly, use getter/setterFields inherited from class Instruction
length, opcode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCall corresponding visitor method(s).Class<?>[]Gets the exceptions that may be thrown by this instruction.intThis 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, toStringModifier and TypeMethodDescriptionGets the name of referenced field.protected intGets the size of field.Gets the type of field.getType(ConstantPoolGen cpg) Gets the type of the referenced field.toString(ConstantPool cp) Gets the mnemonic for instruction with symbolic references resolved.Methods inherited from class FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getReferenceType, getSignatureModifier and TypeMethodDescriptionDeprecated.If the instruction references an array class, this method will return "java.lang.Object".Deprecated.If the instruction references an array class, the ObjectType returned will be invalid.Gets the ObjectType of the method return or field.getName(ConstantPoolGen cpg) Gets the name of referenced method or field.Gets the reference type representing the class, interface, or array class referenced by the instruction.Gets the signature of referenced method or field.Methods inherited from class CPInstruction
dump, getIndex, initFromFile, setIndex, toStringModifier and TypeMethodDescriptionvoiddump(DataOutputStream out) Dumps instruction as byte code to stream out.final intgetIndex()Gets the constant pool index referred to by this instruction.protected voidinitFromFile(ByteSequence bytes, boolean wide) Reads needed data (that is, index) from file.voidsetIndex(int index) Sets the index to constant pool.toString(boolean verbose) Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"Methods inherited from class Instruction
consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, readInstruction, setComparator, toStringModifier and TypeMethodDescriptionintThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.copy()Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).booleanTests for equality, delegated to comparatorstatic InstructionComparatorDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodsintGets the length (in bytes) of instruction.getName()Gets the name of instruction, that is, opcode name.shortGets this instruction's opcode.inthashCode()Gets the hashCode of this object.static booleanisValidByte(int value) Tests if the value can fit in a byte (signed).static booleanisValidShort(int value) Tests if the value can fit in a short (signed).static InstructionreadInstruction(ByteSequence bytes) Reads an instruction from (byte code) input stream and return the appropriate object.static voidDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodstoString()Methods inherited from interface StackConsumer
consumeStackModifier and TypeMethodDescriptionintGets how many words are consumed from stack.
-
Constructor Details
-
GETFIELD
Constructs a GETFIELD instruction.- Parameters:
index- The constant pool index.
-
-
Method Details
-
accept
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, that is, the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- Parameters:
v- Visitor object.
-
getExceptions
Description copied from interface:ExceptionThrowerGets the exceptions that may be thrown by this instruction.- Specified by:
getExceptionsin interfaceExceptionThrower- Returns:
- The exceptions that may be thrown by this instruction.
-
produceStack
Description copied from class:InstructionThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.- Specified by:
produceStackin interfaceStackProducer- Overrides:
produceStackin classInstruction- Parameters:
cpg- The constant pool generator.- Returns:
- Number of words produced onto stack by this instruction, or Constants.UNPREDICTABLE, if this cannot be computed statically.
-