@Override public Expression rewrite(UnaryExpression src, boolean changed, Expression newChild) { final UnaryExpression expr; if (changed) { expr = getFactory().makeUnaryExpression(src.getTag(), newChild, src.getSourceLocation()); } else { expr = src; } return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Predicate rewrite( ExtendedPredicate src, boolean changed, Expression[] newChildExprs, Predicate[] newChildPreds) { final ExtendedPredicate pred; if (changed) { pred = getFactory() .makeExtendedPredicate( src.getExtension(), newChildExprs, newChildPreds, src.getSourceLocation()); } else { pred = src; } return checkReplacement(src, rewriter.rewrite(pred)); }
@Override public Expression rewrite( ExtendedExpression src, boolean changed, Expression[] newChildExprs, Predicate[] newChildPreds) { final ExtendedExpression expr; if (changed) { expr = getFactory() .makeExtendedExpression( src.getExtension(), newChildExprs, newChildPreds, src.getSourceLocation(), src.getType()); } else { expr = src; } return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Expression rewrite(AssociativeExpression src, AssociativeExpression expr) { return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public void leavingQuantifier(int nbOfDeclarations) { rewriter.leavingQuantifier(nbOfDeclarations); }
@Override public boolean autoFlatteningMode() { return rewriter.autoFlatteningMode(); }
@Override public Expression rewrite(UnaryExpression src, IntegerLiteral expr) { return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Expression rewrite(BinaryExpression src, BinaryExpression expr) { return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Expression rewrite(SetExtension src, SetExtension expr) { return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Predicate rewrite(RelationalPredicate src, RelationalPredicate pred) { return checkReplacement(src, rewriter.rewrite(pred)); }
@Override public Predicate rewrite(QuantifiedPredicate src, QuantifiedPredicate pred) { return checkReplacement(src, rewriter.rewrite(pred)); }
@Override public Expression rewrite(QuantifiedExpression src, QuantifiedExpression expr) { return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Predicate rewrite(LiteralPredicate src) { return checkReplacement(src, rewriter.rewrite(src)); }
@Override public Expression rewrite(IntegerLiteral src) { return checkReplacement(src, rewriter.rewrite(src)); }
@Override public Expression rewrite(FreeIdentifier src) { return checkReplacement(src, rewriter.rewrite(src)); }
@Override public Predicate rewrite(AssociativePredicate src, AssociativePredicate pred) { return checkReplacement(src, rewriter.rewrite(pred)); }
@Override public Expression rewrite(AtomicExpression src) { return checkReplacement(src, rewriter.rewrite(src)); }
@Override public Expression rewriteToEmptySet(SetExtension src) { final AtomicExpression expr = factory.makeEmptySet(src.getType(), src.getSourceLocation()); return checkReplacement(src, rewriter.rewrite(expr)); }
@Override public Predicate rewrite(BinaryPredicate src, BinaryPredicate pred) { return checkReplacement(src, rewriter.rewrite(pred)); }
@Override public Predicate rewrite(SimplePredicate src, SimplePredicate pred) { return checkReplacement(src, rewriter.rewrite(pred)); }