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); }
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); }