Beispiel #1
0
        /// <summary>
        /// Show the diagnostic.
        /// </summary>
        /// <param name="syntaxNodeAnalysisContext">The syntaxNodeAnalysisContext.</param>
        /// <param name="triviaList">The triviaList.</param>
        private static void ShowDiagnostic(SyntaxNodeAnalysisContext syntaxNodeAnalysisContext, SyntaxTriviaList triviaList)
        {
            var node = syntaxNodeAnalysisContext.Node;

            var idx = triviaList.IndexOfTrivia(node.FullSpan) - 1;

            Location loc;

            if (idx < 0)
            {
                loc = node.GetLocation();
            }
            else
            {
                loc = Location.Create(
                    node.SyntaxTree,
                    new TextSpan(triviaList[idx].FullSpan.Start, triviaList[idx].FullSpan.Length + triviaList[idx + 1].FullSpan.Length));
            }

            syntaxNodeAnalysisContext.ReportDiagnostic(Diagnostic.Create(Rule, loc, DiagnosticId8000));
        }