summaryrefslogtreecommitdiff
path: root/chapter18/src/test/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'chapter18/src/test/java/com')
-rw-r--r--chapter18/src/test/java/com/seaofnodes/simple/Chapter10Test.java6
-rw-r--r--chapter18/src/test/java/com/seaofnodes/simple/Chapter13Test.java4
-rw-r--r--chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java6
-rw-r--r--chapter18/src/test/java/com/seaofnodes/simple/TypeTest.java20
4 files changed, 16 insertions, 20 deletions
diff --git a/chapter18/src/test/java/com/seaofnodes/simple/Chapter10Test.java b/chapter18/src/test/java/com/seaofnodes/simple/Chapter10Test.java
index 435a2012..86d807a5 100644
--- a/chapter18/src/test/java/com/seaofnodes/simple/Chapter10Test.java
+++ b/chapter18/src/test/java/com/seaofnodes/simple/Chapter10Test.java
@@ -117,7 +117,7 @@ bar.a = 1;
return bar.a;
""");
try { parser.parse().iterate(); fail(); }
- catch( Exception e ) { assertEquals("Type nil is not of declared type *Bar",e.getMessage()); }
+ catch( Exception e ) { assertEquals("Type null is not of declared type *Bar",e.getMessage()); }
}
@Test
@@ -143,7 +143,7 @@ bar.a = 1;
return bar.a;
""");
try { parser.parse(); fail(); }
- catch( Exception e ) { assertEquals("Type nil is not of declared type *Bar", e.getMessage()); }
+ catch( Exception e ) { assertEquals("Type null is not of declared type *Bar", e.getMessage()); }
}
@Test
@@ -156,7 +156,7 @@ if( bar ) bar.a = 1;
return bar;
""");
StopNode stop = parser.parse(false).iterate();
- assertEquals("return Phi(Region,nil,Bar);", stop.toString());
+ assertEquals("return Phi(Region,null,Bar);", stop.toString());
}
@Test
diff --git a/chapter18/src/test/java/com/seaofnodes/simple/Chapter13Test.java b/chapter18/src/test/java/com/seaofnodes/simple/Chapter13Test.java
index a3e7c47f..30d9b147 100644
--- a/chapter18/src/test/java/com/seaofnodes/simple/Chapter13Test.java
+++ b/chapter18/src/test/java/com/seaofnodes/simple/Chapter13Test.java
@@ -87,7 +87,7 @@ N n = new N;
return n.next;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return nil;", stop.toString());
+ assertEquals("return null;", stop.toString());
}
@Test
@@ -113,7 +113,7 @@ N n = new N { next = null; }
return n.next;
""");
try { parser.parse().iterate(); fail(); }
- catch( Exception e ) { assertEquals("Type nil is not of declared type *M",e.getMessage()); }
+ catch( Exception e ) { assertEquals("Type null is not of declared type *M",e.getMessage()); }
}
@Test
diff --git a/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java b/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
index e9f8c367..8ac98d72 100644
--- a/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
+++ b/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
@@ -22,15 +22,15 @@ return 3.14;
// ---------------------------------------------------------------
- @Ignore @Test
+ @Test
public void testType0() {
Parser parser = new Parser("""
{int -> int}? x2 = null; // null function ptr
return x2;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return arg;", stop.toString());
- assertEquals(0L, Evaluator.evaluate(stop, 0));
+ assertEquals("return null;", stop.toString());
+ assertEquals(null, Evaluator.evaluate(stop, 0));
}
diff --git a/chapter18/src/test/java/com/seaofnodes/simple/TypeTest.java b/chapter18/src/test/java/com/seaofnodes/simple/TypeTest.java
index 0fb0d431..6a1d737d 100644
--- a/chapter18/src/test/java/com/seaofnodes/simple/TypeTest.java
+++ b/chapter18/src/test/java/com/seaofnodes/simple/TypeTest.java
@@ -25,7 +25,6 @@ public class TypeTest {
Assert.assertNotEquals(s1, s1.dual());
Assert.assertEquals(s1.makeRO(), s1.dual().glb());
- //TypeMem m1 = TypeMem.make(1,TypeInteger.ZERO);
TypeMem m1 = TypeMem.make(1,TypeNil.NIL);
TypeMem m2 = TypeMem.make(2,TypeInteger.U16);
TypeMem m3 = TypeMem.make(3,TypeFloat.F64);
@@ -41,20 +40,19 @@ public class TypeTest {
Assert.assertEquals(TypeMem .BOT, m3.meet(m4));
Assert.assertEquals(m1, m1.glb());
- //Assert.assertEquals(TypeMem.make(1,TypeInteger.ZERO), m1.dual());
Assert.assertEquals(TypeMem.make(1,Type.XNIL), m1.dual());
Assert.assertEquals(m4.dual(), m4.glb().dual());
- TypeMemPtr ptr1 = TypeMemPtr.make((byte)2, s1);
+ TypeMemPtr ptr1 = TypeMemPtr.make(s1);
Assert.assertEquals(s1, ptr1._obj);
- TypeMemPtr ptr2 = TypeMemPtr.make((byte)2, s2);
+ TypeMemPtr ptr2 = TypeMemPtr.make(s2);
Assert.assertEquals(s2, ptr2._obj);
- TypeMemPtr ptr1nil = TypeMemPtr.make(s1);
+ TypeMemPtr ptr1nil = TypeMemPtr.makeNullable(s1);
Assert.assertEquals(s1, ptr1nil._obj);
- assertEquals( 3, ptr1nil._nil );
+ Assert.assertTrue( ptr1nil.nullable() );
Assert.assertNotNull( ptr1nil._obj );
- TypeMemPtr ptr2nil = TypeMemPtr.make( s2);
+ TypeMemPtr ptr2nil = TypeMemPtr.makeNullable( s2);
Assert.assertEquals(s2, ptr2nil._obj);
Assert.assertNotEquals(ptr1, ptr2);
@@ -63,14 +61,12 @@ public class TypeTest {
Assert.assertEquals(ptr1, ptr1.dual().dual());
Assert.assertEquals(ptr1.glb().makeRO(), ptr1.dual().glb());
- Assert.assertEquals(TypeMemPtr.make((byte)3,TypeStruct.BOT), ptr1.meet(ptr2nil));
- //Assert.assertEquals(ptr1.glb(), ptr1.meet(TypeMemPtr.NULLPTR));
+ Assert.assertEquals(TypeMemPtr.makeNullable(TypeStruct.BOT), ptr1.meet(ptr2nil));
Assert.assertEquals(ptr1.glb(), ptr1.meet(TypeNil.NIL).makeRO());
TypeMemPtr TOP = TypeMemPtr.TOP;
- TypeMemPtr BOT = TypeMemPtr.make((byte)3,TypeStruct.BOT);
- TypeMemPtr PTR = TypeMemPtr.make((byte)2,TypeStruct.BOT);
- //TypeMemPtr NULL = TypeMemPtr.NULLPTR;
+ TypeMemPtr BOT = TypeMemPtr.makeNullable(TypeStruct.BOT);
+ TypeMemPtr PTR = TypeMemPtr.make(TypeStruct.BOT);
Type NULL = TypeNil.NIL;
Type PTR_meet_NULL = NULL.meet(PTR);
Assert.assertEquals(BOT, PTR_meet_NULL);