Example #1
0
            static SyntaxWalkerDepth GetWalkerDepth(SpellingAnalysisContext context)
            {
                if ((context.Options.ScopeFilter & (SpellingScopeFilter.DocumentationComment | SpellingScopeFilter.RegionDirective)) != 0)
                {
                    return(SyntaxWalkerDepth.StructuredTrivia);
                }

                if ((context.Options.ScopeFilter & SpellingScopeFilter.NonDocumentationComment) != 0)
                {
                    return(SyntaxWalkerDepth.Trivia);
                }

                return(SyntaxWalkerDepth.Token);
            }
Example #2
0
            private void AnalyzeSyntaxTree(SyntaxTreeAnalysisContext context)
            {
                SyntaxTree tree = context.Tree;

                SyntaxNode root = tree.GetRoot(context.CancellationToken);

                var analysisContext = new SpellingAnalysisContext(
                    diagnostic => context.ReportDiagnostic(diagnostic),
                    _spellingData,
                    _options,
                    context.CancellationToken);

                CSharpSpellingWalker walker = CSharpSpellingWalker.Create(analysisContext);

                walker.Visit(root);
            }
        public override ImmutableArray <Diagnostic> AnalyzeSpelling(
            SyntaxNode node,
            SpellingData spellingData,
            SpellingFixerOptions options,
            CancellationToken cancellationToken = default)
        {
            var diagnostics = new List <Diagnostic>();

            var analysisContext = new SpellingAnalysisContext(
                diagnostic => diagnostics.Add(diagnostic),
                spellingData,
                options,
                cancellationToken);

            CSharpSpellingWalker walker = CSharpSpellingWalker.Create(analysisContext);

            walker.Visit(node);

            return(diagnostics.ToImmutableArray());
        }
Example #4
0
 public static CSharpSpellingWalker Create(SpellingAnalysisContext context)
 {
     return(new CSharpSpellingWalker(context, GetWalkerDepth(context)));
Example #5
0
 private CSharpSpellingWalker(SpellingAnalysisContext analysisContext, SyntaxWalkerDepth depth)
     : base(depth)
 {
     _analysisContext = analysisContext;
 }