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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate HashMap<ArrayReference, Object[]> private ValueMap.CallTreeprivate HashMap<ThreadReference, Stack<HashMap<LocalVariable, Value>>> private HashMap<ArrayReference, String> private HashMap<ArrayReference, Object[]> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanarrayFieldHasChanged(Boolean show, ThreadReference thr, ObjectReference objRef, IndentPrinter printer) private booleanarrayStaticFieldHasChanged(Boolean show, ThreadReference thr, IndentPrinter printer) private booleanarrayValueHasChanged(ArrayReference oldArray, ArrayReference newArray) private booleanarrayValueHasChangedHelper(Object[] oldObjArray, ArrayReference newArray) voidprivate static Object[]copyArray(ArrayReference oldArrayReference) booleanintnumFrames(ThreadReference thr) intvoidvoidbooleanregisterStaticArray(ArrayReference val, String name) voidvoidvoidvoidstackPushFrame(StackFrame currFrame, ThreadReference thr) voidstackUpdateFrame(Method meth, ThreadReference thr, IndentPrinter printer) private booleanvalueHasChanged(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
-