internal ParameterLoadingAnalysisContext(SonarAnalysisContext context) { this.context = context; }
public static void RegisterSyntaxTreeActionInNonGenerated( this SonarAnalysisContext context, Action <SyntaxTreeAnalysisContext> action) { context.RegisterSyntaxTreeActionInNonGenerated(VisualBasic.VisualBasicGeneratedCodeRecognizer.Instance, action); }
public static void RegisterCodeBlockStartActionInNonGenerated <TLanguageKindEnum>( this SonarAnalysisContext context, Action <CodeBlockStartAnalysisContext <TLanguageKindEnum> > action) where TLanguageKindEnum : struct { context.RegisterCodeBlockStartActionInNonGenerated(VisualBasic.VisualBasicGeneratedCodeRecognizer.Instance, action); }
public static void RegisterCodeBlockStartActionInNonGenerated <TSyntaxKind>(this SonarAnalysisContext context, Action <CodeBlockStartAnalysisContext <TSyntaxKind> > action) where TSyntaxKind : struct => context.RegisterCodeBlockStartActionInNonGenerated(VisualBasicGeneratedCodeRecognizer.Instance, action);
protected abstract void Initialize(SonarAnalysisContext context);
public static void ReportDiagnosticWhenActive(this SyntaxTreeAnalysisContext context, Diagnostic diagnostic) => ReportDiagnostic(new ReportingContext(context, diagnostic), SonarAnalysisContext.IsTestProjectNoCache(null, context.Options));
public static void RegisterSyntaxNodeActionInNonGenerated <TSyntaxKind>(this SonarAnalysisContext context, Action <SyntaxNodeAnalysisContext> action, params TSyntaxKind[] syntaxKinds) where TSyntaxKind : struct => context.RegisterSyntaxNodeActionInNonGenerated(VisualBasicGeneratedCodeRecognizer.Instance, action, syntaxKinds);
public static void RegisterSyntaxTreeActionInNonGenerated(this SonarAnalysisContext context, Action <SyntaxTreeAnalysisContext> action) => context.RegisterSyntaxTreeActionInNonGenerated(CSharpGeneratedCodeRecognizer.Instance, action);
public void Track(SonarAnalysisContext context, params PropertyAccessCondition[] conditions) => Track(context, new object[0], conditions);
public static void ReportDiagnosticWhenActive(this CompilationAnalysisContext context, Diagnostic diagnostic) => ReportDiagnostic(new ReportingContext(context, diagnostic), SonarAnalysisContext.IsTestProject(context));
/// <param name="verifyScopeContext">Provide value for this argument only if the class has more than one SupportedDiagnostics.</param> public static void ReportDiagnosticWhenActive(this CodeBlockAnalysisContext context, Diagnostic diagnostic, SonarAnalysisContext verifyScopeContext = null) => ReportDiagnostic(new ReportingContext(context, diagnostic), verifyScopeContext?.IsTestProject(context.SemanticModel.Compilation, context.Options));
public static void RegisterCodeBlockStartActionInNonGenerated <TLanguageKindEnum>(this SonarAnalysisContext context, GeneratedCodeRecognizer generatedCodeRecognizer, Action <CodeBlockStartAnalysisContext <TLanguageKindEnum> > action) where TLanguageKindEnum : struct => context.RegisterCodeBlockStartAction <TLanguageKindEnum>(c => { if (ShouldAnalyze(context, generatedCodeRecognizer, c.GetSyntaxTree(), c.SemanticModel.Compilation, c.Options)) { action(c); } });
public static void RegisterSyntaxNodeActionInNonGenerated <TLanguageKindEnum>(this SonarAnalysisContext context, GeneratedCodeRecognizer generatedCodeRecognizer, Action <SyntaxNodeAnalysisContext> action, params TLanguageKindEnum[] syntaxKinds) where TLanguageKindEnum : struct => context.RegisterSyntaxNodeAction(c => { if (ShouldAnalyze(context, generatedCodeRecognizer, c.GetSyntaxTree(), c.Compilation, c.Options)) { action(c); } }, syntaxKinds);
public static void ReportDiagnosticWhenActive(this CodeBlockAnalysisContext context, Diagnostic diagnostic) => ReportDiagnostic(new ReportingContext(context, diagnostic), SonarAnalysisContext.IsTestProjectNoCache(context.SemanticModel?.Compilation, context.Options));
public TrackerInput(SonarAnalysisContext context, IAnalyzerConfiguration configuration, DiagnosticDescriptor rule) { Context = context; this.configuration = configuration; Rule = rule; }
private static bool ShouldAnalyze(CompilationAnalysisContext context, GeneratedCodeRecognizer generatedCodeRecognizer, SyntaxTree syntaxTree, Compilation c, AnalyzerOptions options) => SonarAnalysisContext.ShouldAnalyzeGenerated(context, c, options) || !syntaxTree.IsGenerated(generatedCodeRecognizer, c);
public void Track(SonarAnalysisContext context, params ObjectCreationCondition[] conditions) => Track(context, new object[0], conditions);
protected override void Initialize(SonarAnalysisContext context) => Initialize(new TrackerInput(context, Configuration, Rule));