import static org.simantics.scl.compiler.elaboration.expressions.Expressions.tuple;
import static org.simantics.scl.compiler.elaboration.expressions.Expressions.var;
-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;
innerParameters, boundVariables);
continuation = context.disjunction(continuation, newContext.getContinuation());
- continuation = if_(apply(context, Types.PROC, Name.create("MSet", "add"), type,
+ continuation = if_(apply(context.getCompilationContext(), Types.PROC, Names.MSet_add, type,
var(set), var(solved)),
continuation,
context.failure());
continuation = lambda(Types.PROC, solved, continuation);
continuation = letRec(f, continuation, apply(var(f), var(bound)));
continuation = let(set,
- apply(context, Types.PROC, Name.create("MSet", "create"), type, tuple()),
+ apply(context.getCompilationContext(), Types.PROC, Names.MSet_create, type, tuple()),
continuation);
context.setContinuation(continuation);
return new SCLRelation[] { baseRelation };
}
+ @Override
+ public Type getEnforceEffect() {
+ return baseRelation.getEnforceEffect();
+ }
+
+ @Override
+ public Type getQueryEffect() {
+ return baseRelation.getQueryEffect();
+ }
+
}