internal override BoolExpr <T_Identifier> VisitNot(NotExpr <T_Identifier> expression) { BoolExpr <T_Identifier> child = expression.Child.Accept(this); switch (child.ExprType) { case ExprType.Not: return(((NotExpr <T_Identifier>)child).Child); case ExprType.True: return(FalseExpr <T_Identifier> .Value); case ExprType.False: return(TrueExpr <T_Identifier> .Value); default: return(base.VisitNot(expression)); } }
internal abstract T_Return VisitNot(NotExpr <T_Identifier> expression);
internal override BoolExpr <T_Identifier> VisitNot(NotExpr <T_Identifier> expression) { return(new NotExpr <T_Identifier>(expression.Child.Accept(this))); }
internal override Vertex VisitNot(NotExpr <T_Identifier> expression) { return(_context.Solver.Not(expression.Child.Accept(this))); }
internal override BoolExpr <T_To> VisitNot(NotExpr <T_From> expression) { return(new NotExpr <T_To>(expression.Child.Accept(this))); }
internal override bool VisitNot(NotExpr <T_Identifier> expression) { return(expression.Child.Accept(this)); }
internal override BoolExpr <DomainConstraint <T_Variable, T_Element> > VisitNot(NotExpr <DomainConstraint <T_Variable, T_Element> > expression) { return(expression.Child.Accept(NegatedDomainConstraintTreeVisitor <T_Variable, T_Element> .Instance)); }
internal override BoolExpr <T_Identifier> VisitNot(NotExpr <T_Identifier> expression) { return(expression.Child.Accept(NonNegatedTreeVisitor <T_Identifier> .Instance)); }