]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/relations/SCLRelation.java
Merged changes from feature/scl to master.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / relations / SCLRelation.java
index 7b2f2a19e840e6f8dbde246e8631f99925ae3353..9642762cb220cfa5a247ea7a2a3119e1aadb33aa 100644 (file)
@@ -1,9 +1,11 @@
 package org.simantics.scl.compiler.elaboration.relations;
 
+import org.simantics.scl.compiler.elaboration.chr.plan.PlanContext;
 import org.simantics.scl.compiler.elaboration.expressions.Expression;
 import org.simantics.scl.compiler.elaboration.expressions.Variable;
 import org.simantics.scl.compiler.elaboration.query.compilation.EnforcingContext;
 import org.simantics.scl.compiler.elaboration.query.compilation.QueryCompilationContext;
+import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
 import org.simantics.scl.compiler.types.TVar;
 import org.simantics.scl.compiler.types.Type;
 
@@ -40,4 +42,16 @@ public interface SCLRelation {
             Type[] typeParameters,
             Variable[] parameters);
 
+    void generateIterate(
+            PlanContext context,
+            CodeWriter w,
+            long location,
+            int boundMask,
+            Variable[] variables,
+            Expression[] expressions);
+    void generateEnforce(
+            PlanContext context,
+            CodeWriter w,
+            long location,
+            Expression[] parameters);
 }