From 96d028ce004f5b4581997fd1d1a0ccfa87d67ea3 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Fri, 11 Oct 2024 12:22:21 -0700 Subject: Fix a null-check bug --- .../test/java/com/seaofnodes/simple/Chapter13Test.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'chapter15/src/test/java/com') diff --git a/chapter15/src/test/java/com/seaofnodes/simple/Chapter13Test.java b/chapter15/src/test/java/com/seaofnodes/simple/Chapter13Test.java index e8b71820..416aba31 100644 --- a/chapter15/src/test/java/com/seaofnodes/simple/Chapter13Test.java +++ b/chapter15/src/test/java/com/seaofnodes/simple/Chapter13Test.java @@ -163,4 +163,22 @@ return new S1.s=new S2; StopNode stop = parser.parse().iterate(); assertEquals("return S2;", stop.toString()); } + + @Test + public void testcheckNull() { + Parser parser = new Parser( +""" +struct I {int i;} +struct P {I pi;} +P p1 = new P; +P p2 = new P; +p2.pi = new I; +p2.pi.i = 2; +if (arg) p1 = new P; +return p1.pi.i + 1; +"""); + try { parser.parse(false).iterate(); fail(); } + catch( Exception e ) { assertEquals("Might be null accessing 'i'",e.getMessage()); } + } + } -- cgit v1.2.3