From ca82edae68c55548b70530f02a7d346870aece04 Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Sun, 25 Jan 2015 20:58:15 +0000 Subject: Change the return type of StandardVisitor.VisitLiteralExpr() from LiteralExpr to Expr. Enforcing the return type be LiteralExpr is too restrictive. There is precedence for this. For example VisitNAryExpr() returns an Expr not an NAryExpr. Unfortunately this a breaking API change so anyone who subclasses the StandardVisitor (or one of its sub classes) and overrides this method will get compilation errors until they change the return type. a visitor that does constant folding of an Expr tree --- Source/AbsInt/IntervalDomain.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/AbsInt') diff --git a/Source/AbsInt/IntervalDomain.cs b/Source/AbsInt/IntervalDomain.cs index 5a4c606f..1ac80970 100644 --- a/Source/AbsInt/IntervalDomain.cs +++ b/Source/AbsInt/IntervalDomain.cs @@ -659,7 +659,7 @@ namespace Microsoft.Boogie.AbstractInterpretation Lo = Hi = null; return base.VisitExpr(node); } - public override LiteralExpr VisitLiteralExpr(LiteralExpr node) { + public override Expr VisitLiteralExpr(LiteralExpr node) { if (node.Val is BigNum) { var n = ((BigNum)node.Val).ToBigInteger; Lo = n; -- cgit v1.2.3