diff --git a/demos/java/.project b/demos/java/.project
index f1e2727..2e6ed36 100644
--- a/demos/java/.project
+++ b/demos/java/.project
@@ -1,17 +1,28 @@
-
+
- java
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
\ No newline at end of file
+ java
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1599063072264
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/extension/src/EvaluationWatchService/EvaluationEngine/GenericEvaluationEngine.ts b/extension/src/EvaluationWatchService/EvaluationEngine/GenericEvaluationEngine.ts
index 26f63d4..5415991 100644
--- a/extension/src/EvaluationWatchService/EvaluationEngine/GenericEvaluationEngine.ts
+++ b/extension/src/EvaluationWatchService/EvaluationEngine/GenericEvaluationEngine.ts
@@ -1,4 +1,6 @@
import {
+ createGraph,
+ CreateGraphEdge,
DataExtractionResult,
DataExtractorId,
} from "@hediet/debug-visualizer-data-extraction";
@@ -49,6 +51,8 @@ export class GenericEvaluator implements Evaluator {
// Use structural information about variables
// from the evaluation response if present.
if (reply.variablesReference) {
+ let obj = await this.constructObjectFromVariablesReference(reply.variablesReference);
+
return {
kind: "data",
result: {
@@ -58,7 +62,30 @@ export class GenericEvaluator implements Evaluator {
name: "Generic",
priority: 1,
},
- data: await this.constructObjectFromVariablesReference(reply.variablesReference),
+ data: createGraph(
+ [obj],
+ (item: any) => {
+ function isObject(val: any): boolean {
+ return val && typeof val === "object";
+ }
+
+ const edges = new Array>();
+ for (const [key, val] of Object.entries(item)) {
+ if (isObject(val)) {
+ edges.push({ label: key, to: val });
+ }
+ }
+
+ const label = `${item}`;
+
+ return {
+ shape: "box",
+ edges,
+ color: item === obj ? "lightblue" : undefined,
+ label,
+ };
+ }
+ ),
},
}
} else {