]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ELambda.java
(refs #7746) Fixed applications with intermediate effects
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / ELambda.java
index ccf86bbf5110204bcdf63bedf130dbc4e5327265..e580648deee8cbe9a551777f82b79c7a1d44ccca 100644 (file)
@@ -14,7 +14,7 @@ import org.simantics.scl.compiler.types.util.MultiFunction;
 
 public class ELambda extends SimplifiableExpression {
     public Case[] cases;
-    Type effect = Types.NO_EFFECTS;
+    public Type effect = Types.NO_EFFECTS;
     
     public ELambda(Case[] cases) {
         this.cases = cases;
@@ -29,6 +29,12 @@ public class ELambda extends SimplifiableExpression {
         this.cases = cases;
     }
     
+    public ELambda(long loc, Type effect, Case ... cases) {
+        super(loc);
+        this.cases = cases;
+        this.effect = effect;
+    }
+    
     public ELambda(long loc, Expression pat, Expression exp) {
         this(loc, new Case(new Expression[] {pat}, exp));
     }