summaryrefslogtreecommitdiff
path: root/chapter05/src/test/java
diff options
context:
space:
mode:
authordibyendumajumdar <mobile@majumdar.org.uk>2023-10-28 11:14:37 +0100
committerDibyendu Majumdar <dibyendumajumdar@users.noreply.github.com>2023-11-01 18:56:50 +0000
commiteb60c8aa1ffd8602c4ca47fadf4c82154ca04f12 (patch)
tree79843f5c5ecad7f7a5502df8d5f6f58d6eb8ce2b /chapter05/src/test/java
parent9be4a28daa683d6fad406dfb12000f509a2e7896 (diff)
downloadSimple-eb60c8aa1ffd8602c4ca47fadf4c82154ca04f12.tar.gz
Simple-eb60c8aa1ffd8602c4ca47fadf4c82154ca04f12.zip
Update visualization to show all the Scope Nodes that are active.
Fix test cases broken due to renaming of ProjNode label. Cleanup the way we update $ctrl token Assign an ID to each ScopeNode so that when we visualize we can assign different names
Diffstat (limited to 'chapter05/src/test/java')
-rw-r--r--chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java b/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
index 0604e9c6..cc5b5871 100644
--- a/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
+++ b/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
@@ -15,8 +15,19 @@ public class Chapter05Test {
@Test
public void testChapter5IfStmt() {
- Parser parser = new Parser("int a = 1; if (arg == 1) a = arg+2; else a = arg-3; return a; #showGraph;", TypeInteger.BOT);
+ Parser parser = new Parser("""
+ int a = 1;\s
+ if (arg == 1)\s
+ a = arg+2;\s
+ else {
+ a = arg-3;\s
+ #showGraph;
+ }
+ return a;\s
+ #showGraph;
+ """, TypeInteger.BOT);
ReturnNode ret = parser.parse();
+ assertEquals("return Phi(Region15,(arg3+2),(arg3-3));", ret.toString());
}
@@ -24,42 +35,42 @@ public class Chapter05Test {
public void testChapter4Peephole() {
Parser parser = new Parser("return 1+arg+2; #showGraph;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return (Proj_3+3);", ret.print());
+ assertEquals("return (arg3+3);", ret.print());
}
@Test
public void testChapter4Peephole2() {
Parser parser = new Parser("return (1+arg)+2;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return (Proj_3+3);", ret.print());
+ assertEquals("return (arg3+3);", ret.print());
}
@Test
public void testChapter4Add0() {
Parser parser = new Parser("return 0+arg;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return Proj_3;", ret.print());
+ assertEquals("return arg3;", ret.print());
}
@Test
public void testChapter4AddAddMul() {
Parser parser = new Parser("return arg+0+arg;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return (Proj_3*2);", ret.print());
+ assertEquals("return (arg3*2);", ret.print());
}
@Test
public void testChapter4Peephole3() {
Parser parser = new Parser("return 1+arg+2+arg+3; #showGraph;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return ((Proj_3*2)+6);", ret.print());
+ assertEquals("return ((arg3*2)+6);", ret.print());
}
@Test
public void testChapter4Mul1() {
Parser parser = new Parser("return 1*arg;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return Proj_3;", ret.print());
+ assertEquals("return arg3;", ret.print());
}
@Test
@@ -109,14 +120,14 @@ public class Chapter05Test {
public void testChapter4Bug1() {
Parser parser = new Parser("int a=arg+1; int b=a; b=1; return a+2; #showGraph;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return (Proj_3+3);", ret.print());
+ assertEquals("return (arg3+3);", ret.print());
}
@Test
public void testChapter4Bug2() {
Parser parser = new Parser("int a=arg+1; a=a; return a; #showGraph;", TypeInteger.BOT);
ReturnNode ret = parser.parse();
- assertEquals("return (Proj_3+1);", ret.print());
+ assertEquals("return (arg3+1);", ret.print());
}
@Test