Index: src/preparser.cc |
diff --git a/src/preparser.cc b/src/preparser.cc |
index f2502bbbb72fa84ea6f8fa3adc4819547a10e591..75e5d2eda05d97cc2c689713f37e7b4eb6742682 100644 |
--- a/src/preparser.cc |
+++ b/src/preparser.cc |
@@ -21,14 +21,16 @@ namespace v8 { |
namespace internal { |
void PreParserTraits::ReportMessageAt(Scanner::Location location, |
- const char* message, const char* arg, |
+ MessageTemplate::Template message, |
+ const char* arg, |
ParseErrorType error_type) { |
ReportMessageAt(location.beg_pos, location.end_pos, message, arg, error_type); |
} |
void PreParserTraits::ReportMessageAt(int start_pos, int end_pos, |
- const char* message, const char* arg, |
+ MessageTemplate::Template message, |
+ const char* arg, |
ParseErrorType error_type) { |
pre_parser_->log_->LogMessage(start_pos, end_pos, message, arg, error_type); |
} |
@@ -132,7 +134,8 @@ PreParser::PreParseResult PreParser::PreParseLazyFunction( |
if (is_strong(scope_->language_mode()) && IsSubclassConstructor(kind)) { |
if (!function_state.super_location().IsValid()) { |
ReportMessageAt(Scanner::Location(start_position, start_position + 1), |
- "strong_super_call_missing", kReferenceError); |
+ MessageTemplate::kStrongSuperCallMissing, |
+ kReferenceError); |
return kPreParseSuccess; |
} |
} |
@@ -229,13 +232,13 @@ void PreParser::ParseStatementList(int end_token, bool* ok, |
Scanner::Location super_loc = function_state_->super_location(); |
if (this_loc.beg_pos != old_this_loc.beg_pos && |
this_loc.beg_pos != token_loc.beg_pos) { |
- ReportMessageAt(this_loc, "strong_constructor_this"); |
+ ReportMessageAt(this_loc, MessageTemplate::kStrongConstructorThis); |
*ok = false; |
return; |
} |
if (super_loc.beg_pos != old_super_loc.beg_pos && |
super_loc.beg_pos != token_loc.beg_pos) { |
- ReportMessageAt(super_loc, "strong_constructor_super"); |
+ ReportMessageAt(super_loc, MessageTemplate::kStrongConstructorSuper); |
*ok = false; |
return; |
} |
@@ -323,7 +326,7 @@ PreParser::Statement PreParser::ParseSubStatement(bool* ok) { |
case Token::SEMICOLON: |
if (is_strong(language_mode())) { |
PreParserTraits::ReportMessageAt(scanner()->peek_location(), |
- "strong_empty"); |
+ MessageTemplate::kStrongEmpty); |
*ok = false; |
return Statement::Default(); |
} |
@@ -370,7 +373,7 @@ PreParser::Statement PreParser::ParseSubStatement(bool* ok) { |
if (is_strict(language_mode())) { |
PreParserTraits::ReportMessageAt(start_location.beg_pos, |
end_location.end_pos, |
- "strict_function"); |
+ MessageTemplate::kStrictFunction); |
*ok = false; |
return Statement::Default(); |
} else { |
@@ -423,7 +426,7 @@ PreParser::Statement PreParser::ParseFunctionDeclaration(bool* ok) { |
PreParser::Statement PreParser::ParseClassDeclaration(bool* ok) { |
Expect(Token::CLASS, CHECK_OK); |
if (!allow_harmony_sloppy() && is_sloppy(language_mode())) { |
- ReportMessage("sloppy_lexical"); |
+ ReportMessage(MessageTemplate::kSloppyLexical); |
*ok = false; |
return Statement::Default(); |
} |
@@ -499,7 +502,7 @@ PreParser::Statement PreParser::ParseVariableDeclarations( |
if (peek() == Token::VAR) { |
if (is_strong(language_mode())) { |
Scanner::Location location = scanner()->peek_location(); |
- ReportMessageAt(location, "strong_var"); |
+ ReportMessageAt(location, MessageTemplate::kStrongVar); |
*ok = false; |
return Statement::Default(); |
} |
@@ -617,8 +620,9 @@ PreParser::Statement PreParser::ParseExpressionOrLabelledStatement(bool* ok) { |
default: |
if (!scanner()->HasAnyLineTerminatorBeforeNext()) { |
ReportMessageAt(function_state_->this_location(), |
- is_this ? "strong_constructor_this" |
- : "strong_constructor_super"); |
+ is_this |
+ ? MessageTemplate::kStrongConstructorThis |
+ : MessageTemplate::kStrongConstructorSuper); |
*ok = false; |
return Statement::Default(); |
} |
@@ -659,7 +663,7 @@ PreParser::Statement PreParser::ParseExpressionOrLabelledStatement(bool* ok) { |
// Detect attempts at 'let' declarations in sloppy mode. |
if (peek() == Token::IDENTIFIER && is_sloppy(language_mode()) && |
expr.IsIdentifier() && expr.AsIdentifier().IsLet()) { |
- ReportMessage("sloppy_lexical", NULL); |
+ ReportMessage(MessageTemplate::kSloppyLexical, NULL); |
*ok = false; |
return Statement::Default(); |
} |
@@ -749,7 +753,7 @@ PreParser::Statement PreParser::ParseReturnStatement(bool* ok) { |
i::IsConstructor(function_state_->kind())) { |
int pos = peek_position(); |
ReportMessageAt(Scanner::Location(pos, pos + 1), |
- "strong_constructor_return_value"); |
+ MessageTemplate::kStrongConstructorReturnValue); |
*ok = false; |
return Statement::Default(); |
} |
@@ -765,7 +769,7 @@ PreParser::Statement PreParser::ParseWithStatement(bool* ok) { |
// 'with' '(' Expression ')' Statement |
Expect(Token::WITH, CHECK_OK); |
if (is_strict(language_mode())) { |
- ReportMessageAt(scanner()->location(), "strict_mode_with"); |
+ ReportMessageAt(scanner()->location(), MessageTemplate::kStrictWith); |
*ok = false; |
return Statement::Default(); |
} |
@@ -809,7 +813,8 @@ PreParser::Statement PreParser::ParseSwitchStatement(bool* ok) { |
} |
if (is_strong(language_mode()) && !statement.IsJumpStatement() && |
token != Token::RBRACE) { |
- ReportMessageAt(scanner()->location(), "strong_switch_fallthrough"); |
+ ReportMessageAt(scanner()->location(), |
+ MessageTemplate::kStrongSwitchFallthrough); |
*ok = false; |
return Statement::Default(); |
} |
@@ -872,17 +877,20 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) { |
const char* loop_type = |
mode == ForEachStatement::ITERATE ? "for-of" : "for-in"; |
PreParserTraits::ReportMessageAt( |
- bindings_loc, "for_inof_loop_multi_bindings", loop_type); |
+ bindings_loc, MessageTemplate::kForInOfLoopMultiBindings, |
+ loop_type); |
*ok = false; |
return Statement::Default(); |
} |
if (first_initializer_loc.IsValid() && |
(is_strict(language_mode()) || mode == ForEachStatement::ITERATE)) { |
if (mode == ForEachStatement::ITERATE) { |
- ReportMessageAt(first_initializer_loc, "for_of_loop_initializer"); |
+ ReportMessageAt(first_initializer_loc, |
+ MessageTemplate::kForOfLoopInitializer); |
} else { |
// TODO(caitp): This should be an error in sloppy mode, too. |
- ReportMessageAt(first_initializer_loc, "for_in_loop_initializer"); |
+ ReportMessageAt(first_initializer_loc, |
+ MessageTemplate::kForInLoopInitializer); |
} |
*ok = false; |
return Statement::Default(); |
@@ -910,7 +918,7 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) { |
// Detect attempts at 'let' declarations in sloppy mode. |
if (peek() == Token::IDENTIFIER && is_sloppy(language_mode()) && |
is_let_identifier_expression) { |
- ReportMessage("sloppy_lexical", NULL); |
+ ReportMessage(MessageTemplate::kSloppyLexical, NULL); |
*ok = false; |
return Statement::Default(); |
} |
@@ -937,7 +945,7 @@ PreParser::Statement PreParser::ParseThrowStatement(bool* ok) { |
Expect(Token::THROW, CHECK_OK); |
if (scanner()->HasAnyLineTerminatorBeforeNext()) { |
- ReportMessageAt(scanner()->location(), "newline_after_throw"); |
+ ReportMessageAt(scanner()->location(), MessageTemplate::kNewlineAfterThrow); |
*ok = false; |
return Statement::Default(); |
} |
@@ -965,7 +973,7 @@ PreParser::Statement PreParser::ParseTryStatement(bool* ok) { |
Token::Value tok = peek(); |
if (tok != Token::CATCH && tok != Token::FINALLY) { |
- ReportMessageAt(scanner()->location(), "no_catch_or_finally"); |
+ ReportMessageAt(scanner()->location(), MessageTemplate::kNoCatchOrFinally); |
*ok = false; |
return Statement::Default(); |
} |
@@ -1073,7 +1081,8 @@ PreParser::Expression PreParser::ParseFunctionLiteral( |
if (is_strong(language_mode()) && IsSubclassConstructor(kind)) { |
if (!function_state.super_location().IsValid()) { |
- ReportMessageAt(function_name_location, "strong_super_call_missing", |
+ ReportMessageAt(function_name_location, |
+ MessageTemplate::kStrongSuperCallMissing, |
kReferenceError); |
*ok = false; |
return Expression::Default(); |
@@ -1106,18 +1115,19 @@ PreParserExpression PreParser::ParseClassLiteral( |
bool name_is_strict_reserved, int pos, bool* ok) { |
// All parts of a ClassDeclaration and ClassExpression are strict code. |
if (name_is_strict_reserved) { |
- ReportMessageAt(class_name_location, "unexpected_strict_reserved"); |
+ ReportMessageAt(class_name_location, |
+ MessageTemplate::kUnexpectedStrictReserved); |
*ok = false; |
return EmptyExpression(); |
} |
if (IsEvalOrArguments(name)) { |
- ReportMessageAt(class_name_location, "strict_eval_arguments"); |
+ ReportMessageAt(class_name_location, MessageTemplate::kStrictEvalArguments); |
*ok = false; |
return EmptyExpression(); |
} |
LanguageMode class_language_mode = language_mode(); |
if (is_strong(class_language_mode) && IsUndefined(name)) { |
- ReportMessageAt(class_name_location, "strong_undefined"); |
+ ReportMessageAt(class_name_location, MessageTemplate::kStrongUndefined); |
*ok = false; |
return EmptyExpression(); |
} |