public abstract class LongReturn extends JVMReturnInstruction
Modifier and Type | Field and Description |
---|---|
protected long |
ret |
returnFrame
attr, insnIndex, mi, position
Constructor and Description |
---|
LongReturn() |
Modifier and Type | Method and Description |
---|---|
void |
addReturnAttr(ThreadInfo ti,
java.lang.Object attr) |
protected void |
getAndSaveReturnValue(StackFrame frame) |
<T> T |
getNextReturnAttr(ThreadInfo ti,
java.lang.Class<T> type,
java.lang.Object prev) |
java.lang.Object |
getReturnAttr(ThreadInfo ti)
this returns all of them - use either if you know there will be only
one attribute at a time, or check/process result with ObjectList
obviously, this only makes sense from an instructionExecuted(), since
the value is pushed during the enter().
|
<T> T |
getReturnAttr(ThreadInfo ti,
java.lang.Class<T> type)
this only returns the first attr of this type, there can be more
if you don't use client private types or the provided type is too general
|
protected java.lang.Object |
getReturnedOperandAttr(StackFrame frame) |
int |
getReturnTypeSize() |
boolean |
hasReturnAttr(ThreadInfo ti) |
boolean |
hasReturnAttr(ThreadInfo ti,
java.lang.Class<?> type) |
protected void |
pushReturnValue(StackFrame frame) |
java.util.Iterator |
returnAttrIterator(ThreadInfo ti) |
<T> java.util.Iterator<T> |
returnAttrIterator(ThreadInfo ti,
java.lang.Class<T> type) |
void |
setReturnAttr(ThreadInfo ti,
java.lang.Object a)
this replaces all of them - use only if you know
- there will be only one attribute at a time
- you obtained the value you set by a previous getXAttr()
- you constructed a multi value list with ObjectList.createList()
we don't clone since pushing a return value already changed the caller frame
|
accept, cleanupTransients, execute, getReturnFrame, getReturnValue, setReturnFrame, toPostExecString
addAttr, asInstruction, attrIterator, attrIterator, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, isMonitorEnterPrologue, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, toString, typeSafeClone
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
asInstruction, getByteCode, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction
addAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttr
public int getReturnTypeSize()
getReturnTypeSize
in class JVMReturnInstruction
protected java.lang.Object getReturnedOperandAttr(StackFrame frame)
getReturnedOperandAttr
in class JVMReturnInstruction
protected void getAndSaveReturnValue(StackFrame frame)
getAndSaveReturnValue
in class JVMReturnInstruction
protected void pushReturnValue(StackFrame frame)
pushReturnValue
in class JVMReturnInstruction
public boolean hasReturnAttr(ThreadInfo ti)
hasReturnAttr
in class JVMReturnInstruction
public boolean hasReturnAttr(ThreadInfo ti, java.lang.Class<?> type)
hasReturnAttr
in class JVMReturnInstruction
public java.lang.Object getReturnAttr(ThreadInfo ti)
getReturnAttr
in class JVMReturnInstruction
public void setReturnAttr(ThreadInfo ti, java.lang.Object a)
setReturnAttr
in class JVMReturnInstruction
public <T> T getReturnAttr(ThreadInfo ti, java.lang.Class<T> type)
getReturnAttr
in class JVMReturnInstruction
public <T> T getNextReturnAttr(ThreadInfo ti, java.lang.Class<T> type, java.lang.Object prev)
getNextReturnAttr
in class JVMReturnInstruction
public java.util.Iterator returnAttrIterator(ThreadInfo ti)
returnAttrIterator
in class JVMReturnInstruction
public <T> java.util.Iterator<T> returnAttrIterator(ThreadInfo ti, java.lang.Class<T> type)
returnAttrIterator
in class JVMReturnInstruction
public void addReturnAttr(ThreadInfo ti, java.lang.Object attr)
addReturnAttr
in class JVMReturnInstruction