Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(379)

Unified Diff: src/sksl/SkSLParser.cpp

Issue 2442063002: Reduced skslc memory consumption (Closed)
Patch Set: improved error reporting Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/sksl/SkSLParser.cpp
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index 2699d9c113d076dee0844196220ed0bff1734806..19e60999e9156241408b8e04f831e69a0dd351b0 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) {

Powered by Google App Engine
This is Rietveld 408576698