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, typeSafeCloneclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitasInstruction, execute, getByteCode, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, toPostExecStringaddAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttrprotected int arrayRef
protected int index
protected java.lang.Object arrayOperandAttr
protected java.lang.Object indexOperandAttr
public abstract int peekIndex(ThreadInfo ti)
peekIndex in class ArrayElementInstructionpublic 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)
ReadOrWriteInstructionpublic 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 ArrayElementInstructionpublic int getIndex(ThreadInfo ti)
protected int getElementSize()
public abstract boolean isRead()