private static void AnalyzeLocationForOperation(OperationAnalysisContext context, DoWhileLoopLookupKeywordStrategy doWhileStrategy, TryFinallyLookupKeywordStrategy tryFinallyStrategy) { Location location = context.Operation.TryGetLocationForKeyword(doWhileStrategy, tryFinallyStrategy); if (location != null) { context.ReportDiagnostic(Diagnostic.Create(Rule, location)); } }
public static Location TryGetLocationForKeyword([NotNull] this IOperation operation, DoWhileLoopLookupKeywordStrategy doWhileLoopLookupStrategy = DoWhileLoopLookupKeywordStrategy.PreferDoKeyword, TryFinallyLookupKeywordStrategy tryFinallyLookupKeywordStrategy = TryFinallyLookupKeywordStrategy.PreferTryKeyword) { if (operation.IsImplicit) { return(null); } var visitor = new OperationLocationVisitor(doWhileLoopLookupStrategy, tryFinallyLookupKeywordStrategy); return(visitor.Visit(operation, null)); }
public OperationLocationVisitor(DoWhileLoopLookupKeywordStrategy doWhileStrategy, TryFinallyLookupKeywordStrategy tryFinallyStrategy) { this.doWhileStrategy = doWhileStrategy; this.tryFinallyStrategy = tryFinallyStrategy; }