|
TechTrader Bytecode Toolkit | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.techtrader.modules.tools.bytecode.Instruction | +--com.techtrader.modules.tools.bytecode.ConstantInstruction
Represents an instruction that that loads a constant onto the stack. The opcode represented by this Instruction may change depending on the type and value of the constant set. For example, if the constant value is initially set to '5', the opcode will be iconst_5; if later incremented to '6', the opcode will be changed to bipush(6).
Fields inherited from class com.techtrader.modules.tools.bytecode.Instruction |
_byteIndex,
_opcode,
_opcodeTypes,
_owner |
Constructor Summary | |
protected |
ConstantInstruction(Code owner)
|
protected |
ConstantInstruction(Code owner,
int opcode,
Object value)
|
Method Summary | |
void |
acceptVisit(BCVisitor visit)
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object. |
protected void |
copy(Instruction orig)
|
boolean |
equals(Object other)
ConstantInstructions are equal if the const they reference is the same, or if the const of either is unset. |
Object |
getConstant()
Return the constant value as an Object; will be an instance of String, Integer, Float, Double, or Long, as necessary. |
Class |
getConstantType()
Return the class of constant this instruction references. |
String |
getConstantTypeName()
Return the class of constant this instruction references. |
double |
getDoubleConstant()
Get the constant to double, for float constants; must be a ldc2 instruction. |
float |
getFloatConstant()
Get the constant to load, for float constants. |
int |
getIntConstant()
Get the constant to load, for int constants. |
int |
getLength()
Return the length in bytes of this opcode, including all arguments. |
long |
getLongConstant()
Get the constant to load, for float constants; must be a ldc2 instruction. |
int |
getStackChange()
Return the number of stack positions this instruction pushes or pops during its execution. |
String |
getStringConstant()
Get the constant to load, for String constants. |
protected void |
readData(DataInput in)
Read the arguments for this opcode from the given stream. |
ConstantInstruction |
setConstant(Object value)
Set the constant to the given Object value. |
ConstantInstruction |
setDoubleConstant(double value)
Set the constant to load, for double constants; must be a ldc2 instruction. |
ConstantInstruction |
setFloatConstant(float value)
Set the constant to load, for float constants. |
ConstantInstruction |
setIntConstant(int value)
Set the constant to load, for int constants. |
ConstantInstruction |
setLongConstant(long value)
Set the constant to load, for long constants; must be a ldc2 instruction. |
ConstantInstruction |
setStringConstant(String value)
Set the constant to load, for String constants. |
protected void |
writeData(DataOutput out)
Write the arguments for this opcode to the given stream. |
Methods inherited from class com.techtrader.modules.tools.bytecode.Instruction |
getByteIndex,
getName,
getOpCode,
getOwner,
invalidate,
setByteIndex,
setOpCode |
Methods inherited from class java.lang.Object |
clone,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
protected ConstantInstruction(Code owner)
protected ConstantInstruction(Code owner, int opcode, Object value)
Method Detail |
public ConstantInstruction setConstant(Object value)
public Object getConstant()
public Class getConstantType()
public String getConstantTypeName()
public ConstantInstruction setStringConstant(String value)
public String getStringConstant()
public ConstantInstruction setIntConstant(int value)
public int getIntConstant()
public ConstantInstruction setFloatConstant(float value)
public float getFloatConstant()
public ConstantInstruction setLongConstant(long value)
public long getLongConstant()
public ConstantInstruction setDoubleConstant(double value)
public double getDoubleConstant()
public boolean equals(Object other)
public int getLength()
public int getStackChange()
protected void copy(Instruction orig)
protected void readData(DataInput in) throws IOException
protected void writeData(DataOutput out) throws IOException
public void acceptVisit(BCVisitor visit)
|
TechTrader Bytecode Toolkit | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |