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

Unified Diff: src/preparser.h

Issue 1130133003: Migrate error messages, part 12. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@messages_11
Patch Set: Created 5 years, 7 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
« no previous file with comments | « src/preparse-data-format.h ('k') | src/preparser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/preparser.h
diff --git a/src/preparser.h b/src/preparser.h
index aeef700bfe7593a8369b4c4b5f0350fa8dc5b707..67ff6d876d436923fa47b9396d94d8dd37ec1590 100644
--- a/src/preparser.h
+++ b/src/preparser.h
@@ -10,6 +10,7 @@
#include "src/bailout-reason.h"
#include "src/func-name-inferrer.h"
#include "src/hashmap.h"
+#include "src/messages.h"
#include "src/scanner.h"
#include "src/scopes.h"
#include "src/token.h"
@@ -445,7 +446,7 @@ class ParserBase : public Traits {
bool accept_OF, ForEachStatement::VisitMode* visit_mode, bool* ok) {
if (Check(Token::IN)) {
if (is_strong(language_mode())) {
- ReportMessageAt(scanner()->location(), "strong_for_in");
+ ReportMessageAt(scanner()->location(), MessageTemplate::kStrongForIn);
*ok = false;
} else {
*visit_mode = ForEachStatement::ENUMERATE;
@@ -460,23 +461,25 @@ class ParserBase : public Traits {
// Checks whether an octal literal was last seen between beg_pos and end_pos.
// If so, reports an error. Only called for strict mode and template strings.
- void CheckOctalLiteral(int beg_pos, int end_pos, const char* error,
- bool* ok) {
+ void CheckOctalLiteral(int beg_pos, int end_pos,
+ MessageTemplate::Template message, bool* ok) {
Scanner::Location octal = scanner()->octal_position();
if (octal.IsValid() && beg_pos <= octal.beg_pos &&
octal.end_pos <= end_pos) {
- ReportMessageAt(octal, error);
+ ReportMessageAt(octal, message);
scanner()->clear_octal_position();
*ok = false;
}
}
inline void CheckStrictOctalLiteral(int beg_pos, int end_pos, bool* ok) {
- CheckOctalLiteral(beg_pos, end_pos, "strict_octal_literal", ok);
+ CheckOctalLiteral(beg_pos, end_pos, MessageTemplate::kStrictOctalLiteral,
+ ok);
}
inline void CheckTemplateOctalLiteral(int beg_pos, int end_pos, bool* ok) {
- CheckOctalLiteral(beg_pos, end_pos, "template_octal_literal", ok);
+ CheckOctalLiteral(beg_pos, end_pos, MessageTemplate::kTemplateOctalLiteral,
+ ok);
}
// Checking the name of a function literal. This has to be done after parsing
@@ -492,17 +495,20 @@ class ParserBase : public Traits {
if (is_sloppy(language_mode)) return;
if (this->IsEvalOrArguments(function_name)) {
- Traits::ReportMessageAt(function_name_loc, "strict_eval_arguments");
+ Traits::ReportMessageAt(function_name_loc,
+ MessageTemplate::kStrictEvalArguments);
*ok = false;
return;
}
if (function_name_is_strict_reserved) {
- Traits::ReportMessageAt(function_name_loc, "unexpected_strict_reserved");
+ Traits::ReportMessageAt(function_name_loc,
+ MessageTemplate::kUnexpectedStrictReserved);
*ok = false;
return;
}
if (is_strong(language_mode) && this->IsUndefined(function_name)) {
- Traits::ReportMessageAt(function_name_loc, "strong_undefined");
+ Traits::ReportMessageAt(function_name_loc,
+ MessageTemplate::kStrongUndefined);
*ok = false;
return;
}
@@ -523,13 +529,14 @@ class ParserBase : public Traits {
bool is_generator() const { return function_state_->is_generator(); }
// Report syntax errors.
- void ReportMessage(const char* message, const char* arg = NULL,
+ void ReportMessage(MessageTemplate::Template message, const char* arg = NULL,
ParseErrorType error_type = kSyntaxError) {
Scanner::Location source_location = scanner()->location();
Traits::ReportMessageAt(source_location, message, arg, error_type);
}
- void ReportMessageAt(Scanner::Location location, const char* message,
+ void ReportMessageAt(Scanner::Location location,
+ MessageTemplate::Template message,
ParseErrorType error_type = kSyntaxError) {
Traits::ReportMessageAt(location, message, reinterpret_cast<const char*>(0),
error_type);
@@ -543,11 +550,11 @@ class ParserBase : public Traits {
struct Error {
Error()
: location(Scanner::Location::invalid()),
- message(nullptr),
+ message(MessageTemplate::kNone),
arg(nullptr) {}
Scanner::Location location;
- const char* message;
+ MessageTemplate::Template message;
const char* arg;
bool HasError() const { return location.IsValid(); }
@@ -612,7 +619,8 @@ class ParserBase : public Traits {
}
void RecordExpressionError(const Scanner::Location& loc,
- const char* message, const char* arg = nullptr) {
+ MessageTemplate::Template message,
+ const char* arg = nullptr) {
if (!is_valid_expression()) return;
expression_error_.location = loc;
expression_error_.message = message;
@@ -620,7 +628,7 @@ class ParserBase : public Traits {
}
void RecordBindingPatternError(const Scanner::Location& loc,
- const char* message,
+ MessageTemplate::Template message,
const char* arg = nullptr) {
if (!is_valid_binding_pattern()) return;
binding_pattern_error_.location = loc;
@@ -629,7 +637,7 @@ class ParserBase : public Traits {
}
void RecordAssignmentPatternError(const Scanner::Location& loc,
- const char* message,
+ MessageTemplate::Template message,
const char* arg = nullptr) {
if (!is_valid_assignment_pattern()) return;
assignment_pattern_error_.location = loc;
@@ -638,7 +646,7 @@ class ParserBase : public Traits {
}
void RecordArrowFormalParametersError(const Scanner::Location& loc,
- const char* message,
+ MessageTemplate::Template message,
const char* arg = nullptr) {
if (!is_valid_arrow_formal_parameters()) return;
arrow_formal_parameters_error_.location = loc;
@@ -649,7 +657,8 @@ class ParserBase : public Traits {
void RecordDuplicateFormalParameterError(const Scanner::Location& loc) {
if (!is_valid_formal_parameter_list_without_duplicates()) return;
duplicate_formal_parameter_error_.location = loc;
- duplicate_formal_parameter_error_.message = "strict_param_dupe";
+ duplicate_formal_parameter_error_.message =
+ MessageTemplate::kStrictParamDupe;
duplicate_formal_parameter_error_.arg = nullptr;
}
@@ -657,7 +666,7 @@ class ParserBase : public Traits {
// is not the same as StrictFormalParameterList, which simply forbids
// duplicate bindings.
void RecordStrictModeFormalParameterError(const Scanner::Location& loc,
- const char* message,
+ MessageTemplate::Template message,
const char* arg = nullptr) {
if (!is_valid_strict_mode_formal_parameters()) return;
strict_mode_formal_parameter_error_.location = loc;
@@ -666,7 +675,7 @@ class ParserBase : public Traits {
}
void RecordStrongModeFormalParameterError(const Scanner::Location& loc,
- const char* message,
+ MessageTemplate::Template message,
const char* arg = nullptr) {
if (!is_valid_strong_mode_formal_parameters()) return;
strong_mode_formal_parameter_error_.location = loc;
@@ -783,7 +792,8 @@ class ParserBase : public Traits {
if (classifier->is_valid_binding_pattern()) {
// A simple arrow formal parameter: IDENTIFIER => BODY.
if (!this->IsIdentifier(expr)) {
- Traits::ReportMessageAt(scanner()->location(), "unexpected_token",
+ Traits::ReportMessageAt(scanner()->location(),
+ MessageTemplate::kUnexpectedToken,
Token::String(scanner()->current_token()));
*ok = false;
}
@@ -794,13 +804,15 @@ class ParserBase : public Traits {
}
void BindingPatternUnexpectedToken(ExpressionClassifier* classifier) {
- classifier->RecordBindingPatternError(
- scanner()->peek_location(), "unexpected_token", Token::String(peek()));
+ classifier->RecordBindingPatternError(scanner()->peek_location(),
+ MessageTemplate::kUnexpectedToken,
+ Token::String(peek()));
}
void ArrowFormalParametersUnexpectedToken(ExpressionClassifier* classifier) {
classifier->RecordArrowFormalParametersError(
- scanner()->peek_location(), "unexpected_token", Token::String(peek()));
+ scanner()->peek_location(), MessageTemplate::kUnexpectedToken,
+ Token::String(peek()));
}
// Recursive descent functions:
@@ -887,8 +899,8 @@ class ParserBase : public Traits {
// left-hand side of assignments). Although ruled out by ECMA as early errors,
// we allow calls for web compatibility and rewrite them to a runtime throw.
ExpressionT CheckAndRewriteReferenceExpression(
- ExpressionT expression,
- Scanner::Location location, const char* message, bool* ok);
+ ExpressionT expression, Scanner::Location location,
+ MessageTemplate::Template message, bool* ok);
// Used to validate property names in object literals and class literals
enum PropertyKind {
@@ -1603,23 +1615,26 @@ class PreParserTraits {
return PreParserExpression::Default();
}
- PreParserExpression NewThrowReferenceError(const char* type, int pos) {
+ PreParserExpression NewThrowReferenceError(MessageTemplate::Template message,
+ int pos) {
return PreParserExpression::Default();
}
- PreParserExpression NewThrowSyntaxError(
- const char* type, Handle<Object> arg, int pos) {
+ PreParserExpression NewThrowSyntaxError(MessageTemplate::Template message,
+ Handle<Object> arg, int pos) {
return PreParserExpression::Default();
}
- PreParserExpression NewThrowTypeError(
- const char* type, Handle<Object> arg, int pos) {
+ PreParserExpression NewThrowTypeError(MessageTemplate::Template message,
+ Handle<Object> arg, int pos) {
return PreParserExpression::Default();
}
// Reporting errors.
- void ReportMessageAt(Scanner::Location location, const char* message,
+ void ReportMessageAt(Scanner::Location location,
+ MessageTemplate::Template message,
const char* arg = NULL,
ParseErrorType error_type = kSyntaxError);
- void ReportMessageAt(int start_pos, int end_pos, const char* message,
+ void ReportMessageAt(int start_pos, int end_pos,
+ MessageTemplate::Template message,
const char* arg = NULL,
ParseErrorType error_type = kSyntaxError);
@@ -2023,32 +2038,37 @@ void ParserBase<Traits>::ReportUnexpectedTokenAt(
// Four of the tokens are treated specially
switch (token) {
case Token::EOS:
- return ReportMessageAt(source_location, "unexpected_eos");
+ return ReportMessageAt(source_location, MessageTemplate::kUnexpectedEOS);
case Token::SMI:
case Token::NUMBER:
- return ReportMessageAt(source_location, "unexpected_token_number");
+ return ReportMessageAt(source_location,
+ MessageTemplate::kUnexpectedTokenNumber);
case Token::STRING:
- return ReportMessageAt(source_location, "unexpected_token_string");
+ return ReportMessageAt(source_location,
+ MessageTemplate::kUnexpectedTokenString);
case Token::IDENTIFIER:
- return ReportMessageAt(source_location, "unexpected_token_identifier");
+ return ReportMessageAt(source_location,
+ MessageTemplate::kUnexpectedTokenIdentifier);
case Token::FUTURE_RESERVED_WORD:
- return ReportMessageAt(source_location, "unexpected_reserved");
+ return ReportMessageAt(source_location,
+ MessageTemplate::kUnexpectedReserved);
case Token::LET:
case Token::STATIC:
case Token::YIELD:
case Token::FUTURE_STRICT_RESERVED_WORD:
return ReportMessageAt(source_location,
is_strict(language_mode())
- ? "unexpected_strict_reserved"
- : "unexpected_token_identifier");
+ ? MessageTemplate::kUnexpectedStrictReserved
+ : MessageTemplate::kUnexpectedTokenIdentifier);
case Token::TEMPLATE_SPAN:
case Token::TEMPLATE_TAIL:
- return Traits::ReportMessageAt(source_location,
- "unexpected_template_string");
+ return Traits::ReportMessageAt(
+ source_location, MessageTemplate::kUnexpectedTemplateString);
default:
const char* name = Token::String(token);
DCHECK(name != NULL);
- Traits::ReportMessageAt(source_location, "unexpected_token", name);
+ Traits::ReportMessageAt(source_location,
+ MessageTemplate::kUnexpectedToken, name);
}
}
@@ -2088,35 +2108,35 @@ ParserBase<Traits>::ParseAndClassifyIdentifier(ExpressionClassifier* classifier,
// must detect because we know we're in strict mode, we also record any
// error that we might make in the future once we know the language mode.
if (this->IsEval(name)) {
- classifier->RecordStrictModeFormalParameterError(scanner()->location(),
- "strict_eval_arguments");
+ classifier->RecordStrictModeFormalParameterError(
+ scanner()->location(), MessageTemplate::kStrictEvalArguments);
if (is_strict(language_mode())) {
- classifier->RecordBindingPatternError(scanner()->location(),
- "strict_eval_arguments");
+ classifier->RecordBindingPatternError(
+ scanner()->location(), MessageTemplate::kStrictEvalArguments);
}
}
if (this->IsArguments(name)) {
scope_->RecordArgumentsUsage();
- classifier->RecordStrictModeFormalParameterError(scanner()->location(),
- "strict_eval_arguments");
+ classifier->RecordStrictModeFormalParameterError(
+ scanner()->location(), MessageTemplate::kStrictEvalArguments);
if (is_strict(language_mode())) {
- classifier->RecordBindingPatternError(scanner()->location(),
- "strict_eval_arguments");
+ classifier->RecordBindingPatternError(
+ scanner()->location(), MessageTemplate::kStrictEvalArguments);
}
if (is_strong(language_mode())) {
classifier->RecordExpressionError(scanner()->location(),
- "strong_arguments");
+ MessageTemplate::kStrongArguments);
}
}
if (this->IsUndefined(name)) {
- classifier->RecordStrongModeFormalParameterError(scanner()->location(),
- "strong_undefined");
+ classifier->RecordStrongModeFormalParameterError(
+ scanner()->location(), MessageTemplate::kStrongUndefined);
if (is_strong(language_mode())) {
// TODO(dslomov): allow 'undefined' in nested patterns.
- classifier->RecordBindingPatternError(scanner()->location(),
- "strong_undefined");
- classifier->RecordAssignmentPatternError(scanner()->location(),
- "strong_undefined");
+ classifier->RecordBindingPatternError(
+ scanner()->location(), MessageTemplate::kStrongUndefined);
+ classifier->RecordAssignmentPatternError(
+ scanner()->location(), MessageTemplate::kStrongUndefined);
}
}
return name;
@@ -2125,7 +2145,7 @@ ParserBase<Traits>::ParseAndClassifyIdentifier(ExpressionClassifier* classifier,
next == Token::LET || next == Token::STATIC ||
(next == Token::YIELD && !is_generator()))) {
classifier->RecordStrictModeFormalParameterError(
- scanner()->location(), "unexpected_strict_reserved");
+ scanner()->location(), MessageTemplate::kUnexpectedStrictReserved);
return this->GetSymbol(scanner());
} else {
this->ReportUnexpectedToken(next);
@@ -2194,7 +2214,7 @@ typename ParserBase<Traits>::ExpressionT ParserBase<Traits>::ParseRegExpLiteral(
int pos = peek_position();
if (!scanner()->ScanRegExpPattern(seen_equal)) {
Next();
- ReportMessage("unterminated_regexp");
+ ReportMessage(MessageTemplate::kUnterminatedRegExp);
*ok = false;
return Traits::EmptyExpression();
}
@@ -2204,7 +2224,7 @@ typename ParserBase<Traits>::ExpressionT ParserBase<Traits>::ParseRegExpLiteral(
IdentifierT js_pattern = this->GetNextSymbol(scanner());
if (!scanner()->ScanRegExpFlags()) {
Next();
- ReportMessage("malformed_regexp_flags");
+ ReportMessage(MessageTemplate::kMalformedRegExpFlags);
*ok = false;
return Traits::EmptyExpression();
}
@@ -2259,7 +2279,7 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
// Constructors' usages of 'this' in strong mode are parsed separately.
// TODO(rossberg): this does not work with arrow functions yet.
if (i::IsConstructor(function_state_->kind())) {
- ReportMessage("strong_constructor_this");
+ ReportMessage(MessageTemplate::kStrongConstructorThis);
*ok = false;
break;
}
@@ -2279,8 +2299,8 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
break;
case Token::SMI:
case Token::NUMBER:
- classifier->RecordBindingPatternError(scanner()->location(),
- "unexpected_token_number");
+ classifier->RecordBindingPatternError(
+ scanner()->location(), MessageTemplate::kUnexpectedTokenNumber);
Next();
result =
this->ExpressionFromLiteral(token, beg_pos, scanner(), factory());
@@ -2299,8 +2319,8 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
}
case Token::STRING: {
- classifier->RecordBindingPatternError(scanner()->location(),
- "unexpected_token_string");
+ classifier->RecordBindingPatternError(
+ scanner()->location(), MessageTemplate::kUnexpectedTokenString);
Consume(Token::STRING);
result = this->ExpressionFromString(beg_pos, scanner(), factory());
break;
@@ -2342,7 +2362,7 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
if (allow_harmony_arrow_functions() && Check(Token::RPAREN)) {
// As a primary expression, the only thing that can follow "()" is "=>".
classifier->RecordBindingPatternError(scanner()->location(),
- "unexpected_token",
+ MessageTemplate::kUnexpectedToken,
Token::String(Token::RPAREN));
Scope* scope = this->NewScope(scope_, ARROW_SCOPE);
scope->set_start_position(beg_pos);
@@ -2363,7 +2383,7 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
BindingPatternUnexpectedToken(classifier);
Consume(Token::CLASS);
if (!allow_harmony_sloppy() && is_sloppy(language_mode())) {
- ReportMessage("sloppy_lexical");
+ ReportMessage(MessageTemplate::kSloppyLexical);
*ok = false;
break;
}
@@ -2457,7 +2477,8 @@ typename ParserBase<Traits>::ExpressionT ParserBase<Traits>::ParseArrayLiteral(
ExpressionT elem = this->EmptyExpression();
if (peek() == Token::COMMA) {
if (is_strong(language_mode())) {
- ReportMessageAt(scanner()->peek_location(), "strong_ellision");
+ ReportMessageAt(scanner()->peek_location(),
+ MessageTemplate::kStrongEllision);
*ok = false;
return this->EmptyExpression();
}
@@ -2775,7 +2796,7 @@ typename Traits::Type::ExpressionList ParserBase<Traits>::ParseArguments(
}
if (result->length() > Code::kMaxArguments) {
- ReportMessage("too_many_arguments");
+ ReportMessage(MessageTemplate::kTooManyArguments);
*ok = false;
return this->NullExpressionList();
}
@@ -2786,7 +2807,7 @@ typename Traits::Type::ExpressionList ParserBase<Traits>::ParseArguments(
}
Scanner::Location location = scanner_->location();
if (Token::RPAREN != Next()) {
- ReportMessageAt(location, "unterminated_arg_list");
+ ReportMessageAt(location, MessageTemplate::kUnterminatedArgList);
*ok = false;
return this->NullExpressionList();
}
@@ -2869,7 +2890,8 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN,
}
expression = this->CheckAndRewriteReferenceExpression(
- expression, lhs_location, "invalid_lhs_in_assignment", CHECK_OK);
+ expression, lhs_location, MessageTemplate::kInvalidLhsInAssignment,
+ CHECK_OK);
expression = this->MarkExpressionAsAssigned(expression);
Token::Value op = Next(); // Get assignment operator.
@@ -3017,7 +3039,7 @@ ParserBase<Traits>::ParseBinaryExpression(int prec, bool accept_IN,
default: break;
}
if (cmp == Token::EQ && is_strong(language_mode())) {
- ReportMessageAt(op_location, "strong_equal");
+ ReportMessageAt(op_location, MessageTemplate::kStrongEqual);
*ok = false;
return this->EmptyExpression();
}
@@ -3063,12 +3085,12 @@ ParserBase<Traits>::ParseUnaryExpression(ExpressionClassifier* classifier,
if (op == Token::DELETE && is_strict(language_mode())) {
if (is_strong(language_mode())) {
- ReportMessage("strong_delete");
+ ReportMessage(MessageTemplate::kStrongDelete);
*ok = false;
return this->EmptyExpression();
} else if (this->IsIdentifier(expression)) {
// "delete identifier" is a syntax error in strict mode.
- ReportMessage("strict_delete");
+ ReportMessage(MessageTemplate::kStrictDelete);
*ok = false;
return this->EmptyExpression();
}
@@ -3082,7 +3104,8 @@ ParserBase<Traits>::ParseUnaryExpression(ExpressionClassifier* classifier,
Scanner::Location lhs_location = scanner()->peek_location();
ExpressionT expression = this->ParseUnaryExpression(classifier, CHECK_OK);
expression = this->CheckAndRewriteReferenceExpression(
- expression, lhs_location, "invalid_lhs_in_prefix_op", CHECK_OK);
+ expression, lhs_location, MessageTemplate::kInvalidLhsInPrefixOp,
+ CHECK_OK);
this->MarkExpressionAsAssigned(expression);
return factory()->NewCountOperation(op,
@@ -3111,7 +3134,8 @@ ParserBase<Traits>::ParsePostfixExpression(ExpressionClassifier* classifier,
BindingPatternUnexpectedToken(classifier);
expression = this->CheckAndRewriteReferenceExpression(
- expression, lhs_location, "invalid_lhs_in_postfix_op", CHECK_OK);
+ expression, lhs_location, MessageTemplate::kInvalidLhsInPostfixOp,
+ CHECK_OK);
expression = this->MarkExpressionAsAssigned(expression);
Token::Value next = Next();
@@ -3152,7 +3176,7 @@ ParserBase<Traits>::ParseLeftHandSideExpression(
if (is_strong(language_mode()) && this->IsIdentifier(result) &&
this->IsEval(this->AsIdentifier(result))) {
- ReportMessage("strong_direct_eval");
+ ReportMessage(MessageTemplate::kStrongDirectEval);
*ok = false;
return this->EmptyExpression();
}
@@ -3364,14 +3388,14 @@ ParserBase<Traits>::ParseStrongInitializationExpression(
break;
}
default:
- ReportMessage("strong_constructor_this");
+ ReportMessage(MessageTemplate::kStrongConstructorThis);
*ok = false;
return this->EmptyExpression();
}
if (peek() != Token::ASSIGN) {
ReportMessageAt(function_state_->this_location(),
- "strong_constructor_this");
+ MessageTemplate::kStrongConstructorThis);
*ok = false;
return this->EmptyExpression();
}
@@ -3396,7 +3420,7 @@ ParserBase<Traits>::ParseStrongInitializationExpression(
if (function_state_->return_location().IsValid()) {
ReportMessageAt(function_state_->return_location(),
- "strong_constructor_return_misplaced");
+ MessageTemplate::kStrongConstructorReturnMisplaced);
*ok = false;
return this->EmptyExpression();
}
@@ -3419,7 +3443,7 @@ ParserBase<Traits>::ParseStrongSuperCallExpression(
ExpressionT expr = this->SuperReference(scope_, factory());
if (peek() != Token::LPAREN) {
- ReportMessage("strong_constructor_super");
+ ReportMessage(MessageTemplate::kStrongConstructorSuper);
*ok = false;
return this->EmptyExpression();
}
@@ -3430,20 +3454,22 @@ ParserBase<Traits>::ParseStrongSuperCallExpression(
// TODO(rossberg): This doesn't work with arrow functions yet.
if (!IsSubclassConstructor(function_state_->kind())) {
- ReportMessage("unexpected_super");
+ ReportMessage(MessageTemplate::kUnexpectedSuper);
*ok = false;
return this->EmptyExpression();
} else if (function_state_->super_location().IsValid()) {
- ReportMessageAt(scanner()->location(), "strong_super_call_duplicate");
+ ReportMessageAt(scanner()->location(),
+ MessageTemplate::kStrongSuperCallDuplicate);
*ok = false;
return this->EmptyExpression();
} else if (function_state_->this_location().IsValid()) {
- ReportMessageAt(scanner()->location(), "strong_super_call_misplaced");
+ ReportMessageAt(scanner()->location(),
+ MessageTemplate::kStrongSuperCallMisplaced);
*ok = false;
return this->EmptyExpression();
} else if (function_state_->return_location().IsValid()) {
ReportMessageAt(function_state_->return_location(),
- "strong_constructor_return_misplaced");
+ MessageTemplate::kStrongConstructorReturnMisplaced);
*ok = false;
return this->EmptyExpression();
}
@@ -3484,7 +3510,8 @@ ParserBase<Traits>::ParseSuperExpression(bool is_new,
if (!is_new && peek() == Token::LPAREN && IsSubclassConstructor(kind)) {
if (is_strong(language_mode())) {
// Super calls in strong mode are parsed separately.
- ReportMessageAt(scanner()->location(), "strong_constructor_super");
+ ReportMessageAt(scanner()->location(),
+ MessageTemplate::kStrongConstructorSuper);
*ok = false;
return this->EmptyExpression();
}
@@ -3493,7 +3520,7 @@ ParserBase<Traits>::ParseSuperExpression(bool is_new,
}
}
- ReportMessageAt(scanner()->location(), "unexpected_super");
+ ReportMessageAt(scanner()->location(), MessageTemplate::kUnexpectedSuper);
*ok = false;
return this->EmptyExpression();
}
@@ -3600,7 +3627,7 @@ int ParserBase<Traits>::ParseFormalParameterList(
if (peek() != Token::RPAREN) {
do {
if (++parameter_count > Code::kMaxArguments) {
- ReportMessage("too_many_parameters");
+ ReportMessage(MessageTemplate::kTooManyParameters);
*ok = false;
return -1;
}
@@ -3610,7 +3637,8 @@ int ParserBase<Traits>::ParseFormalParameterList(
} while (!*is_rest && Check(Token::COMMA));
if (*is_rest && peek() == Token::COMMA) {
- ReportMessageAt(scanner()->peek_location(), "param_after_rest");
+ ReportMessageAt(scanner()->peek_location(),
+ MessageTemplate::kParamAfterRest);
*ok = false;
return -1;
}
@@ -3628,14 +3656,14 @@ void ParserBase<Traits>::CheckArityRestrictions(
case FunctionLiteral::GETTER_ARITY:
if (param_count != 0) {
ReportMessageAt(Scanner::Location(formals_start_pos, formals_end_pos),
- "bad_getter_arity");
+ MessageTemplate::kBadGetterArity);
*ok = false;
}
break;
case FunctionLiteral::SETTER_ARITY:
if (param_count != 1) {
ReportMessageAt(Scanner::Location(formals_start_pos, formals_end_pos),
- "bad_setter_arity");
+ MessageTemplate::kBadSetterArity);
*ok = false;
}
break;
@@ -3786,13 +3814,13 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start,
next = peek();
if (next == Token::EOS) {
ReportMessageAt(Scanner::Location(start, peek_position()),
- "unterminated_template");
+ MessageTemplate::kUnterminatedTemplate);
*ok = false;
return Traits::EmptyExpression();
} else if (next == Token::ILLEGAL) {
Traits::ReportMessageAt(
Scanner::Location(position() + 1, peek_position()),
- "unexpected_token", "ILLEGAL", kSyntaxError);
+ MessageTemplate::kUnexpectedToken, "ILLEGAL", kSyntaxError);
*ok = false;
return Traits::EmptyExpression();
}
@@ -3803,7 +3831,7 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start,
if (peek() != Token::RBRACE) {
ReportMessageAt(Scanner::Location(expr_pos, peek_position()),
- "unterminated_template_expr");
+ MessageTemplate::kUnterminatedTemplateExpr);
*ok = false;
return Traits::EmptyExpression();
}
@@ -3815,13 +3843,14 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start,
pos = position();
if (next == Token::EOS) {
- ReportMessageAt(Scanner::Location(start, pos), "unterminated_template");
+ ReportMessageAt(Scanner::Location(start, pos),
+ MessageTemplate::kUnterminatedTemplate);
*ok = false;
return Traits::EmptyExpression();
} else if (next == Token::ILLEGAL) {
Traits::ReportMessageAt(
Scanner::Location(position() + 1, peek_position()),
- "unexpected_token", "ILLEGAL", kSyntaxError);
+ MessageTemplate::kUnexpectedToken, "ILLEGAL", kSyntaxError);
*ok = false;
return Traits::EmptyExpression();
}
@@ -3837,20 +3866,22 @@ ParserBase<Traits>::ParseTemplateLiteral(ExpressionT tag, int start,
template <typename Traits>
-typename ParserBase<Traits>::ExpressionT ParserBase<
- Traits>::CheckAndRewriteReferenceExpression(ExpressionT expression,
- Scanner::Location location,
- const char* message, bool* ok) {
+typename ParserBase<Traits>::ExpressionT
+ParserBase<Traits>::CheckAndRewriteReferenceExpression(
+ ExpressionT expression, Scanner::Location location,
+ MessageTemplate::Template message, bool* ok) {
if (this->IsIdentifier(expression)) {
if (is_strict(language_mode()) &&
this->IsEvalOrArguments(this->AsIdentifier(expression))) {
- this->ReportMessageAt(location, "strict_eval_arguments", kSyntaxError);
+ this->ReportMessageAt(location, MessageTemplate::kStrictEvalArguments,
+ kSyntaxError);
*ok = false;
return this->EmptyExpression();
}
if (is_strong(language_mode()) &&
this->IsUndefined(this->AsIdentifier(expression))) {
- this->ReportMessageAt(location, "strong_undefined", kSyntaxError);
+ this->ReportMessageAt(location, MessageTemplate::kStrongUndefined,
+ kSyntaxError);
*ok = false;
return this->EmptyExpression();
}
@@ -3886,7 +3917,7 @@ void ParserBase<Traits>::ObjectLiteralChecker::CheckProperty(
if (type == kValueProperty && IsProto()) {
if (has_seen_proto_) {
- this->parser()->ReportMessage("duplicate_proto");
+ this->parser()->ReportMessage(MessageTemplate::kDuplicateProto);
*ok = false;
return;
}
@@ -3906,20 +3937,21 @@ void ParserBase<Traits>::ClassLiteralChecker::CheckProperty(
if (is_static) {
if (IsPrototype()) {
- this->parser()->ReportMessage("static_prototype");
+ this->parser()->ReportMessage(MessageTemplate::kStaticPrototype);
*ok = false;
return;
}
} else if (IsConstructor()) {
if (is_generator || type == kAccessorProperty) {
- const char* msg =
- is_generator ? "constructor_is_generator" : "constructor_is_accessor";
+ MessageTemplate::Template msg =
+ is_generator ? MessageTemplate::kConstructorIsGenerator
+ : MessageTemplate::kConstructorIsAccessor;
this->parser()->ReportMessage(msg);
*ok = false;
return;
}
if (has_seen_constructor_) {
- this->parser()->ReportMessage("duplicate_constructor");
+ this->parser()->ReportMessage(MessageTemplate::kDuplicateConstructor);
*ok = false;
return;
}
« no previous file with comments | « src/preparse-data-format.h ('k') | src/preparser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698