package x10.constraint.visitors;
import x10.constraint.XFailure;
import x10.constraint.XTerm;
import x10.constraint.XVar;
import x10.constraint.xnative.XNativeConstraint;
public class AddInVisitor extends XGraphVisitor {
XNativeConstraint c2;
XTerm newSelf;
XVar cSelf;
public AddInVisitor(boolean hideEQV, boolean hideFake, XNativeConstraint c2) {
super(hideEQV, hideFake);
this.c2=c2;
}
public boolean visitAtomicFormula(XTerm t) {
try {
c2.addTerm(t);
return true;
} catch (XFailure z) {
c2.setInconsistent();
return false;
}
}
public boolean visitEquals(XTerm t1, XTerm t2) {
c2.addBinding(t1, t2);
return c2.consistent();
}
public boolean visitDisEquals(XTerm t1, XTerm t2) {
c2.addDisBinding(t1, t2);
return c2.consistent();
}
}