Package stdlib
Class ValueMap
java.lang.Object
stdlib.ValueMap
Keeps track of values in order to spot changes. This keeps copies of stack
variables (frames) and arrays. Does not store objects, since direct changes
to fields can be trapped by the JDI.
- Author:
- James Riely, jriely@cs.depaul.edu, August 2014
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate HashMap
<ArrayReference, Object[]> private ValueMap.CallTree
private HashMap
<ThreadReference, Stack<HashMap<LocalVariable, Value>>> private HashMap
<ArrayReference, String> private HashMap
<ArrayReference, Object[]> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
arrayFieldHasChanged
(Boolean show, ThreadReference thr, ObjectReference objRef, IndentPrinter printer) private boolean
arrayStaticFieldHasChanged
(Boolean show, ThreadReference thr, IndentPrinter printer) private boolean
arrayValueHasChanged
(ArrayReference oldArray, ArrayReference newArray) private boolean
arrayValueHasChangedHelper
(Object[] oldObjArray, ArrayReference newArray) void
private static Object[]
copyArray
(ArrayReference oldArrayReference) boolean
int
numFrames
(ThreadReference thr) int
void
void
boolean
registerStaticArray
(ArrayReference val, String name) void
void
void
void
stackPushFrame
(StackFrame currFrame, ThreadReference thr) void
stackUpdateFrame
(Method meth, ThreadReference thr, IndentPrinter printer) private boolean
valueHasChanged
(Value oldValue, Value newValue)
-
Field Details
-
stacks
-
arrays
-
staticArrays
-
staticArrayNames
-
callTree
-
-
Constructor Details
-
ValueMap
ValueMap()
-
-
Method Details
-
numThreads
-
clearCallTree
-
printCallTree
-
maybeAdjustAfterException
-
numFrames
-
stackCreate
-
stackDestroy
-
stackPushFrame
-
stackPopFrame
-
stackUpdateFrame
-
registerArray
-
registerStaticArray
-
copyArray
-
valueHasChanged
-
arrayStaticFieldHasChanged
private boolean arrayStaticFieldHasChanged(Boolean show, ThreadReference thr, IndentPrinter printer) -
arrayFieldHasChanged
private boolean arrayFieldHasChanged(Boolean show, ThreadReference thr, ObjectReference objRef, IndentPrinter printer) -
arrayValueHasChanged
-
arrayValueHasChangedHelper
-