diff options
Diffstat (limited to 'chapter25/src')
| -rw-r--r-- | chapter25/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java | 4 |
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; } |
