diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-10-13 10:37:19 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-10-13 10:37:19 +0800 |
| commit | e29b244aeab08ea36fb385c7beb2ad0560217039 (patch) | |
| tree | c66b744dc29573f1acc871862937a23f1b80e6bf /node_modules/@babel/plugin-transform-classes/lib/transformClass.js | |
| parent | 62c2881629e6413a8fec6d3dd092e4568e2a81dc (diff) | |
bump: @babel/cli 7.25.6 → 7.25.7, @babel/core 7.25.2 → 7.25.8, @babel/preset-env 7.25.4 → 7.25.8, postcss 8.4.41 → 8.4.47, swup 4.7.0 → 4.8.1
Diffstat (limited to 'node_modules/@babel/plugin-transform-classes/lib/transformClass.js')
| -rw-r--r-- | node_modules/@babel/plugin-transform-classes/lib/transformClass.js | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/node_modules/@babel/plugin-transform-classes/lib/transformClass.js b/node_modules/@babel/plugin-transform-classes/lib/transformClass.js index 4a2b9fe6..953eff4a 100644 --- a/node_modules/@babel/plugin-transform-classes/lib/transformClass.js +++ b/node_modules/@babel/plugin-transform-classes/lib/transformClass.js @@ -258,11 +258,34 @@ function transformClass(path, file, builtinClasses, isLoose, assumptions, suppor maxGuaranteedSuperBeforeIndex = Math.min(maxGuaranteedSuperBeforeIndex, lastParentPath.key); return true; } - if (parentPath.isLoop() || parentPath.isConditional() || parentPath.isArrowFunctionExpression()) { - maxGuaranteedSuperBeforeIndex = -1; - return true; + const { + type + } = parentPath; + switch (type) { + case "ExpressionStatement": + case "SequenceExpression": + case "AssignmentExpression": + case "BinaryExpression": + case "MemberExpression": + case "CallExpression": + case "NewExpression": + case "VariableDeclarator": + case "VariableDeclaration": + case "BlockStatement": + case "ArrayExpression": + case "ObjectExpression": + case "ObjectProperty": + case "TemplateLiteral": + lastParentPath = parentPath; + return false; + default: + if (type === "LogicalExpression" && parentPath.node.left === lastParentPath.node || parentPath.isConditional() && parentPath.node.test === lastParentPath.node || type === "OptionalCallExpression" && parentPath.node.callee === lastParentPath.node || type === "OptionalMemberExpression" && parentPath.node.object === lastParentPath.node) { + lastParentPath = parentPath; + return false; + } } - lastParentPath = parentPath; + maxGuaranteedSuperBeforeIndex = -1; + return true; }); } } |
