コード例 #1
0
 internal ParameterLoadingAnalysisContext(SonarAnalysisContext context)
 {
     this.context = context;
 }
コード例 #2
0
 public static void RegisterSyntaxTreeActionInNonGenerated(
     this SonarAnalysisContext context,
     Action <SyntaxTreeAnalysisContext> action)
 {
     context.RegisterSyntaxTreeActionInNonGenerated(VisualBasic.VisualBasicGeneratedCodeRecognizer.Instance, action);
 }
コード例 #3
0
 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);
コード例 #5
0
 protected abstract void Initialize(SonarAnalysisContext context);
コード例 #6
0
 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);
コード例 #8
0
 public static void RegisterSyntaxTreeActionInNonGenerated(this SonarAnalysisContext context, Action <SyntaxTreeAnalysisContext> action) =>
 context.RegisterSyntaxTreeActionInNonGenerated(CSharpGeneratedCodeRecognizer.Instance, action);
コード例 #9
0
 public void Track(SonarAnalysisContext context, params PropertyAccessCondition[] conditions) =>
 Track(context, new object[0], conditions);
コード例 #10
0
 public static void ReportDiagnosticWhenActive(this CompilationAnalysisContext context, Diagnostic diagnostic) =>
 ReportDiagnostic(new ReportingContext(context, diagnostic), SonarAnalysisContext.IsTestProject(context));
コード例 #11
0
 /// <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));
コード例 #12
0
 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);
     }
 });
コード例 #13
0
 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);
コード例 #14
0
 public static void ReportDiagnosticWhenActive(this CodeBlockAnalysisContext context, Diagnostic diagnostic) =>
 ReportDiagnostic(new ReportingContext(context, diagnostic), SonarAnalysisContext.IsTestProjectNoCache(context.SemanticModel?.Compilation, context.Options));
コード例 #15
0
 public TrackerInput(SonarAnalysisContext context, IAnalyzerConfiguration configuration, DiagnosticDescriptor rule)
 {
     Context            = context;
     this.configuration = configuration;
     Rule = rule;
 }
コード例 #16
0
 private static bool ShouldAnalyze(CompilationAnalysisContext context, GeneratedCodeRecognizer generatedCodeRecognizer, SyntaxTree syntaxTree, Compilation c, AnalyzerOptions options) =>
 SonarAnalysisContext.ShouldAnalyzeGenerated(context, c, options) ||
 !syntaxTree.IsGenerated(generatedCodeRecognizer, c);
コード例 #17
0
 public void Track(SonarAnalysisContext context, params ObjectCreationCondition[] conditions) =>
 Track(context, new object[0], conditions);
コード例 #18
0
 protected override void Initialize(SonarAnalysisContext context) =>
 Initialize(new TrackerInput(context, Configuration, Rule));