Exception in thread "main" java.lang.IllegalArgumentException: Cannot set to unknown
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
at com.plasstech.lang.d2.parse.node.AbstractNode.setVarType(AbstractNode.java:32)
at com.plasstech.lang.d2.parse.node.UnaryNode.setVarType(UnaryNode.java:30)
at com.plasstech.lang.d2.type.StaticChecker.visit(StaticChecker.java:725)
at com.plasstech.lang.d2.parse.node.UnaryNode.accept(UnaryNode.java:44)
at com.plasstech.lang.d2.type.StaticChecker.visit(StaticChecker.java:735)
at com.plasstech.lang.d2.parse.node.IfNode.accept(IfNode.java:53)
at com.plasstech.lang.d2.type.StaticChecker.lambda$visit$1(StaticChecker.java:755)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.plasstech.lang.d2.type.StaticChecker.visit(StaticChecker.java:753)
at com.plasstech.lang.d2.parse.node.IfNode.accept(IfNode.java:53)
at com.plasstech.lang.d2.type.StaticChecker.lambda$visit$1(StaticChecker.java:755)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.plasstech.lang.d2.type.StaticChecker.visit(StaticChecker.java:753)
at com.plasstech.lang.d2.parse.node.IfNode.accept(IfNode.java:53)
at com.plasstech.lang.d2.parse.node.BlockNode.lambda$accept$0(BlockNode.java:35)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.plasstech.lang.d2.parse.node.BlockNode.accept(BlockNode.java:35)
at com.plasstech.lang.d2.type.StaticChecker.visit(StaticChecker.java:960)
at com.plasstech.lang.d2.parse.node.ProcedureNode.accept(ProcedureNode.java:55)
at com.plasstech.lang.d2.parse.node.BlockNode.lambda$accept$0(BlockNode.java:35)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.plasstech.lang.d2.parse.node.BlockNode.accept(BlockNode.java:35)
at com.plasstech.lang.d2.parse.node.ProgramNode.accept(ProgramNode.java:18)
at com.plasstech.lang.d2.type.StaticChecker.execute(StaticChecker.java:193)
at com.plasstech.lang.d2.type.StaticChecker.execute(StaticChecker.java:173)
at com.plasstech.lang.d2.D2Compiler.main(D2Compiler.java:53)
I think this is similar to another bug where a global is referenced in a proc before it's defined?
I think this is similar to another bug where a global is referenced in a proc before it's defined?