private static bool IsFixable( SyntaxNode node, IdentifierNameSyntax identifierName, SemanticModel semanticModel, CancellationToken cancellationToken) { bool isFixable; UsePatternMatchingWalker walker = null; try { walker = UsePatternMatchingWalker.GetInstance(); walker.SetValues(identifierName, semanticModel, cancellationToken); walker.Visit(node); isFixable = walker.IsFixable.GetValueOrDefault(); } finally { if (walker != null) { UsePatternMatchingWalker.Free(walker); } } return(isFixable); }
public static bool GetIsFixableAndFree(UsePatternMatchingWalker walker) { bool?isFixable = walker.IsFixable; Free(walker); return(isFixable == true); }
public static UsePatternMatchingWalker GetInstance() { UsePatternMatchingWalker walker = _cachedInstance; if (walker != null) { _cachedInstance = null; walker.Clear(); return(walker); } return(new UsePatternMatchingWalker()); }
private static bool IsFixable( SyntaxNode node, IdentifierNameSyntax identifierName, SemanticModel semanticModel, CancellationToken cancellationToken) { UsePatternMatchingWalker walker = UsePatternMatchingWalkerCache.GetInstance(); walker.SetValues(identifierName, semanticModel, cancellationToken); walker.Visit(node); return(UsePatternMatchingWalkerCache.GetIsFixableAndFree(walker)); }
public static UsePatternMatchingWalker GetInstance() { UsePatternMatchingWalker walker = _cachedInstance; if (walker != null) { Debug.Assert(walker._symbol == null); Debug.Assert(walker._identifierName == null); Debug.Assert(walker._semanticModel == null); Debug.Assert(walker._cancellationToken == default); _cachedInstance = null; return(walker); } return(new UsePatternMatchingWalker()); }
public static void Free(UsePatternMatchingWalker walker) { walker.SetValues(default(IdentifierNameSyntax), default(SemanticModel), default(CancellationToken)); _cachedInstance = walker; }
public static void Free(UsePatternMatchingWalker walker) { walker.Clear(); _cachedInstance = walker; }