Index: src/preparser.h |
diff --git a/src/preparser.h b/src/preparser.h |
index 7c9791fc9ca25223983afbfee8f4f666c709af24..a93c1e5e7b75438f63f0d3612c73a567d19e7c0d 100644 |
--- a/src/preparser.h |
+++ b/src/preparser.h |
@@ -965,6 +965,7 @@ class PreParserScope { |
bool IsDeclared(const PreParserIdentifier& identifier) const { return false; } |
void DeclareParameter(const PreParserIdentifier& identifier, VariableMode) {} |
void RecordArgumentsUsage() {} |
+ void RecordSuperUsage() {} |
void RecordThisUsage() {} |
// Allow scope->Foo() to work. |
@@ -2508,6 +2509,7 @@ ParserBase<Traits>::ParseMemberWithNewPrefixesExpression(bool* ok) { |
int new_pos = position(); |
ExpressionT result = this->EmptyExpression(); |
if (Check(Token::SUPER)) { |
+ scope_->RecordSuperUsage(); |
result = this->SuperReference(scope_, factory()); |
} else { |
result = this->ParseMemberWithNewPrefixesExpression(CHECK_OK); |
@@ -2567,6 +2569,7 @@ ParserBase<Traits>::ParseMemberExpression(bool* ok) { |
} else if (peek() == Token::SUPER) { |
int beg_pos = position(); |
Consume(Token::SUPER); |
+ scope_->RecordSuperUsage(); |
Token::Value next = peek(); |
if (next == Token::PERIOD || next == Token::LBRACK || |
next == Token::LPAREN) { |