private static Binding findAndCache(LexicalEnvironment e, Symbol symbol) { if (e.statistics != null) { e.statistics.Lookups++; } var id = symbol.ID; while (e != null) { var b = e.findInFrame(id); if (b != null) { symbol.Env = e; return(symbol.CachedBinding = b); } e = e.parent; } throw undefined(symbol); }
private static Binding findAndCache(LexicalEnvironment e, Symbol symbol) { if (e.statistics != null) e.statistics.Lookups++; var id = symbol.ID; while(e != null) { var b = e.findInFrame(id); if (b != null) { symbol.Env = e; return (symbol.CachedBinding = b); } e = e.parent; } throw undefined(symbol); }