private void HandleSyntaxTree(SyntaxTreeAnalysisContext context) { var tree = context.Tree; var root = tree.GetRoot(context.CancellationToken); // don't process empty files if (root.FullSpan.IsEmpty) { return; } var fileHeaderTemplate = context.GetAnalyzerOptions().FileHeaderTemplate; if (string.IsNullOrEmpty(fileHeaderTemplate)) { return; } var fileHeader = FileHeaderHelper.ParseFileHeader(root); if (fileHeader.IsMissing) { context.ReportDiagnostic(Diagnostic.Create(MissingHeaderDescriptor, fileHeader.GetLocation(tree))); return; } var expectedFileHeader = fileHeaderTemplate.Replace("{fileName}", Path.GetFileName(tree.FilePath)); if (!CompareCopyrightText(expectedFileHeader, fileHeader.CopyrightText)) { context.ReportDiagnostic(Diagnostic.Create(InvalidHeaderDescriptor, fileHeader.GetLocation(tree))); return; } }
private void AnalyzeSyntaxTree(SyntaxTreeAnalysisContext context) { var option = context.GetAnalyzerOptions().RequireAccessibilityModifiers; if (option.Value == AccessibilityModifiersRequired.Never) { return; } ProcessCompilationUnit(context, option, (TCompilationUnitSyntax)context.Tree.GetRoot(context.CancellationToken)); }
private void AnalyzeSyntaxTree(SyntaxTreeAnalysisContext context) { var option = context.GetAnalyzerOptions().AllowStatementImmediatelyAfterBlock; if (option.Value) { return; } var cancellationToken = context.CancellationToken; var root = context.Tree.GetRoot(cancellationToken); Recurse(context, option.Notification.Severity, root, cancellationToken); }
private void AnalyzeTree(SyntaxTreeAnalysisContext context) { var option = context.GetAnalyzerOptions().AllowMultipleBlankLines; if (option.Value) { return; } var cancellationToken = context.CancellationToken; var root = context.Tree.GetRoot(cancellationToken); Recurse(context, option.Notification.Severity, root, cancellationToken); }
private void AnalyzeSyntaxTree(SyntaxTreeAnalysisContext context) { var options = context.GetAnalyzerOptions().GetSyntaxFormattingOptions(SyntaxFormatting); FormattingAnalyzerHelper.AnalyzeSyntaxTree(context, SyntaxFormatting, Descriptor, options); }