| Index: test/cctest/test-parsing.cc
|
| diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc
|
| index ccd06e1ffd230b3ecb148c7e4f137a83477a2859..ad26f5c15ca71cf47a8de6815d734a7febeeec5f 100644
|
| --- a/test/cctest/test-parsing.cc
|
| +++ b/test/cctest/test-parsing.cc
|
| @@ -920,7 +920,7 @@ static int Utf8LengthHelper(const char* s) {
|
| }
|
|
|
|
|
| -TEST(ScopeUsesArgumentsSuperThis) {
|
| +TEST(ScopeUsesArgumentsSuper) {
|
| static const struct {
|
| const char* prefix;
|
| const char* suffix;
|
| @@ -934,11 +934,9 @@ TEST(ScopeUsesArgumentsSuperThis) {
|
| ARGUMENTS = 1,
|
| SUPER_PROPERTY = 2,
|
| SUPER_CONSTRUCTOR_CALL = 4,
|
| - THIS = 8,
|
| - INNER_ARGUMENTS = 16,
|
| - INNER_SUPER_PROPERTY = 32,
|
| - INNER_SUPER_CONSTRUCTOR_CALL = 64,
|
| - INNER_THIS = 128
|
| + INNER_ARGUMENTS = 8,
|
| + INNER_SUPER_PROPERTY = 16,
|
| + INNER_SUPER_CONSTRUCTOR_CALL = 32,
|
| };
|
|
|
| static const struct {
|
| @@ -946,33 +944,30 @@ TEST(ScopeUsesArgumentsSuperThis) {
|
| int expected;
|
| } source_data[] = {
|
| {"", NONE},
|
| - {"return this", THIS},
|
| {"return arguments", ARGUMENTS},
|
| {"return super()", SUPER_CONSTRUCTOR_CALL},
|
| {"return super.x", SUPER_PROPERTY},
|
| {"return arguments[0]", ARGUMENTS},
|
| - {"return this + arguments[0]", ARGUMENTS | THIS},
|
| + {"return this + arguments[0]", ARGUMENTS },
|
| {"return this + arguments[0] + super.x",
|
| - ARGUMENTS | SUPER_PROPERTY | THIS},
|
| - {"return x => this + x", INNER_THIS},
|
| + ARGUMENTS | SUPER_PROPERTY },
|
| + {"return x => this + x", NONE},
|
| {"return x => super() + x", INNER_SUPER_CONSTRUCTOR_CALL},
|
| - {"this.foo = 42;", THIS},
|
| - {"this.foo();", THIS},
|
| - {"if (foo()) { this.f() }", THIS},
|
| + {"this.foo = 42;", NONE},
|
| + {"this.foo();", NONE},
|
| + {"if (foo()) { this.f() }", NONE},
|
| {"if (foo()) { super.f() }", SUPER_PROPERTY},
|
| - {"if (arguments.length) { this.f() }", ARGUMENTS | THIS},
|
| - {"while (true) { this.f() }", THIS},
|
| + {"if (arguments.length) { this.f() }", ARGUMENTS},
|
| + {"while (true) { this.f() }", NONE},
|
| {"while (true) { super.f() }", SUPER_PROPERTY},
|
| - {"if (true) { while (true) this.foo(arguments) }", ARGUMENTS | THIS},
|
| + {"if (true) { while (true) this.foo(arguments) }", ARGUMENTS},
|
| // Multiple nesting levels must work as well.
|
| - {"while (true) { while (true) { while (true) return this } }", THIS},
|
| + {"while (true) { while (true) { while (true) return this } }", NONE},
|
| {"while (true) { while (true) { while (true) return super() } }",
|
| SUPER_CONSTRUCTOR_CALL},
|
| - {"if (1) { return () => { while (true) new this() } }", INNER_THIS},
|
| + {"if (1) { return () => { while (true) new this() } }", NONE},
|
| {"if (1) { return () => { while (true) new super() } }", NONE},
|
| {"if (1) { return () => { while (true) new new super() } }", NONE},
|
| - // Note that propagation of the inner_uses_this() value does not
|
| - // cross boundaries of normal functions onto parent scopes.
|
| {"return function (x) { return this + x }", NONE},
|
| {"return function (x) { return super() + x }", NONE},
|
| {"var x = function () { this.foo = 42 };", NONE},
|
| @@ -983,10 +978,10 @@ TEST(ScopeUsesArgumentsSuperThis) {
|
| {"return function (x) { return () => super() }", NONE},
|
| // Flags must be correctly set when using block scoping.
|
| {"\"use strict\"; while (true) { let x; this, arguments; }",
|
| - INNER_ARGUMENTS | INNER_THIS},
|
| + INNER_ARGUMENTS},
|
| {"\"use strict\"; while (true) { let x; this, super(), arguments; }",
|
| - INNER_ARGUMENTS | INNER_SUPER_CONSTRUCTOR_CALL | INNER_THIS},
|
| - {"\"use strict\"; if (foo()) { let x; this.f() }", INNER_THIS},
|
| + INNER_ARGUMENTS | INNER_SUPER_CONSTRUCTOR_CALL},
|
| + {"\"use strict\"; if (foo()) { let x; this.f() }", NONE},
|
| {"\"use strict\"; if (foo()) { let x; super.f() }",
|
| INNER_SUPER_PROPERTY},
|
| {"\"use strict\"; if (1) {"
|
| @@ -1042,15 +1037,12 @@ TEST(ScopeUsesArgumentsSuperThis) {
|
| scope->uses_super_property());
|
| CHECK_EQ((source_data[i].expected & SUPER_CONSTRUCTOR_CALL) != 0,
|
| scope->uses_super_constructor_call());
|
| - CHECK_EQ((source_data[i].expected & THIS) != 0, scope->uses_this());
|
| CHECK_EQ((source_data[i].expected & INNER_ARGUMENTS) != 0,
|
| scope->inner_uses_arguments());
|
| CHECK_EQ((source_data[i].expected & INNER_SUPER_PROPERTY) != 0,
|
| scope->inner_uses_super_property());
|
| CHECK_EQ((source_data[i].expected & INNER_SUPER_CONSTRUCTOR_CALL) != 0,
|
| scope->inner_uses_super_constructor_call());
|
| - CHECK_EQ((source_data[i].expected & INNER_THIS) != 0,
|
| - scope->inner_uses_this());
|
| }
|
| }
|
| }
|
|
|