| Index: src/parsing/parser-base.h
|
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
|
| index 23ff145bb3b99ad14fd1f76716624788afbe330e..1046a83cbb3159d1687191ce8ce9d68ae8749000 100644
|
| --- a/src/parsing/parser-base.h
|
| +++ b/src/parsing/parser-base.h
|
| @@ -111,9 +111,6 @@ class ParserBase : public Traits {
|
| allow_harmony_sloppy_(false),
|
| allow_harmony_sloppy_function_(false),
|
| allow_harmony_sloppy_let_(false),
|
| - allow_harmony_default_parameters_(false),
|
| - allow_harmony_destructuring_bind_(false),
|
| - allow_harmony_destructuring_assignment_(false),
|
| allow_harmony_restrictive_declarations_(false),
|
| allow_legacy_const_(true),
|
| allow_harmony_do_expressions_(false),
|
| @@ -129,9 +126,6 @@ class ParserBase : public Traits {
|
| ALLOW_ACCESSORS(harmony_sloppy);
|
| ALLOW_ACCESSORS(harmony_sloppy_function);
|
| ALLOW_ACCESSORS(harmony_sloppy_let);
|
| - ALLOW_ACCESSORS(harmony_default_parameters);
|
| - ALLOW_ACCESSORS(harmony_destructuring_bind);
|
| - ALLOW_ACCESSORS(harmony_destructuring_assignment);
|
| ALLOW_ACCESSORS(harmony_restrictive_declarations);
|
| ALLOW_ACCESSORS(legacy_const);
|
| ALLOW_ACCESSORS(harmony_do_expressions);
|
| @@ -925,9 +919,6 @@ class ParserBase : public Traits {
|
| bool allow_harmony_sloppy_;
|
| bool allow_harmony_sloppy_function_;
|
| bool allow_harmony_sloppy_let_;
|
| - bool allow_harmony_default_parameters_;
|
| - bool allow_harmony_destructuring_bind_;
|
| - bool allow_harmony_destructuring_assignment_;
|
| bool allow_harmony_restrictive_declarations_;
|
| bool allow_legacy_const_;
|
| bool allow_harmony_do_expressions_;
|
| @@ -1263,15 +1254,9 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier,
|
| return this->ParseRegExpLiteral(false, classifier, ok);
|
|
|
| case Token::LBRACK:
|
| - if (!allow_harmony_destructuring_bind()) {
|
| - BindingPatternUnexpectedToken(classifier);
|
| - }
|
| return this->ParseArrayLiteral(classifier, ok);
|
|
|
| case Token::LBRACE:
|
| - if (!allow_harmony_destructuring_bind()) {
|
| - BindingPatternUnexpectedToken(classifier);
|
| - }
|
| return this->ParseObjectLiteral(classifier, ok);
|
|
|
| case Token::LPAREN: {
|
| @@ -1973,23 +1958,10 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN,
|
| // Now pending non-pattern expressions must be discarded.
|
| arrow_formals_classifier.Discard();
|
|
|
| - if (!(allow_harmony_destructuring_bind() ||
|
| - allow_harmony_default_parameters())) {
|
| - BindingPatternUnexpectedToken(classifier);
|
| - }
|
| -
|
| - if (allow_harmony_destructuring_assignment() && IsValidPattern(expression) &&
|
| - peek() == Token::ASSIGN) {
|
| + if (IsValidPattern(expression) && peek() == Token::ASSIGN) {
|
| classifier->ForgiveCoverInitializedNameError();
|
| ValidateAssignmentPattern(classifier, CHECK_OK);
|
| is_destructuring_assignment = true;
|
| - } else if (allow_harmony_default_parameters() &&
|
| - !allow_harmony_destructuring_assignment()) {
|
| - // TODO(adamk): This branch should be removed once the destructuring
|
| - // assignment and default parameter flags are removed.
|
| - expression = this->ClassifyAndRewriteReferenceExpression(
|
| - classifier, expression, lhs_beg_pos, scanner()->location().end_pos,
|
| - MessageTemplate::kInvalidLhsInAssignment);
|
| } else {
|
| expression = this->CheckAndRewriteReferenceExpression(
|
| expression, lhs_beg_pos, scanner()->location().end_pos,
|
| @@ -2665,7 +2637,6 @@ void ParserBase<Traits>::ParseFormalParameter(
|
| // BindingElement[?Yield, ?GeneratorParameter]
|
| bool is_rest = parameters->has_rest;
|
|
|
| - Token::Value next = peek();
|
| ExpressionT pattern = ParsePrimaryExpression(classifier, ok);
|
| if (!*ok) return;
|
|
|
| @@ -2673,11 +2644,6 @@ void ParserBase<Traits>::ParseFormalParameter(
|
| if (!*ok) return;
|
|
|
| if (!Traits::IsIdentifier(pattern)) {
|
| - if (!allow_harmony_destructuring_bind()) {
|
| - ReportUnexpectedToken(next);
|
| - *ok = false;
|
| - return;
|
| - }
|
| parameters->is_simple = false;
|
| ValidateFormalParameterInitializer(classifier, ok);
|
| if (!*ok) return;
|
| @@ -2685,7 +2651,7 @@ void ParserBase<Traits>::ParseFormalParameter(
|
| }
|
|
|
| ExpressionT initializer = Traits::EmptyExpression();
|
| - if (!is_rest && allow_harmony_default_parameters() && Check(Token::ASSIGN)) {
|
| + if (!is_rest && Check(Token::ASSIGN)) {
|
| ExpressionClassifier init_classifier(this);
|
| initializer = ParseAssignmentExpression(true, &init_classifier, ok);
|
| if (!*ok) return;
|
|
|