import org.simantics.scl.compiler.elaboration.chr.CHRLiteral;
import org.simantics.scl.compiler.elaboration.chr.CHRQuery;
-import org.simantics.scl.compiler.elaboration.chr.CHRRule;
import org.simantics.scl.compiler.elaboration.chr.relations.CHRConstraint;
import org.simantics.scl.compiler.elaboration.chr.relations.SpecialCHRRelation;
import org.simantics.scl.compiler.elaboration.chr.relations.UnresolvedCHRRelation;
import org.simantics.scl.compiler.elaboration.expressions.ERecord;
import org.simantics.scl.compiler.elaboration.expressions.EVar;
import org.simantics.scl.compiler.elaboration.expressions.Expression;
-import org.simantics.scl.compiler.elaboration.expressions.block.CHRStatement;
import org.simantics.scl.compiler.elaboration.expressions.block.ConstraintStatement;
import org.simantics.scl.compiler.elaboration.expressions.list.ListAssignment;
import org.simantics.scl.compiler.elaboration.expressions.list.ListGenerator;
}
public static CHRQuery convertCHRQuery(TranslationContext context, boolean isHead, ListQualifier[] lqs) {
+ long location = Locations.NO_LOCATION;
ArrayList<CHRLiteral> query = new ArrayList<CHRLiteral>(lqs.length);
for(ListQualifier qualifier : lqs) {
+ location = Locations.combine(location, qualifier.location);
CHRLiteral literal = convertListQualifier(context, isHead, qualifier);
if(literal != null)
query.add(literal);
}
- return new CHRQuery(query.toArray(new CHRLiteral[query.size()]));
+ return new CHRQuery(location, query.toArray(new CHRLiteral[query.size()]));
}
- public static CHRRule convertCHRStatement(TranslationContext context, CHRStatement statement) {
+ /*public static CHRRule convertCHRStatement(TranslationContext context, CHRStatement statement) {
return new CHRRule(statement.location,
convertCHRQuery(context, true, statement.head),
convertCHRQuery(context, false, statement.body),
null);
- }
+ }*/
public static CHRConstraint convertConstraintStatement(TranslationContext context, ConstraintStatement statement) {
CHRConstraint constraint = new CHRConstraint(statement.location, statement.name.text, TypeAst.toTypes(context, statement.parameterTypes));