summaryrefslogtreecommitdiff
path: root/chapter28b/src/test/java
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-25 10:24:58 -0700
committerCliff Click <cliffc@acm.org>2026-10-25 10:24:58 -0700
commit69e4a21f71aca4954469063387063434af35e679 (patch)
tree672e81600681625a22ed11f591b53d851f51c7d6 /chapter28b/src/test/java
parent4051ce7cd26314f01dc8c0237899a742e0ab2084 (diff)
downloadSimple-69e4a21f71aca4954469063387063434af35e679.tar.gz
Simple-69e4a21f71aca4954469063387063434af35e679.zip
Backport a few missing guard checksmain
Diffstat (limited to 'chapter28b/src/test/java')
-rw-r--r--chapter28b/src/test/java/com/seaofnodes/simple/Chapter28bTest.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/chapter28b/src/test/java/com/seaofnodes/simple/Chapter28bTest.java b/chapter28b/src/test/java/com/seaofnodes/simple/Chapter28bTest.java
new file mode 100644
index 00000000..fb418b9a
--- /dev/null
+++ b/chapter28b/src/test/java/com/seaofnodes/simple/Chapter28bTest.java
@@ -0,0 +1,47 @@
+package com.seaofnodes.simple;
+
+//
+//import com.seaofnodes.simple.codegen.CodeGen;
+//import com.seaofnodes.simple.codegen.RegAllocTestSupport.CheckedCodeGen;
+//import com.seaofnodes.simple.codegen.ElfReader;
+//import com.seaofnodes.simple.codegen.ParseAll;
+//import com.seaofnodes.simple.node.CallNode;
+//import com.seaofnodes.simple.node.FunNode;
+//import com.seaofnodes.simple.node.LoopNode;
+//import com.seaofnodes.simple.type.TypeInteger;
+//import com.seaofnodes.simple.util.Ary;
+//import java.io.File;
+//import java.io.FileWriter;
+//import java.io.IOException;
+//import java.io.ByteArrayOutputStream;
+//import java.io.PrintStream;
+//import java.nio.charset.StandardCharsets;
+//import java.nio.file.Files;
+//import java.nio.file.Path;
+import com.seaofnodes.simple.codegen.CodeGen;
+import org.junit.Ignore;
+import org.junit.Test;
+//
+import static org.junit.Assert.*;
+
+public class Chapter28bTest {
+
+ @Ignore
+ @Test
+ public void testJig() {
+ String src = """
+struct C {
+ int x;
+ new C = { int n ->
+ while(n--)
+ if(n) x=1;
+ };
+};
+return new C(arg).x;
+""";
+ CodeGen code = new CodeGen(src).driver(CodeGen.Phase.Encoding,"riscv","SystemV");
+ assertEquals("return (arg+3);", code.print());
+ assertEquals("3",Eval2.eval(code,0));
+ }
+
+}