de.fub.bytecode.generic
Class FieldInstruction

java.lang.Object
  |
  +--de.fub.bytecode.generic.Instruction
        |
        +--de.fub.bytecode.generic.CPInstruction
              |
              +--de.fub.bytecode.generic.FieldOrMethod
                    |
                    +--de.fub.bytecode.generic.FieldInstruction
All Implemented Interfaces:
java.lang.Cloneable, IndexedInstruction, LoadClass, java.io.Serializable, TypedInstruction
Direct Known Subclasses:
GETFIELD, GETSTATIC, PUTFIELD, PUTSTATIC

public abstract class FieldInstruction
extends FieldOrMethod
implements TypedInstruction

Super class for the GET/PUTxxx family of instructions.

Version:
$Id: FieldInstruction.java,v 1.6 2001/07/03 08:20:18 dahm Exp $
Author:
M. Dahm
See Also:
Serialized Form

Fields inherited from class de.fub.bytecode.generic.CPInstruction
index
 
Fields inherited from class de.fub.bytecode.generic.Instruction
length, opcode
 
Constructor Summary
protected FieldInstruction(short opcode, int index)
           
 
Method Summary
 java.lang.String getFieldName(ConstantPoolGen cpg)
           
protected  int getFieldSize(ConstantPoolGen cpg)
           
 Type getFieldType(ConstantPoolGen cpg)
           
 Type getType(ConstantPoolGen cpg)
          Returns the type associated with this instruction.
 java.lang.String toString(ConstantPool cp)
           
 
Methods inherited from class de.fub.bytecode.generic.FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getSignature
 
Methods inherited from class de.fub.bytecode.generic.CPInstruction
dump, getIndex, initFromFile, setIndex, toString
 
Methods inherited from class de.fub.bytecode.generic.Instruction
accept, consumeStack, consumeStack, copy, getLength, getOpcode, getTag, produceStack, produceStack, readInstruction, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FieldInstruction

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

toString

public java.lang.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 TypedInstruction
Overrides:
getType in class CPInstruction
Returns:
return type of referenced field

getFieldType

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

getFieldName

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