Index: src/preparser.h |
diff --git a/src/preparser.h b/src/preparser.h |
index 9dee863d591191a40de0a78d7d191347f9bc3966..0850fe607b54429a0fe84afff758a9636d235d6b 100644 |
--- a/src/preparser.h |
+++ b/src/preparser.h |
@@ -327,7 +327,7 @@ class ParserBase : public Traits { |
Scanner::Location octal = scanner()->octal_position(); |
if (octal.IsValid() && beg_pos <= octal.beg_pos && |
octal.end_pos <= end_pos) { |
- ReportMessageAt(octal, "strict_octal_literal"); |
+ this->ReportMessageAt(octal, "strict_octal_literal"); |
scanner()->clear_octal_position(); |
*ok = false; |
} |
@@ -356,7 +356,8 @@ class ParserBase : public Traits { |
void ReportMessageAt(Scanner::Location location, const char* message, |
bool is_reference_error = false) { |
- Traits::ReportMessageAt(location, message, NULL, is_reference_error); |
+ Traits::ReportMessageAt(location, message, (const char*)NULL, |
+ is_reference_error); |
} |
void ReportUnexpectedToken(Token::Value token); |
@@ -368,9 +369,7 @@ class ParserBase : public Traits { |
// allow_eval_or_arguments is kAllowEvalOrArguments, we allow "eval" or |
// "arguments" as identifier even in strict mode (this is needed in cases like |
// "var foo = eval;"). |
- IdentifierT ParseIdentifier( |
- AllowEvalOrArgumentsAsIdentifier, |
- bool* ok); |
+ IdentifierT ParseIdentifier(AllowEvalOrArgumentsAsIdentifier, bool* ok); |
// Parses an identifier or a strict mode future reserved word, and indicate |
// whether it is strict mode future reserved. |
IdentifierT ParseIdentifierOrStrictReservedWord( |
@@ -997,8 +996,8 @@ class PreParserTraits { |
// Producing data during the recursive descent. |
PreParserIdentifier GetSymbol(Scanner* scanner); |
- static PreParserIdentifier NextLiteralString(Scanner* scanner, |
- PretenureFlag tenured) { |
+ |
+ PreParserIdentifier GetNextSymbol(Scanner* scanner) { |
return PreParserIdentifier::Default(); |
} |
@@ -1218,18 +1217,19 @@ void ParserBase<Traits>::ReportUnexpectedToken(Token::Value token) { |
// Four of the tokens are treated specially |
switch (token) { |
case Token::EOS: |
- return ReportMessageAt(source_location, "unexpected_eos"); |
+ return this->ReportMessageAt(source_location, "unexpected_eos"); |
case Token::NUMBER: |
- return ReportMessageAt(source_location, "unexpected_token_number"); |
+ return this->ReportMessageAt(source_location, "unexpected_token_number"); |
case Token::STRING: |
- return ReportMessageAt(source_location, "unexpected_token_string"); |
+ return this->ReportMessageAt(source_location, "unexpected_token_string"); |
case Token::IDENTIFIER: |
- return ReportMessageAt(source_location, "unexpected_token_identifier"); |
+ return this->ReportMessageAt(source_location, |
+ "unexpected_token_identifier"); |
case Token::FUTURE_RESERVED_WORD: |
- return ReportMessageAt(source_location, "unexpected_reserved"); |
+ return this->ReportMessageAt(source_location, "unexpected_reserved"); |
case Token::YIELD: |
case Token::FUTURE_STRICT_RESERVED_WORD: |
- return ReportMessageAt(source_location, strict_mode() == SLOPPY |
+ return this->ReportMessageAt(source_location, strict_mode() == SLOPPY |
? "unexpected_token_identifier" : "unexpected_strict_reserved"); |
default: |
const char* name = Token::String(token); |
@@ -1248,7 +1248,8 @@ typename ParserBase<Traits>::IdentifierT ParserBase<Traits>::ParseIdentifier( |
if (next == Token::IDENTIFIER) { |
IdentifierT name = this->GetSymbol(scanner()); |
if (allow_eval_or_arguments == kDontAllowEvalOrArguments && |
- strict_mode() == STRICT && this->IsEvalOrArguments(name)) { |
+ strict_mode() == STRICT && |
+ this->IsEvalOrArguments(name)) { |
ReportMessageAt(scanner()->location(), "strict_eval_arguments"); |
*ok = false; |
} |
@@ -1300,8 +1301,7 @@ ParserBase<Traits>::ParseIdentifierName(bool* ok) { |
template <class Traits> |
typename ParserBase<Traits>::IdentifierT |
-ParserBase<Traits>::ParseIdentifierNameOrGetOrSet(bool* is_get, |
- bool* is_set, |
+ParserBase<Traits>::ParseIdentifierNameOrGetOrSet(bool* is_get, bool* is_set, |
bool* ok) { |
IdentifierT result = ParseIdentifierName(ok); |
if (!*ok) return Traits::EmptyIdentifier(); |
@@ -1323,14 +1323,14 @@ typename ParserBase<Traits>::ExpressionT ParserBase<Traits>::ParseRegExpLiteral( |
int literal_index = function_state_->NextMaterializedLiteralIndex(); |
- IdentifierT js_pattern = this->NextLiteralString(scanner(), TENURED); |
+ IdentifierT js_pattern = this->GetNextSymbol(scanner()); |
if (!scanner()->ScanRegExpFlags()) { |
Next(); |
- ReportMessageAt(scanner()->location(), "invalid_regexp_flags"); |
+ this->ReportMessage("invalid_regexp_flags"); |
*ok = false; |
return Traits::EmptyExpression(); |
} |
- IdentifierT js_flags = this->NextLiteralString(scanner(), TENURED); |
+ IdentifierT js_flags = this->GetNextSymbol(scanner()); |
Next(); |
return factory()->NewRegExpLiteral(js_pattern, js_flags, literal_index, pos); |
} |
@@ -2113,7 +2113,7 @@ ParserBase<Traits>::CheckAndRewriteReferenceExpression( |
Scanner::Location location, const char* message, bool* ok) { |
if (strict_mode() == STRICT && this->IsIdentifier(expression) && |
this->IsEvalOrArguments(this->AsIdentifier(expression))) { |
- this->ReportMessageAt(location, "strict_eval_arguments", false); |
+ this->ReportMessageAt(location, "strict_eval_arguments"); |
*ok = false; |
return this->EmptyExpression(); |
} else if (expression->IsValidReferenceExpression()) { |