diff options
Diffstat (limited to 'chapter18/src/test/java')
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); |
