コード例 #1
0
        private void ClassifyToken(SyntaxToken token)
        {
            var span = token.Span;

            if (ShouldAddSpan(span))
            {
                var type = ClassificationHelpers.GetClassification(token);

                if (type != null)
                {
                    AddClassification(span, type);

                    // Additionally classify static symbols
                    if (
                        token.Kind() == SyntaxKind.IdentifierToken &&
                        ClassificationHelpers.IsStaticallyDeclared(token)
                        )
                    {
                        AddClassification(span, ClassificationTypeNames.StaticSymbol);
                    }
                }
            }

            ClassifyTriviaList(token.LeadingTrivia);
            ClassifyTriviaList(token.TrailingTrivia);
        }
コード例 #2
0
        private void ClassifyToken(SyntaxToken token)
        {
            var span = token.Span;

            if (ShouldAddSpan(span))
            {
                var type = ClassificationHelpers.GetClassification(token);

                if (type != null)
                {
                    AddClassification(span, type);
                }
            }

            foreach (var trivia in token.LeadingTrivia)
            {
                _cancellationToken.ThrowIfCancellationRequested();
                ClassifyTrivia(trivia);
            }

            foreach (var trivia in token.TrailingTrivia)
            {
                _cancellationToken.ThrowIfCancellationRequested();
                ClassifyTrivia(trivia);
            }
        }
コード例 #3
0
        private void ClassifyToken(SyntaxToken token)
        {
            var span = token.Span;

            if (span.Length != 0 && textSpan.OverlapsWith(span))
            {
                var type = ClassificationHelpers.GetClassification(token);

                if (type != null)
                {
                    AddClassification(span, type);
                }
            }

            foreach (var trivia in token.LeadingTrivia)
            {
                cancellationToken.ThrowIfCancellationRequested();
                ClassifyTrivia(trivia);
            }

            foreach (var trivia in token.TrailingTrivia)
            {
                cancellationToken.ThrowIfCancellationRequested();
                ClassifyTrivia(trivia);
            }
        }
コード例 #4
0
        public override void AddLexicalClassifications(SourceText text, TextSpan textSpan, List <ClassifiedSpan> result, CancellationToken cancellationToken)
        {
            using var _ = ArrayBuilder <ClassifiedSpan> .GetInstance(out var temp);

            ClassificationHelpers.AddLexicalClassifications(text, textSpan, temp, cancellationToken);
            AddRange(temp, result);
        }
コード例 #5
0
 public override void AddLexicalClassifications(
     SourceText text,
     TextSpan textSpan,
     ArrayBuilder <ClassifiedSpan> result,
     CancellationToken cancellationToken
     ) =>
 ClassificationHelpers.AddLexicalClassifications(
     text,
     textSpan,
     result,
     cancellationToken
     );
コード例 #6
0
        private void ClassifyToken(SyntaxToken token)
        {
            var span = token.Span;

            if (ShouldAddSpan(span))
            {
                var type = ClassificationHelpers.GetClassification(token);

                if (type != null)
                {
                    AddClassification(span, type);
                }
            }

            ClassifyTriviaList(token.LeadingTrivia);
            ClassifyTriviaList(token.TrailingTrivia);
        }
コード例 #7
0
 public override string?GetSyntacticClassificationForIdentifier(SyntaxToken identifier)
 => ClassificationHelpers.GetSyntacticClassificationForIdentifier(identifier);
コード例 #8
0
 public override ClassifiedSpan FixClassification(SourceText rawText, ClassifiedSpan classifiedSpan)
 => ClassificationHelpers.AdjustStaleClassification(rawText, classifiedSpan);