-package org.simantics.scl.compiler.internal.elaboration.utils;\r
-\r
-import org.simantics.scl.compiler.elaboration.expressions.EApply;\r
-import org.simantics.scl.compiler.elaboration.expressions.EApplyType;\r
-import org.simantics.scl.compiler.elaboration.expressions.ELiteral;\r
-import org.simantics.scl.compiler.elaboration.expressions.ESimpleLambda;\r
-import org.simantics.scl.compiler.elaboration.expressions.Expression;\r
-import org.simantics.scl.compiler.elaboration.expressions.Expressions;\r
-import org.simantics.scl.compiler.elaboration.java.ApplyUnit;\r
-import org.simantics.scl.compiler.types.Types;\r
-\r
-public class ForcedClosure {\r
-\r
- public static Expression forceClosure(Expression expression, boolean doIt) {\r
- if(!doIt)\r
- return expression;\r
- else\r
- return new EApply(expression.location,\r
- expression.getEffect(),\r
- new EApplyType(new ELiteral(ApplyUnit.INSTANCE), expression.getType()),\r
- new ESimpleLambda(expression.getEffect(),\r
- Expressions.newBlankVar(Types.PUNIT), expression));\r
- }\r
- \r
-}\r
+package org.simantics.scl.compiler.internal.elaboration.utils;
+
+import org.simantics.scl.compiler.elaboration.expressions.EApply;
+import org.simantics.scl.compiler.elaboration.expressions.EApplyType;
+import org.simantics.scl.compiler.elaboration.expressions.ELiteral;
+import org.simantics.scl.compiler.elaboration.expressions.ESimpleLambda;
+import org.simantics.scl.compiler.elaboration.expressions.Expression;
+import org.simantics.scl.compiler.elaboration.expressions.Expressions;
+import org.simantics.scl.compiler.elaboration.java.ApplyUnit;
+import org.simantics.scl.compiler.types.Types;
+
+public class ForcedClosure {
+
+ public static Expression forceClosure(Expression expression, boolean doIt) {
+ if(!doIt)
+ return expression;
+ else
+ return new EApply(expression.location,
+ expression.getEffect(),
+ new EApplyType(new ELiteral(ApplyUnit.INSTANCE), expression.getType()),
+ new ESimpleLambda(expression.getEffect(),
+ Expressions.newBlankVar(Types.PUNIT), expression));
+ }
+
+}