Beispiel #1
0
        private void PushTrivia(Token token)
        {
            ScriptTriviaType type;

            switch (token.Type)
            {
            case TokenType.Comment:
                type = ScriptTriviaType.Comment;
                break;

            case TokenType.CommentMulti:
                type = ScriptTriviaType.CommentMulti;
                break;

            case TokenType.Whitespace:
                type = ScriptTriviaType.Whitespace;
                break;

            case TokenType.WhitespaceFull:
                type = ScriptTriviaType.WhitespaceFull;
                break;

            case TokenType.NewLine:
                type = ScriptTriviaType.NewLine;
                break;

            default:
                throw new InvalidOperationException($"Token type `{token.Type}` not supported by trivia");
            }

            var trivia = new ScriptTrivia(GetSpanForToken(token), type, GetAsStringSlice(token));

            _trivias.Add(trivia);
        }
Beispiel #2
0
        private void PushTrivia(Token token)
        {
            ScriptTriviaType type;

            switch (token.Type)
            {
            case TokenType.Comment:
                type = ScriptTriviaType.Comment;
                break;

            case TokenType.CommentMulti:
                type = ScriptTriviaType.CommentMulti;
                break;

            case TokenType.Whitespace:
                type = ScriptTriviaType.Whitespace;
                break;

            case TokenType.WhitespaceFull:
                type = ScriptTriviaType.WhitespaceFull;
                break;

            case TokenType.NewLine:
                type = ScriptTriviaType.NewLine;
                break;

            default:
                throw new InvalidOperationException(string.Format(RS.InvalidTokenInTrivia, token.Type));
            }

            ScriptTrivia trivia = new ScriptTrivia(GetSpanForToken(token), type, _lexer.Text);

            _trivias.Add(trivia);
        }