| 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) {
|
|
|