diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-01-15 18:39:22 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-01-15 18:39:22 +0800 |
| commit | fc20313fc9b457d6676ad273227f6bad3c652b92 (patch) | |
| tree | 9935855ffdd7a2d5d0ef5659f63309b4e15fa014 /node_modules/@babel/plugin-transform-classes/lib/transformClass.js | |
| parent | d76c63da1426adbb2031ae4562d29521d621d817 (diff) | |
upgrade for package
Diffstat (limited to 'node_modules/@babel/plugin-transform-classes/lib/transformClass.js')
| -rw-r--r-- | node_modules/@babel/plugin-transform-classes/lib/transformClass.js | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/node_modules/@babel/plugin-transform-classes/lib/transformClass.js b/node_modules/@babel/plugin-transform-classes/lib/transformClass.js index 0753a868..460fef5a 100644 --- a/node_modules/@babel/plugin-transform-classes/lib/transformClass.js +++ b/node_modules/@babel/plugin-transform-classes/lib/transformClass.js @@ -7,10 +7,9 @@ exports.default = transformClass; var _helperFunctionName = require("@babel/helper-function-name"); var _helperReplaceSupers = require("@babel/helper-replace-supers"); var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); -var _helperOptimiseCallExpression = require("@babel/helper-optimise-call-expression"); var _core = require("@babel/core"); var _helperAnnotateAsPure = require("@babel/helper-annotate-as-pure"); -var _inlineCreateSuperHelpers = require("./inline-createSuper-helpers.js"); +var _inlineCallSuperHelpers = require("./inline-callSuper-helpers.js"); function buildConstructor(classRef, constructorBody, node) { const func = _core.types.functionDeclaration(_core.types.cloneNode(classRef), [], constructorBody); _core.types.inherits(func, node); @@ -25,7 +24,6 @@ function transformClass(path, file, builtinClasses, isLoose, assumptions, suppor file: undefined, classId: undefined, classRef: undefined, - superFnId: undefined, superName: null, superReturns: [], isDerived: false, @@ -190,7 +188,19 @@ function transformClass(path, file, builtinClasses, isLoose, assumptions, suppor } call = _core.types.logicalExpression("||", bareSuperNode, _core.types.thisExpression()); } else { - call = (0, _helperOptimiseCallExpression.default)(_core.types.cloneNode(classState.superFnId), _core.types.thisExpression(), bareSuperNode.arguments, false); + var _bareSuperNode$argume; + const args = [_core.types.thisExpression(), _core.types.cloneNode(classState.classRef)]; + if ((_bareSuperNode$argume = bareSuperNode.arguments) != null && _bareSuperNode$argume.length) { + const bareSuperNodeArguments = bareSuperNode.arguments; + if (bareSuperNodeArguments.length === 1 && _core.types.isSpreadElement(bareSuperNodeArguments[0]) && _core.types.isIdentifier(bareSuperNodeArguments[0].argument, { + name: "arguments" + })) { + args.push(bareSuperNodeArguments[0].argument); + } else { + args.push(_core.types.arrayExpression(bareSuperNodeArguments)); + } + } + call = _core.types.callExpression((0, _inlineCallSuperHelpers.default)(classState.file), args); } if (bareSuper.parentPath.isExpressionStatement() && bareSuper.parentPath.container === body.node.body && body.node.body.length - 1 === bareSuper.parentPath.key) { if (classState.superThises.length) { @@ -384,14 +394,7 @@ function transformClass(path, file, builtinClasses, isLoose, assumptions, suppor } function pushInheritsToBody() { if (!classState.isDerived || classState.pushedInherits) return; - const superFnId = path.scope.generateUidIdentifier("super"); - setState({ - pushedInherits: true, - superFnId - }); - if (!assumptions.superIsCallableConstructor) { - classState.body.unshift(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(superFnId, _core.types.callExpression((0, _inlineCreateSuperHelpers.default)(classState.file), [_core.types.cloneNode(classState.classRef)]))])); - } + classState.pushedInherits = true; classState.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper(classState.isLoose ? "inheritsLoose" : "inherits"), [_core.types.cloneNode(classState.classRef), _core.types.cloneNode(classState.superName)]))); } function extractDynamicKeys() { |
