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); }
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()); }
public static CSharpSpellingWalker Create(SpellingAnalysisContext context) { return(new CSharpSpellingWalker(context, GetWalkerDepth(context)));
private CSharpSpellingWalker(SpellingAnalysisContext analysisContext, SyntaxWalkerDepth depth) : base(depth) { _analysisContext = analysisContext; }