public override Expr VisitIdentifierExpr(IdentifierExpr node) { if (consts.Keys.Contains(node.ToString())) { return(consts[node.ToString()]); } return(base.VisitIdentifierExpr(node)); }
//////////////////////////////////////////////////////////////////////////////////// private Term makeExpression(IdentifierExpr ie, bool old) { if (ie.Decl is Microsoft.Boogie.Constant) { return(new Boogie.BoogieFunctionApplication(ie, new Logic.Boogie.BoogieFunction(new BoogieConstant(ie)), new ExpressionList())); } if (ie.Decl is Microsoft.Boogie.BoundVariable) { Debug.Assert(!old); return(new Programs.Terms.Boogie.BoogieBoundVariableTerm(ie, boundVariables[ie.Decl.Name])); } if ( (ie.Decl is Microsoft.Boogie.GlobalVariable) || (ie.Decl is Microsoft.Boogie.Formal) || (ie.Decl is Microsoft.Boogie.LocalVariable)) { return(new Slicer.Programs.Terms.Boogie.BoogueProgramVariable(ie, scope.findVariable((old ? "'" : "") + ie.Name))); } else { throw new Exception("Internal error converting Boogie expression - unknown expression type - " + ie.ToString()); } }
public override Expr VisitIdentifierExpr(IdentifierExpr node) { Log.Out(Log.Normal, node.ToString()); return(base.VisitIdentifierExpr(node)); }