summaryrefslogtreecommitdiff
path: root/chapter10b/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'chapter10b/src/test/java')
-rw-r--r--chapter10b/src/test/java/com/seaofnodes/simple/Chapter04Test.java3
-rw-r--r--chapter10b/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java2
2 files changed, 4 insertions, 1 deletions
diff --git a/chapter10b/src/test/java/com/seaofnodes/simple/Chapter04Test.java b/chapter10b/src/test/java/com/seaofnodes/simple/Chapter04Test.java
index f1603cc4..edc62f50 100644
--- a/chapter10b/src/test/java/com/seaofnodes/simple/Chapter04Test.java
+++ b/chapter10b/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/chapter10b/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java b/chapter10b/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
index e49e0303..ac7c5e09 100644
--- a/chapter10b/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
+++ b/chapter10b/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
@@ -163,7 +163,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;