]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EVariable.java
migrated to svn revision 33108
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EVariable.java
index 553677626cdfc8ba7c283a500d87ce451b8d362a..ca87d72c4e8d878ac3cb30c445758578b43a9295 100755 (executable)
@@ -1,9 +1,5 @@
 package org.simantics.scl.compiler.elaboration.expressions;\r
 \r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-import gnu.trove.set.hash.THashSet;\r
-import gnu.trove.set.hash.TIntHashSet;\r
-\r
 import java.util.ArrayList;\r
 \r
 import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;\r
@@ -25,6 +21,10 @@ import org.simantics.scl.compiler.types.exceptions.MatchException;
 import org.simantics.scl.compiler.types.kinds.Kinds;\r
 import org.simantics.scl.compiler.types.util.TypeUnparsingContext;\r
 \r
+import gnu.trove.map.hash.TObjectIntHashMap;\r
+import gnu.trove.set.hash.THashSet;\r
+import gnu.trove.set.hash.TIntHashSet;\r
+\r
 public class EVariable extends Expression {\r
     public static final EVariable[] EMPTY_ARRAY = new EVariable[0];\r
     \r
@@ -144,9 +144,12 @@ public class EVariable extends Expression {
     \r
     @Override\r
     public Expression inferType(TypingContext context) {\r
-        if(context.isInPattern())\r
+        if(context.isInPattern()) {\r
             variable.setType(Types.metaVar(Kinds.STAR));\r
-        return this;\r
+            return this;\r
+        }\r
+        else\r
+            return applyPUnit(context);\r
     }\r
     \r
     @Override\r