diff options
Diffstat (limited to 'node_modules/@babel/helper-create-class-features-plugin/lib/fields.js')
| -rw-r--r-- | node_modules/@babel/helper-create-class-features-plugin/lib/fields.js | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js b/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js index 253bc0cd..981cf0b3 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js @@ -699,6 +699,7 @@ function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, file, setPu let injectSuperRef; const staticNodes = []; const instanceNodes = []; + let lastInstanceNodeReturnsThis = false; const pureStaticNodes = []; let classBindingNode = null; const getSuperRef = _core.types.isIdentifier(superRef) ? () => superRef : () => { @@ -739,6 +740,7 @@ function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, file, setPu classRefFlags |= 2; } } + lastInstanceNodeReturnsThis = false; switch (true) { case isStaticBlock: { @@ -790,6 +792,7 @@ function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, file, setPu instanceNodes.push(buildPublicFieldInitLoose(_core.types.thisExpression(), prop)); break; case isInstance && isPublic && isField && !setPublicClassFields: + lastInstanceNodeReturnsThis = true; instanceNodes.push(buildPublicFieldInitSpec(_core.types.thisExpression(), prop, file)); break; default: @@ -802,6 +805,7 @@ function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, file, setPu return { staticNodes: staticNodes.filter(Boolean), instanceNodes: instanceNodes.filter(Boolean), + lastInstanceNodeReturnsThis, pureStaticNodes: pureStaticNodes.filter(Boolean), classBindingNode, wrapClass(path) { |
