]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EVariable.java
(refs #7460) Prevent NPE if variable type is null.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EVariable.java
index 7fe0e0a92d3220ceaf604c24715d9a48a0865044..155aa7578f3821d399e0e2fd227791a65e1850d7 100644 (file)
@@ -132,8 +132,13 @@ public class EVariable extends Expression {
             variable.setType(Types.metaVar(Kinds.STAR));
             return this;
         }
-        else
+        else {
+            if(variable.getType() == null) {
+                context.getErrorLog().log(location, "Type of the variable is not defined.");
+                variable.setType(Types.metaVar(Kinds.STAR));
+            }
             return applyPUnit(context);
+        }
     }
     
     @Override
@@ -142,8 +147,13 @@ public class EVariable extends Expression {
             variable.setType(requiredType);
             return this;
         }
-        else
+        else {
+            if(variable.getType() == null) {
+                context.getErrorLog().log(location, "Type of the variable is not defined.");
+                variable.setType(Types.metaVar(Kinds.STAR));
+            }
             return context.subsume(this, requiredType);
+        }
     }
     
     @Override