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> ())); }
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)); }
public SymbolicValue(SymValue symbol) { this.Symbol = symbol; }
public static int GetUniqueKey(SymbolicValue arg) { return(SymValue.GetUniqueKey(arg.Symbol)); }