summaryrefslogtreecommitdiff
path: root/node_modules/@babel/plugin-transform-classes/lib/transformClass.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-10-13 10:37:19 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-10-13 10:37:19 +0800
commite29b244aeab08ea36fb385c7beb2ad0560217039 (patch)
treec66b744dc29573f1acc871862937a23f1b80e6bf /node_modules/@babel/plugin-transform-classes/lib/transformClass.js
parent62c2881629e6413a8fec6d3dd092e4568e2a81dc (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.js31
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;
});
}
}