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

Side by Side Diff: src/parsing/preparser.h

Issue 2502633002: [parser] Only log messages using the pending error handling (Closed)
Patch Set: Delete more unused code Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_PARSING_PREPARSER_H 5 #ifndef V8_PARSING_PREPARSER_H
6 #define V8_PARSING_PREPARSER_H 6 #define V8_PARSING_PREPARSER_H
7 7
8 #include "src/ast/scopes.h" 8 #include "src/ast/scopes.h"
9 #include "src/parsing/parser-base.h" 9 #include "src/parsing/parser-base.h"
10 10
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 typedef PreParserExpression Expression; 832 typedef PreParserExpression Expression;
833 typedef PreParserStatement Statement; 833 typedef PreParserStatement Statement;
834 834
835 enum PreParseResult { 835 enum PreParseResult {
836 kPreParseStackOverflow, 836 kPreParseStackOverflow,
837 kPreParseAbort, 837 kPreParseAbort,
838 kPreParseSuccess 838 kPreParseSuccess
839 }; 839 };
840 840
841 PreParser(Zone* zone, Scanner* scanner, AstValueFactory* ast_value_factory, 841 PreParser(Zone* zone, Scanner* scanner, AstValueFactory* ast_value_factory,
842 PendingCompilationErrorHandler* pending_error_handler,
842 uintptr_t stack_limit) 843 uintptr_t stack_limit)
843 : ParserBase<PreParser>(zone, scanner, stack_limit, nullptr, 844 : ParserBase<PreParser>(zone, scanner, stack_limit, nullptr,
844 ast_value_factory), 845 ast_value_factory),
845 use_counts_(nullptr), 846 use_counts_(nullptr),
846 track_unresolved_variables_(false) {} 847 track_unresolved_variables_(false),
848 pending_error_handler_(pending_error_handler) {}
847 849
848 PreParserLogger* logger() { return &log_; } 850 PreParserLogger* logger() { return &log_; }
849 851
850 // Pre-parse the program from the character stream; returns true on 852 // Pre-parse the program from the character stream; returns true on
851 // success (even if parsing failed, the pre-parse data successfully 853 // success (even if parsing failed, the pre-parse data successfully
852 // captured the syntax error), and false if a stack-overflow happened 854 // captured the syntax error), and false if a stack-overflow happened
853 // during parsing. 855 // during parsing.
854 PreParseResult PreParseProgram(int* materialized_literals = 0, 856 PreParseResult PreParseProgram(int* materialized_literals = 0,
855 bool is_module = false) { 857 bool is_module = false) {
856 DCHECK_NULL(scope_state_); 858 DCHECK_NULL(scope_state_);
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
1267 V8_INLINE PreParserExpression NewThrowTypeError( 1269 V8_INLINE PreParserExpression NewThrowTypeError(
1268 MessageTemplate::Template message, PreParserIdentifier arg, int pos) { 1270 MessageTemplate::Template message, PreParserIdentifier arg, int pos) {
1269 return PreParserExpression::Default(); 1271 return PreParserExpression::Default();
1270 } 1272 }
1271 1273
1272 // Reporting errors. 1274 // Reporting errors.
1273 V8_INLINE void ReportMessageAt(Scanner::Location source_location, 1275 V8_INLINE void ReportMessageAt(Scanner::Location source_location,
1274 MessageTemplate::Template message, 1276 MessageTemplate::Template message,
1275 const char* arg = NULL, 1277 const char* arg = NULL,
1276 ParseErrorType error_type = kSyntaxError) { 1278 ParseErrorType error_type = kSyntaxError) {
1277 log_.LogMessage(source_location.beg_pos, source_location.end_pos, message, 1279 pending_error_handler_->ReportMessageAt(source_location.beg_pos,
1278 arg, error_type); 1280 source_location.end_pos, message,
1281 arg, error_type);
1279 } 1282 }
1280 1283
1281 V8_INLINE void ReportMessageAt(Scanner::Location source_location, 1284 V8_INLINE void ReportMessageAt(Scanner::Location source_location,
1282 MessageTemplate::Template message, 1285 MessageTemplate::Template message,
1283 PreParserIdentifier arg, 1286 PreParserIdentifier arg,
1284 ParseErrorType error_type = kSyntaxError) { 1287 ParseErrorType error_type = kSyntaxError) {
1285 UNREACHABLE(); 1288 UNREACHABLE();
1286 } 1289 }
1287 1290
1288 // "null" return type creators. 1291 // "null" return type creators.
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
1502 1505
1503 V8_INLINE void CountUsage(v8::Isolate::UseCounterFeature feature) { 1506 V8_INLINE void CountUsage(v8::Isolate::UseCounterFeature feature) {
1504 if (use_counts_ != nullptr) ++use_counts_[feature]; 1507 if (use_counts_ != nullptr) ++use_counts_[feature];
1505 } 1508 }
1506 1509
1507 // Preparser's private field members. 1510 // Preparser's private field members.
1508 1511
1509 int* use_counts_; 1512 int* use_counts_;
1510 bool track_unresolved_variables_; 1513 bool track_unresolved_variables_;
1511 PreParserLogger log_; 1514 PreParserLogger log_;
1515 PendingCompilationErrorHandler* pending_error_handler_;
1512 }; 1516 };
1513 1517
1514 PreParserExpression PreParser::SpreadCall(PreParserExpression function, 1518 PreParserExpression PreParser::SpreadCall(PreParserExpression function,
1515 PreParserExpressionList args, 1519 PreParserExpressionList args,
1516 int pos) { 1520 int pos) {
1517 return factory()->NewCall(function, args, pos); 1521 return factory()->NewCall(function, args, pos);
1518 } 1522 }
1519 1523
1520 PreParserExpression PreParser::SpreadCallNew(PreParserExpression function, 1524 PreParserExpression PreParser::SpreadCallNew(PreParserExpression function,
1521 PreParserExpressionList args, 1525 PreParserExpressionList args,
(...skipping 29 matching lines...) Expand all
1551 function_state_->NextMaterializedLiteralIndex(); 1555 function_state_->NextMaterializedLiteralIndex();
1552 function_state_->NextMaterializedLiteralIndex(); 1556 function_state_->NextMaterializedLiteralIndex();
1553 } 1557 }
1554 return EmptyExpression(); 1558 return EmptyExpression();
1555 } 1559 }
1556 1560
1557 } // namespace internal 1561 } // namespace internal
1558 } // namespace v8 1562 } // namespace v8
1559 1563
1560 #endif // V8_PARSING_PREPARSER_H 1564 #endif // V8_PARSING_PREPARSER_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698