public abstract class JVMArrayElementInstruction extends ArrayElementInstruction
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object |
arrayOperandAttr |
protected int |
arrayRef |
protected int |
index |
protected java.lang.Object |
indexOperandAttr |
attr, insnIndex, mi, position
Constructor and Description |
---|
JVMArrayElementInstruction() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getArrayOperandAttr(ThreadInfo ti) |
int |
getArrayRef(ThreadInfo ti)
only makes sense from an executeInstruction() or instructionExecuted() listener,
it is undefined outside of insn exec notifications
|
ElementInfo |
getElementInfo(ThreadInfo ti)
where do we read from/write to
NOTE - this is a StaticElementInfo in case this is a PUT/GETSTATIC
|
protected int |
getElementSize()
return size of array elements in stack words (long,double: 2, all other: 1)
e.g.
|
int |
getIndex(ThreadInfo ti) |
java.lang.Object |
getIndexOperandAttr(ThreadInfo ti) |
abstract boolean |
isRead() |
boolean |
isReferenceArray() |
abstract java.lang.Object |
peekArrayAttr(ThreadInfo ti) |
ElementInfo |
peekArrayElementInfo(ThreadInfo ti) |
abstract int |
peekArrayRef(ThreadInfo ti) |
abstract int |
peekIndex(ThreadInfo ti) |
abstract java.lang.Object |
peekIndexAttr(ThreadInfo ti) |
addAttr, asInstruction, attrIterator, attrIterator, cleanupTransients, execute, 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, toPostExecString, toString, typeSafeClone
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
asInstruction, execute, getByteCode, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, toPostExecString
addAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttr
protected int arrayRef
protected int index
protected java.lang.Object arrayOperandAttr
protected java.lang.Object indexOperandAttr
public abstract int peekIndex(ThreadInfo ti)
peekIndex
in class ArrayElementInstruction
public abstract int peekArrayRef(ThreadInfo ti)
public abstract java.lang.Object peekIndexAttr(ThreadInfo ti)
public abstract java.lang.Object peekArrayAttr(ThreadInfo ti)
public boolean isReferenceArray()
public ElementInfo getElementInfo(ThreadInfo ti)
ReadOrWriteInstruction
public int getArrayRef(ThreadInfo ti)
public java.lang.Object getArrayOperandAttr(ThreadInfo ti)
public java.lang.Object getIndexOperandAttr(ThreadInfo ti)
public ElementInfo peekArrayElementInfo(ThreadInfo ti)
peekArrayElementInfo
in class ArrayElementInstruction
public int getIndex(ThreadInfo ti)
protected int getElementSize()
public abstract boolean isRead()