aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/SkSLParser.cpp')
-rw-r--r--src/sksl/SkSLParser.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index 2699d9c113..19e60999e9 100644
--- a/src/sksl/SkSLParser.cpp
+++ b/src/sksl/SkSLParser.cpp
@@ -132,9 +132,18 @@ Token Parser::nextToken() {
return result;
}
int token = sksllex(fScanner);
- return Token(Position(skslget_lineno(fScanner), -1), (Token::Kind) token,
- token == Token::END_OF_FILE ? "<end of file>" :
- std::string(skslget_text(fScanner)));
+ std::string text;
+ switch ((Token::Kind) token) {
+ case Token::IDENTIFIER: // fall through
+ case Token::INT_LITERAL: // fall through
+ case Token::FLOAT_LITERAL: // fall through
+ case Token::DIRECTIVE:
+ text = std::string(skslget_text(fScanner));
+ break;
+ default:
+ break;
+ }
+ return Token(Position(skslget_lineno(fScanner), -1), (Token::Kind) token, text);
}
void Parser::pushback(Token t) {