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
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
\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