|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.techtrader.modules.tools.bytecode
Class MathInstruction

java.lang.Objectcom.techtrader.modules.tools.bytecode.Instruction
com.techtrader.modules.tools.bytecode.MathInstruction
- All Implemented Interfaces:
- Constants, com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor
- public class MathInstruction
- extends Instruction
Represents one of the math operations defined in the Constants interface. Changing the type or operation of the instruction will automatically update the underlying opcode. Note, however, that some operations cannot act on floating point types.
| Field Summary | |
private int |
_operation
|
private java.lang.Class |
_type
|
private static java.util.Map |
_typeNames
|
| Fields inherited from class com.techtrader.modules.tools.bytecode.Instruction |
_byteIndex, _opcode, _opcodeTypes, _owner |
| Constructor Summary | |
protected |
MathInstruction(Code owner)
|
protected |
MathInstruction(Code owner,
int opcode,
int operation,
java.lang.Class type)
|
| Method Summary | |
void |
acceptVisit(com.techtrader.modules.tools.bytecode.visitor.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. |
private void |
calculateOpCode()
Helper method to calculate the correct opcode for this instruction. |
protected void |
copy(Instruction orig)
|
boolean |
equals(java.lang.Object other)
MathInstructions are equal if they have the same operation and type, or the type of either is unset. |
int |
getOperation()
Return the operation for this math instruction; will be one of the math constant defined in Constants, or -1 if unset. |
int |
getStackChange()
Return the number of stack positions this instruction pushes or pops during its execution. |
java.lang.Class |
getType()
Get the type of args to operation on; will be one of: int, float, double, long. |
MathInstruction |
setOperation(int operation)
Set the math operation to be performed. |
MathInstruction |
setType(java.lang.Class type)
Set the type of args to operate on. |
MathInstruction |
setTypeName(java.lang.String name)
Set the type to load by name. |
| Methods inherited from class com.techtrader.modules.tools.bytecode.Instruction |
getByteIndex, getLength, getName, getOpCode, getOwner, invalidate, readData, setByteIndex, setOpCode, writeData |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
_typeNames
private static final java.util.Map _typeNames
_type
private java.lang.Class _type
_operation
private int _operation
| Constructor Detail |
MathInstruction
protected MathInstruction(Code owner)
MathInstruction
protected MathInstruction(Code owner, int opcode, int operation, java.lang.Class type)
| Method Detail |
setOperation
public MathInstruction setOperation(int operation)
- Set the math operation to be performed. This should be one of the
math constant defined in Constants.
getOperation
public int getOperation()
- Return the operation for this math instruction; will be one of the
math constant defined in Constants, or -1 if
unset.
getType
public java.lang.Class getType()
- Get the type of args to operation on; will be one of:
int, float, double, long.
If the type has not been set, this method will return null.
setType
public MathInstruction setType(java.lang.Class type)
- Set the type of args to operate on. Types without direct support are
demoted to int.class.
setTypeName
public MathInstruction setTypeName(java.lang.String name)
- Set the type to load by name.
equals
public boolean equals(java.lang.Object other)
- MathInstructions are equal if they have the same operation and type,
or the type of either is unset.
- Overrides:
equalsin classInstruction
getStackChange
public int getStackChange()
- Description copied from class:
Instruction - Return the number of stack positions this instruction pushes
or pops during its execution.
- Overrides:
getStackChangein classInstruction
copy
protected void copy(Instruction orig)
- Overrides:
copyin classInstruction
calculateOpCode
private void calculateOpCode()
- Helper method to calculate the correct opcode for this instruction.
Takes advantage of the arrangements of the opcodes and constants.
acceptVisit
public void acceptVisit(com.techtrader.modules.tools.bytecode.visitor.BCVisitor visit)
- Description copied from interface:
com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor - 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.
- Specified by:
acceptVisitin interfacecom.techtrader.modules.tools.bytecode.visitor.VisitAcceptor- Overrides:
acceptVisitin classInstruction
|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC