| Index: src/preparser.h
|
| diff --git a/src/preparser.h b/src/preparser.h
|
| index f7f532372b58cd23c8da8e8afb2bd16b3f8e237e..8171f9433a4627c9b8fe5f1c5ac6a72d73a9ae4a 100644
|
| --- a/src/preparser.h
|
| +++ b/src/preparser.h
|
| @@ -527,16 +527,15 @@ class ParserBase : public Traits {
|
|
|
| // Report syntax errors.
|
| void ReportMessage(const char* message, const char* arg = NULL,
|
| - bool is_reference_error = false) {
|
| + ParseErrorType error_type = kSyntaxError) {
|
| Scanner::Location source_location = scanner()->location();
|
| - Traits::ReportMessageAt(source_location, message, arg, is_reference_error);
|
| + Traits::ReportMessageAt(source_location, message, arg, error_type);
|
| }
|
|
|
| void ReportMessageAt(Scanner::Location location, const char* message,
|
| - bool is_reference_error = false) {
|
| - Traits::ReportMessageAt(location, message,
|
| - reinterpret_cast<const char*>(0),
|
| - is_reference_error);
|
| + ParseErrorType error_type = kSyntaxError) {
|
| + Traits::ReportMessageAt(location, message, reinterpret_cast<const char*>(0),
|
| + error_type);
|
| }
|
|
|
| void ReportUnexpectedToken(Token::Value token);
|
| @@ -1345,15 +1344,12 @@ class PreParserTraits {
|
| }
|
|
|
| // Reporting errors.
|
| - void ReportMessageAt(Scanner::Location location,
|
| - const char* message,
|
| + void ReportMessageAt(Scanner::Location location, const char* message,
|
| const char* arg = NULL,
|
| - bool is_reference_error = false);
|
| - void ReportMessageAt(int start_pos,
|
| - int end_pos,
|
| - const char* message,
|
| + ParseErrorType error_type = kSyntaxError);
|
| + void ReportMessageAt(int start_pos, int end_pos, const char* message,
|
| const char* arg = NULL,
|
| - bool is_reference_error = false);
|
| + ParseErrorType error_type = kSyntaxError);
|
|
|
| // "null" return type creators.
|
| static PreParserIdentifier EmptyIdentifier() {
|
| @@ -2988,7 +2984,7 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start, bool* ok) {
|
| } else if (next == Token::ILLEGAL) {
|
| Traits::ReportMessageAt(
|
| Scanner::Location(position() + 1, peek_position()),
|
| - "unexpected_token", "ILLEGAL", false);
|
| + "unexpected_token", "ILLEGAL", kSyntaxError);
|
| *ok = false;
|
| return Traits::EmptyExpression();
|
| }
|
| @@ -3017,7 +3013,7 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start, bool* ok) {
|
| } else if (next == Token::ILLEGAL) {
|
| Traits::ReportMessageAt(
|
| Scanner::Location(position() + 1, peek_position()),
|
| - "unexpected_token", "ILLEGAL", false);
|
| + "unexpected_token", "ILLEGAL", kSyntaxError);
|
| *ok = false;
|
| return Traits::EmptyExpression();
|
| }
|
| @@ -3039,7 +3035,7 @@ typename ParserBase<Traits>::ExpressionT ParserBase<
|
| const char* message, bool* ok) {
|
| if (is_strict(language_mode()) && this->IsIdentifier(expression) &&
|
| this->IsEvalOrArguments(this->AsIdentifier(expression))) {
|
| - this->ReportMessageAt(location, "strict_eval_arguments", false);
|
| + this->ReportMessageAt(location, "strict_eval_arguments", kSyntaxError);
|
| *ok = false;
|
| return this->EmptyExpression();
|
| } else if (expression->IsValidReferenceExpression()) {
|
| @@ -3051,7 +3047,7 @@ typename ParserBase<Traits>::ExpressionT ParserBase<
|
| ExpressionT error = this->NewThrowReferenceError(message, pos);
|
| return factory()->NewProperty(expression, error, pos);
|
| } else {
|
| - this->ReportMessageAt(location, message, true);
|
| + this->ReportMessageAt(location, message, kReferenceError);
|
| *ok = false;
|
| return this->EmptyExpression();
|
| }
|
|
|