import org.simantics.scl.compiler.elaboration.chr.CHRLiteral;
import org.simantics.scl.compiler.elaboration.chr.CHRRule;
+import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;
import org.simantics.scl.compiler.elaboration.equation.EqBasic;
import org.simantics.scl.compiler.elaboration.equation.EqGuard;
import org.simantics.scl.compiler.elaboration.equation.Equation;
import org.simantics.scl.compiler.elaboration.equation.EquationVisitor;
import org.simantics.scl.compiler.elaboration.expressions.ERuleset.DatalogRule;
import org.simantics.scl.compiler.elaboration.expressions.accessor.ExpressionAccessor;
-import org.simantics.scl.compiler.elaboration.expressions.accessor.FieldAccessor;
import org.simantics.scl.compiler.elaboration.expressions.accessor.FieldAccessorVisitor;
import org.simantics.scl.compiler.elaboration.expressions.accessor.IdAccessor;
import org.simantics.scl.compiler.elaboration.expressions.accessor.StringAccessor;
import org.simantics.scl.compiler.elaboration.expressions.block.BindStatement;
import org.simantics.scl.compiler.elaboration.expressions.block.GuardStatement;
+import org.simantics.scl.compiler.elaboration.expressions.block.IncludeStatement;
import org.simantics.scl.compiler.elaboration.expressions.block.LetStatement;
import org.simantics.scl.compiler.elaboration.expressions.block.RuleStatement;
import org.simantics.scl.compiler.elaboration.expressions.block.Statement;
@Override
public void visit(EFieldAccess expression) {
expression.parent.accept(this);
- for(FieldAccessor accessor : expression.accessors)
- accessor.accept(this);
+ expression.accessor.accept(this);
}
@Override
for(Equation equation : expression.equations)
equation.accept(this);
}
-
- @Override
- public void visit(ECHRRuleset ruleset) {
- for(CHRRule rule : ruleset.ruleset.rules) {
+
+ public void visit(CHRRuleset ruleset) {
+ for(CHRRule rule : ruleset.rules) {
for(CHRLiteral literal : rule.head.literals)
for(Expression parameter : literal.parameters)
parameter.accept(this);
for(Expression parameter : literal.parameters)
parameter.accept(this);
}
- ruleset.in.accept(this);
+ }
+
+ @Override
+ public void visit(ECHRRuleset expression) {
+ visit(expression.ruleset);
+ expression.in.accept(this);
+ }
+
+ @Override
+ public void visit(ECHRRulesetConstructor expression) {
+ visit(expression.ruleset);
}
@Override
statement.body.accept(this);
}
+ @Override
+ public void visit(IncludeStatement statement) {
+ statement.value.accept(this);
+ }
}