public static VisitorCache Get(JSAstVisitor visitor) { var visitorType = visitor.GetType(); return(VisitorCaches.GetOrCreate( visitorType, () => new VisitorCache(visitorType) )); }
public static VisitorCache Get(JSAstVisitor visitor) { var visitorType = visitor.GetType(); var vc = VisitorCaches.Value; VisitorCache result; if (!vc.TryGetValue(visitorType, out result)) { vc.Add(visitorType, result = new VisitorCache(visitorType)); } return(result); }
public void Visit(JSAstVisitor @this, JSNode node) { Method((TVisitor)@this, (TNode)node); }
public static VisitorCache Get(JSAstVisitor visitor) { var visitorType = visitor.GetType(); return(VisitorCaches.GetOrCreate(visitorType, CreateCacheEntry)); }