summaryrefslogtreecommitdiff
path: root/chapter15/src/main
diff options
context:
space:
mode:
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);
}