]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/OptionalRelation.java
(refs #7375) Fixed implementation of collectEffects
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / java / OptionalRelation.java
index 3276e0f2213e5d0d52415c48bda698b9ea381890..89568cb57fd5f2201f40484a77a3d1b07d5c27cd 100644 (file)
@@ -1,6 +1,6 @@
 package org.simantics.scl.compiler.elaboration.java;
 
-import org.simantics.scl.compiler.common.names.Name;
+import org.simantics.scl.compiler.common.names.Names;
 import org.simantics.scl.compiler.elaboration.expressions.EApply;
 import org.simantics.scl.compiler.elaboration.expressions.EVariable;
 import org.simantics.scl.compiler.elaboration.expressions.Expression;
@@ -65,9 +65,8 @@ public class OptionalRelation extends AbstractRelation {
         case BB: 
             context.condition(
                     new EApply(
-                            context.getConstant(Name.create("Prelude", "elemMaybe"), typeParameters),
+                            context.getConstant(Names.Prelude_elemMaybe, typeParameters),
                             new Expression[] {
-                                context.getEvidence(location, Types.pred(Types.EQ, typeParameters[0])),
                                 new EVariable(parameters[0]),
                                 new EVariable(parameters[1])
                             }
@@ -81,4 +80,14 @@ public class OptionalRelation extends AbstractRelation {
     public String toString() {
         return "Optional";
     }
+
+    @Override
+    public Type getEnforceEffect() {
+        return Types.NO_EFFECTS;
+    }
+
+    @Override
+    public Type getQueryEffect() {
+        return Types.NO_EFFECTS;
+    }
 }