Package stdlib
Class Graphviz
java.lang.Object
stdlib.Graphviz
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static Stringprivate static Stringprivate static Stringprivate static intprivate static intprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprotected static final Stringprivate static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddNullDot(String gvSource, String label, String arrowAttributes, PrintWriter out) private static booleancanAppearUnquotedInLabel(char c) private static booleancanIgnoreObjectField(Field field) private static booleancanIgnoreStaticField(Field field) private static booleanstatic voiddrawFrames(int start, int len, String loc, Value returnVal, Value exnVal, List<StackFrame> frames, Set<ReferenceType> staticClasses, boolean overrideShowStatics) static voiddrawFramesCheck(String loc, Value returnVal, Value exnVal, List<StackFrame> frames, Set<ReferenceType> staticClasses) static voiddrawObjects(String loc, Map<String, ObjectReference> objects) protected static voiddrawStuff(String loc, Consumer<PrintWriter> consumer) private static StringframeGvName(int frameNumber) private static booleanprivate static StringframeName(int frameNumber, StackFrame frame, Method method, int lineNumber) static Stringprivate static booleanprivate static booleanstatic booleanprivate static voidlabelFrameWithNoPrimitiveLocals(int frameNumber, StackFrame frame, PrintWriter out) private static voidlabelFrameWithSomePrimitiveLocals(int frameNumber, StackFrame frame, Map<LocalVariable, Value> ls, PrintWriter out) private static voidlabelNodeWithSomePrimitiveFields(ObjectReference obj, List<Field> fs, PrintWriter out) private static voidprivate static voidlabelObjectWithSomePrimitiveFields(ObjectReference obj, List<Field> fs, PrintWriter out) private static voidprivate static voidlabelStaticClassWithSomePrimitiveFields(ReferenceType type, List<Field> fs, PrintWriter out) private static booleanprivate static Stringprivate static Stringprivate static booleanobjectHasNonNodeReferences(List<Field> fs, ObjectReference obj) private static booleanobjectHasPrimitives(List<Field> fs, ObjectReference obj) private static Stringprivate static StringobjectNameOnly(Value val) static StringThe name of the output file is derived frombaseFilenameby appending successive integers.private static booleanprocessFrame(int frameNumber, StackFrame frame, PrintWriter out, Set<ObjectReference> visited) private static voidprocessNodeStandalone(boolean srcIsNode, boolean srcHasNonNodeReferences, String gvSource, String fieldName, Value val, PrintWriter out, Set<ObjectReference> visited) private static voidprocessObject(ObjectReference obj, PrintWriter out, Set<ObjectReference> visited) private static voidprocessObjectArray(ArrayReference obj, PrintWriter out, Set<ObjectReference> visited) private static voidprocessObjectWithLabel(String label, ObjectReference obj, PrintWriter out, Set<ObjectReference> visited) private static voidprocessPrimitiveArray(ArrayReference obj, PrintWriter out) private static voidprocessStaticClass(ReferenceType type, PrintWriter out, Set<ObjectReference> visited) private static booleanprocessValueInline(boolean showNull, String prefix, Value val, PrintWriter out) private static voidprocessValueStandalone(String gvSource, String arrowAttributes, String fieldName, Value val, PrintWriter out, Set<ObjectReference> visited) private static voidprocessWrapperAsSimple(String gvName, Value val, PrintWriter out, Set<ObjectReference> visited) protected static Stringprivate static voidstatic voidsetOutputDirectory(String dirName, String mainClassName) Graphics files are saved in directory dirName/mainClassName.private static Stringprivate static booleanprivate static booleanstaticClassHasPrimitives(List<Field> fs, ReferenceType staticClass) private static StringstaticClassName(ReferenceType type) private static StringUnescapes a string that contains standard Java escape sequences.private static ValuevalueByFieldname(ObjectReference obj, String fieldName)
-
Field Details
-
dirName
-
mainClassName
-
nextGraphNumber
-
baseFilename
-
objectAttributeMap
-
staticClassAttributeMap
-
frameAttributeMap
-
fieldAttributeMap
-
quotable
- See Also:
-
PREFIX_UNUSED_LABEL
- See Also:
-
PREFIX_LABEL
- See Also:
-
PREFIX_ARRAY
- See Also:
-
PREFIX_OBJECT
- See Also:
-
PREFIX_STATIC
- See Also:
-
PREFIX_FRAME
- See Also:
-
PREFIX_RETURN
- See Also:
-
PREFIX_EXCEPTION
- See Also:
-
nullId
-
-
Constructor Details
-
Graphviz
private Graphviz()
-
-
Method Details
-
setOutputDirectory
Graphics files are saved in directory dirName/mainClassName. dirName directory is created if it does not already exist. If dirName/mainClassName exists, then numbers are appended to the directory name: "dirName/mainClassName 1", "dirName/mainClassName 2", etc. -
isWindows
-
getDesktop
-
peekFilename
The name of the output file is derived frombaseFilenameby appending successive integers. -
nextFilename
-
setBaseFilename
-
canTreatAsPrimitive
-
looksLikePrimitiveArray
-
canIgnoreObjectField
-
canIgnoreStaticField
-
canAppearUnquotedInLabel
-
quote
-
unescapeJavaString
Unescapes a string that contains standard Java escape sequences.- \\b \\f \\n \\r \\t \\" \\' : BS, FF, NL, CR, TAB, double and single quote.
- \\N \\NN \\NNN : Octal character specification (0 - 377, 0x00 - 0xFF).
- \\uNNNN : Hexadecimal based Unicode character.
- Parameters:
st- A string optionally containing standard java escape sequences.- Returns:
- The translated string.
-
processPrimitiveArray
-
processObjectArray
private static void processObjectArray(ArrayReference obj, PrintWriter out, Set<ObjectReference> visited) -
processValueStandalone
private static void processValueStandalone(String gvSource, String arrowAttributes, String fieldName, Value val, PrintWriter out, Set<ObjectReference> visited) -
processValueInline
private static boolean processValueInline(boolean showNull, String prefix, Value val, PrintWriter out) -
processWrapperAsSimple
private static void processWrapperAsSimple(String gvName, Value val, PrintWriter out, Set<ObjectReference> visited) -
objectNameOnly
-
objectName
-
objectGvName
-
objectHasPrimitives
-
objectHasNonNodeReferences
-
labelObjectWithNoPrimitiveFields
-
labelObjectWithSomePrimitiveFields
private static void labelObjectWithSomePrimitiveFields(ObjectReference obj, List<Field> fs, PrintWriter out) -
labelNodeWithSomePrimitiveFields
private static void labelNodeWithSomePrimitiveFields(ObjectReference obj, List<Field> fs, PrintWriter out) -
processNodeStandalone
private static void processNodeStandalone(boolean srcIsNode, boolean srcHasNonNodeReferences, String gvSource, String fieldName, Value val, PrintWriter out, Set<ObjectReference> visited) -
addNullDot
private static void addNullDot(String gvSource, String label, String arrowAttributes, PrintWriter out) -
processObjectWithLabel
private static void processObjectWithLabel(String label, ObjectReference obj, PrintWriter out, Set<ObjectReference> visited) -
valueByFieldname
-
isNode
-
isNode
-
processObject
private static void processObject(ObjectReference obj, PrintWriter out, Set<ObjectReference> visited) -
staticClassName
-
staticClassGvName
-
staticClassHasFields
-
staticClassHasPrimitives
-
labelStaticClassWithNoPrimitiveFields
-
labelStaticClassWithSomePrimitiveFields
private static void labelStaticClassWithSomePrimitiveFields(ReferenceType type, List<Field> fs, PrintWriter out) -
processStaticClass
private static void processStaticClass(ReferenceType type, PrintWriter out, Set<ObjectReference> visited) -
frameName
-
frameGvName
-
frameHasPrimitives
-
labelFrameWithNoPrimitiveLocals
private static void labelFrameWithNoPrimitiveLocals(int frameNumber, StackFrame frame, PrintWriter out) -
labelFrameWithSomePrimitiveLocals
private static void labelFrameWithSomePrimitiveLocals(int frameNumber, StackFrame frame, Map<LocalVariable, Value> ls, PrintWriter out) -
processFrame
private static boolean processFrame(int frameNumber, StackFrame frame, PrintWriter out, Set<ObjectReference> visited) -
drawFramesCheck
public static void drawFramesCheck(String loc, Value returnVal, Value exnVal, List<StackFrame> frames, Set<ReferenceType> staticClasses) -
drawFrames
public static void drawFrames(int start, int len, String loc, Value returnVal, Value exnVal, List<StackFrame> frames, Set<ReferenceType> staticClasses, boolean overrideShowStatics) -
drawObjects
-
drawStuff
-