Package 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
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 Description protected
FieldInstruction(short opcode, int index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
-
Method Detail
-
toString
public String toString(ConstantPool cp)
- Overrides:
toString
in classCPInstruction
- 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 interfaceLoadClass
- Specified by:
getType
in interfaceTypedInstruction
- Overrides:
getType
in classCPInstruction
- Returns:
- return type of referenced field
- See Also:
LoadClass.getLoadClassType(ConstantPoolGen)
-
getFieldType
public Type getFieldType(ConstantPoolGen cpg)
- Returns:
- type of field
-
getFieldName
public String getFieldName(ConstantPoolGen cpg)
- Returns:
- name of referenced field.
-
-