com.techtrader.modules.tools.bytecode
Class ReturnInstruction
java.lang.Object
|
+--com.techtrader.modules.tools.bytecode.Instruction
|
+--com.techtrader.modules.tools.bytecode.ReturnInstruction
- public class ReturnInstruction
- extends Instruction
Represents a return instruction.
- Author:
- Abe White
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)
Two return instructions are equal if the types they
reference are equal or if either unset. |
int |
getStackChange()
Return the number of stack positions this instruction pushes
or pops during its execution. |
Class |
getType()
Get the type to return; this is one of:
int, float, double, long, void, or Object.class. |
String |
getTypeName()
Get the type to return; this is one of:
int, float, double, long, void, or java.lang.Object. |
ReturnInstruction |
setType(Class type)
Set the type to rturn; Object types other than Object.class
will be demoted to Object.class, and primitives that have no direct
support (boolean, char, short, byte) will be converted to int.class. |
ReturnInstruction |
setTypeName(String name)
Set the type to load by name. |
_typeNames
protected static final Map _typeNames
ReturnInstruction
protected ReturnInstruction(Code owner)
ReturnInstruction
protected ReturnInstruction(Code owner,
int opcode,
Class type)
getType
public Class getType()
- Get the type to return; this is one of:
int, float, double, long, void, or Object.class.
If the type has not been set, this method will return null.
getTypeName
public String getTypeName()
- Get the type to return; this is one of:
int, float, double, long, void, or java.lang.Object.
If the type has not been set, this method will return null.
setType
public ReturnInstruction setType(Class type)
- Set the type to rturn; Object types other than Object.class
will be demoted to Object.class, and primitives that have no direct
support (boolean, char, short, byte) will be converted to int.class.
- Returns:
- this Instruction, for method chaining
setTypeName
public ReturnInstruction setTypeName(String name)
- Set the type to load by name.
- Returns:
- this Instruction, for method chaining
- See Also:
setType(java.lang.Class)
equals
public boolean equals(Object other)
- Two return instructions are equal if the types they
reference are equal or if either unset.
- Overrides:
- equals in class Instruction
getStackChange
public int getStackChange()
- Description copied from class: Instruction
- Return the number of stack positions this instruction pushes
or pops during its execution.
- Overrides:
- getStackChange in class Instruction
- Tags copied from class: Instruction
- Returns:
- 0 if the stack is not affected by this instruction, a
positive number if it pushes onto the stack, and a negative
number if it pops from the stack
copy
protected void copy(Instruction orig)
- Overrides:
- copy in class Instruction
acceptVisit
public void acceptVisit(BCVisitor visit)
- Description copied from interface: 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.
- Overrides:
- acceptVisit in class Instruction