summaryrefslogtreecommitdiff
path: root/chapter15/src/main
diff options
context:
space:
mode:
authorRobert Obkircher <robert.obkircher@gmail.com>2024-10-05 00:51:33 +0200
committerCliff Click <cliffc@acm.org>2024-10-06 08:56:22 -0700
commitd2791c7283be71f6f3103fbedfd709c4d0f70c59 (patch)
tree037c54f93f2accde37055df2ae2ca60fe77a27e1 /chapter15/src/main
parentea41e5ca82736ad8380f856c3901cb0efb65e957 (diff)
downloadSimple-d2791c7283be71f6f3103fbedfd709c4d0f70c59.tar.gz
Simple-d2791c7283be71f6f3103fbedfd709c4d0f70c59.zip
fix parsing nested structs
Diffstat (limited to 'chapter15/src/main')
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/StartNode.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/StartNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/StartNode.java
index 14bf37f5..5964e19f 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/StartNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/StartNode.java
@@ -45,6 +45,9 @@ public class StartNode extends CFGNode implements MultiNode {
n._type = args[f._alias];
scope.define(name, tm_decl, n);
}
+ for (int i = 0; i < args.length; i++)
+ if (args[i] == null)
+ args[i] = Type.TOP; // We parsed a nested struct/array. Avoid nulls until a caller replaces this alias.
_type = _args = TypeTuple.make(args);
}