diff options
Diffstat (limited to 'chapter10a/src/test/java')
| -rw-r--r-- | chapter10a/src/test/java/com/seaofnodes/simple/Chapter04Test.java | 3 | ||||
| -rw-r--r-- | chapter10a/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/chapter10a/src/test/java/com/seaofnodes/simple/Chapter04Test.java b/chapter10a/src/test/java/com/seaofnodes/simple/Chapter04Test.java index f1603cc4..edc62f50 100644 --- a/chapter10a/src/test/java/com/seaofnodes/simple/Chapter04Test.java +++ b/chapter10a/src/test/java/com/seaofnodes/simple/Chapter04Test.java @@ -85,6 +85,9 @@ public class Chapter04Test { ReturnNode ret = stop.ret(); assertTrue(ret.in(0) instanceof ProjNode); assertTrue(ret.in(1) instanceof ProjNode); + assertEquals(1, ((ProjNode)ret.in(1))._idx); + assertTrue(ret.in(2) instanceof ProjNode); + assertEquals(2, ((ProjNode)ret.in(2))._idx); } @Test diff --git a/chapter10a/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java b/chapter10a/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java index eaeb061b..bddcc596 100644 --- a/chapter10a/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java +++ b/chapter10a/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java @@ -162,7 +162,7 @@ public class Evaluator { case null: return Status.FALLTHROUGH; case ReturnNode ret: - return val(ret.in(1)); + return val(ret.expr()); case IfNode ifn: block = block.next()[isTrue(val(ifn.in(1))) ? 0 : 1]; if (block == null) return Status.FALLTHROUGH; |
