Beispiel #1
0
            public override Expr VisitIdentifierExpr(IdentifierExpr node)
            {
                var mapsTo = Store.Get(new StoreLhs(node.Decl));

                if (mapsTo == null)
                {
                    return(node);
                }
                else
                {
                    return(VisitExpr(mapsTo));
                }
            }
Beispiel #2
0
        public static Expr Resolve(Variable var, SymbolicStore store)
        {
            if (var == null || store == null)
            {
                return(null);
            }

            var resolver = new ExprResolver(store);
            var duper    = new Duplicator();
            var ret      = store.Get(new StoreLhs(var));

            if (ret == null)
            {
                Log.Out(Log.Error, "Could not find " + var.Name + " in symbolic store!");
                return(null);
            }

            ret = resolver.VisitExpr(ret);
            ret = duper.VisitExpr(ret);
            return(ret);
        }