Beispiel #1
0
            public override void VisitToken(SyntaxToken token)
            {
                VisitLeadingTrivia(token);

                var diagnostics = Diagnostics(token);

                if (diagnostics != null)
                {
                    if (diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error))
                    {
                        Mark(token, "error");
                    }
                    else
                    {
                        Mark(token, "warning");
                    }
                }

                if (token.IsKeyword() || token.IsContextualKeyword())
                {
                    Mark(token, "keyword");
                    var type = GetTokenType(token);
                    if (type.Type != TokenType.Kind.Unknown)
                    {
                        ClassifyIdentifierToken(token);
                    }
                }

                var kind = token.CSharpContextualKind();

                switch (kind)
                {
                case SyntaxKind.IdentifierToken:
                    ClassifyIdentifierToken(token); break;

                case SyntaxKind.StringLiteralToken:
                    Mark(token, "string"); break;

                case SyntaxKind.NumericLiteralToken:
                    Mark(token, "number"); break;

                case SyntaxKind.CharacterLiteralToken:
                    Mark(token, "char"); break;
                }

                VisitTrailingTrivia(token);
            }
Beispiel #2
0
            public override void VisitToken(SyntaxToken token)
            {
                VisitLeadingTrivia(token);

                var diagnostics = Diagnostics(token);
                if (diagnostics != null)
                {
                    if (diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error))
                        Mark(token, "error");
                    else
                        Mark(token, "warning");
                }

                if (token.IsKeyword() || token.IsContextualKeyword())
                {
                    Mark(token, "keyword");
                    var type = GetTokenType(token);
                    if (type.Type != TokenType.Kind.Unknown)
                        ClassifyIdentifierToken(token);
                }

                var kind = token.CSharpContextualKind();
                switch (kind)
                {
                    case SyntaxKind.IdentifierToken:
                        ClassifyIdentifierToken(token); break;

                    case SyntaxKind.StringLiteralToken:
                        Mark(token, "string"); break;

                    case SyntaxKind.NumericLiteralToken:
                        Mark(token, "number"); break;

                    case SyntaxKind.CharacterLiteralToken:
                        Mark(token, "char"); break;
                }

                VisitTrailingTrivia(token);
            }