public static UseSpacesInsteadOfTabWalker GetInstance() { UseSpacesInsteadOfTabWalker walker = _cachedInstance; if (walker != null) { Debug.Assert(walker.AnalysisContext.Tree == null); Debug.Assert(walker.AnalysisContext.CancellationToken == default); _cachedInstance = null; return(walker); } return(new UseSpacesInsteadOfTabWalker()); }
private static void AnalyzeSyntaxTree(SyntaxTreeAnalysisContext context) { SyntaxTree tree = context.Tree; if (!tree.TryGetRoot(out SyntaxNode root)) { return; } UseSpacesInsteadOfTabWalker walker = UseSpacesInsteadOfTabWalker.GetInstance(); walker.AnalysisContext = context; walker.Visit(root); UseSpacesInsteadOfTabWalker.Free(walker); }
public static void Free(UseSpacesInsteadOfTabWalker walker) { walker.AnalysisContext = default; _cachedInstance = walker; }