public static RemoveRedundantAsyncAwaitWalker GetInstance(TextSpan span, bool stopOnFirstAwaitExpression = false) { RemoveRedundantAsyncAwaitWalker walker = _cachedInstance; if (walker != null) { _cachedInstance = null; walker.Clear(); } else { walker = new RemoveRedundantAsyncAwaitWalker(); } walker.SetValues(span: span, stopOnFirstAwaitExpression: stopOnFirstAwaitExpression); return(walker); }
public static void Free(RemoveRedundantAsyncAwaitWalker walker) { walker.Clear(); _cachedInstance = walker; }