summaryrefslogtreecommitdiff
path: root/chapter25/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'chapter25/src/main/java')
-rw-r--r--chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java b/chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java
index e0c87682..f3619bb5 100644
--- a/chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java
+++ b/chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java
@@ -32,7 +32,9 @@ public class SimpleGraphAdapter extends GraphAdapter<Node> {
for( int i = 0; i < n.nIns(); i++ ) {
String name = n instanceof ScopeNode scope && i < scope._vars.size()
? scope.var(i)._name : null;
- edges.add(new Edge(i, ref(n.in(i)), role(n, i), name));
+ int jump = n instanceof CallEndNode && i>0 && n.in(i) instanceof ReturnNode ret
+ ? ref(ret.fun()) : 0;
+ edges.add(new Edge(i, ref(n.in(i)), role(n, i), name, jump));
}
return edges;
}