Example #1
0
        public IEnumerable <LispList <PathElement> > AccessPaths(APC at, SymValue value, AccessPathFilter <Method> filter)
        {
            Domain domain;

            if (!this.parent.PreStateLookup(at, out domain))
            {
                throw new ArgumentException("pc wasn't visited");
            }

            return(domain.GetAccessPathsFiltered(value, filter, true).Select(path => path.Coerce <PathElementBase, PathElement> ()));
        }
Example #2
0
        private SymbolicValue ConvertSourceDeref(APC pc, int source)
        {
            Domain domain;

            if (!PreStateLookup(pc, out domain))
            {
                return(new SymbolicValue());
            }
            if (source < 0)
            {
                return(new SymbolicValue(domain.VoidAddr));
            }

            SymValue addr = domain.LoadValue(source);

            if (!PostStateLookup(pc, out domain))
            {
                return(new SymbolicValue());
            }

            return(domain.TryLoadValue(addr));
        }
Example #3
0
 public SymbolicValue(SymValue symbol)
 {
     this.Symbol = symbol;
 }
Example #4
0
 public static int GetUniqueKey(SymbolicValue arg)
 {
     return(SymValue.GetUniqueKey(arg.Symbol));
 }