diff options
Diffstat (limited to 'chapter20/src/main/java/com')
| -rw-r--r-- | chapter20/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chapter20/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java b/chapter20/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java index 5c277abc..4aae9acd 100644 --- a/chapter20/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java +++ b/chapter20/src/main/java/com/seaofnodes/simple/print/SimpleGraphAdapter.java @@ -24,7 +24,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._vars.get(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; } |
