From 1404aedc3d67dd98877988b6493464467c8b16fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 4 Nov 2020 08:23:03 +0100 Subject: [PATCH] Revert "Mark `ThisExpression` and `Super` as `Purish` (#12251)" This reverts commit df908fc63b809444db3b7689b12a298a8d48f66d. --- packages/babel-traverse/test/scope.js | 13 ------------- packages/babel-types/src/definitions/core.js | 4 ++-- .../babel-types/src/validators/generated/index.js | 2 -- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/babel-traverse/test/scope.js b/packages/babel-traverse/test/scope.js index f02089db6dd2..106c9631e647 100644 --- a/packages/babel-traverse/test/scope.js +++ b/packages/babel-traverse/test/scope.js @@ -232,19 +232,6 @@ describe("scope", () => { expect( getPath("String.raw`foo`").get("body")[0].get("expression").isPure(), ).toBeTruthy(); - expect(getPath("this").get("body.0.expression").isPure()).toBeTruthy(); - expect(getPath("this.foo").get("body.0.expression").isPure()).toBeFalsy(); - expect( - getPath("({ m() { super.foo } })") - .get("body.0.expression.properties.0.body.body.0.expression") - .isPure(), - ).toBeFalsy(); - expect( - // This only tests "super", not "super.foo" - getPath("({ m() { super.foo } })") - .get("body.0.expression.properties.0.body.body.0.expression.object") - .isPure(), - ).toBeTruthy(); }); test("label", function () { diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index 13deeab880ca..b85237f3570d 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -980,7 +980,7 @@ defineType("SwitchStatement", { }); defineType("ThisExpression", { - aliases: ["Expression", "Pureish"], + aliases: ["Expression"], }); defineType("ThrowStatement", { @@ -1806,7 +1806,7 @@ defineType("SpreadElement", { }); defineType("Super", { - aliases: ["Expression", "Pureish"], + aliases: ["Expression"], }); defineType("TaggedTemplateExpression", { diff --git a/packages/babel-types/src/validators/generated/index.js b/packages/babel-types/src/validators/generated/index.js index 2fb59235c365..2bf0ed62ea2b 100644 --- a/packages/babel-types/src/validators/generated/index.js +++ b/packages/babel-types/src/validators/generated/index.js @@ -3965,9 +3965,7 @@ export function isPureish(node: ?Object, opts?: Object): boolean { "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || - "ThisExpression" === nodeType || "ArrowFunctionExpression" === nodeType || - "Super" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || (nodeType === "Placeholder" && "StringLiteral" === node.expectedNode)