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.internal.codegen.writer.CodeWriter;
import org.simantics.scl.compiler.types.Type;
public abstract class AbstractRelation implements SCLRelation {
public Expression generateEnforce(long location, EnforcingContext context, Type[] typeParameters, Variable[] parameters) {
throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support enforce.");
}
+
+ @Override
+ public void generateEnforce(PlanContext context, CodeWriter w, long location, Expression[] parameters,
+ Expression[] typeConstraintEvidenceParameters) {
+ throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support enforce.");
+ }
+
+ @Override
+ public void generateIterate(PlanContext context, CodeWriter w, long location, int boundMask, Variable[] variables,
+ Expression[] expressions, Expression[] typeConstraintEvidenceParameters) {
+ throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support iterate.");
+ }
}