oxc/tasks/transform_conformance/babel_exec.snap.md
underfin 78b427bc50
feat(transform): support es2015 new target (#1967)
Here implementing the es2015 new target transform, see detail at
https://babel.dev/docs/babel-plugin-transform-template-new-target.

Here has three kinds need to be distinguished.

- `NewTargetKind::Method`, it from `AstKind::ObjectMethod` or
`AstKind::MethodDefinitionKind::Get/Set/Method`. It will be transformed
to `void 0`.
- `NewTargetKind::Constructor`, is from `
AstKind::MethodDefinitionKind::Constructor`. It will be transformed to
`this.constructor`.
- `NewTargetKind::Function`, is from ` AstKind::Function`, here the
function is not the above function. It will be transformed to `this
instanceof _target ? this.constructor : void 0`, here `_target` comes
from the function name or is created by scope uid ident.
2024-01-10 23:59:56 +08:00

104 lines
4.4 KiB
Markdown

Passed: 386/454
# All Passed:
* babel-plugin-transform-class-static-block
* babel-plugin-transform-numeric-separator
* babel-plugin-transform-optional-catch-binding
* babel-plugin-transform-json-strings
* babel-plugin-transform-async-to-generator
* babel-plugin-transform-exponentiation-operator
* babel-plugin-transform-template-literals
# babel-plugin-transform-class-properties (137/148)
* nested-class/super-call-in-decorator/exec.js
* nested-class/super-property-in-accessor-key/exec.js
* nested-class/super-property-in-decorator/exec.js
* private/access-before-declaration/exec.js
* private/instance/exec.js
* private/parenthesized-optional-member-call/exec.js
* private/parenthesized-optional-member-call-with-transform/exec.js
* private-loose/access-before-declaration/exec.js
* private-loose/parenthesized-optional-member-call/exec.js
* private-loose/parenthesized-optional-member-call-with-transform/exec.js
* public/computed-toPrimitive/exec.js
# babel-plugin-transform-private-methods (116/123)
* accessors-loose/get-only-setter/exec.js
* accessors-privateFieldsAsProperties/get-only-setter/exec.js
* accessors-privateFieldsAsSymbols/get-only-setter/exec.js
* static-accessors/get-only-setter/exec.js
* static-accessors-loose/get-only-setter/exec.js
* static-accessors-privateFieldsAsProperties/get-only-setter/exec.js
* static-accessors-privateFieldsAsSymbols/get-only-setter/exec.js
# babel-plugin-transform-private-property-in-object (5/10)
* assumption-privateFieldsAsProperties/rhs-not-object/exec.js
* assumption-privateFieldsAsSymbols/rhs-not-object/exec.js
* private/rhs-not-object/exec.js
* private-loose/rhs-not-object/exec.js
* to-native-fields/rhs-not-object/exec.js
# babel-plugin-transform-logical-assignment-operators (0/4)
* logical-assignment/anonymous-functions-exec/exec.js
* logical-assignment/arrow-functions-exec/exec.js
* logical-assignment/named-functions-exec/exec.js
* logical-assignment/null-coalescing/exec.js
# babel-plugin-transform-dynamic-import (4/18)
* commonjs/exec-interop/exec.js
* commonjs/exec-interop-null/exec.js
* commonjs/exec-interop-string/exec.js
* commonjs/exec-template-literal/exec.js
* commonjs/exec-to-primitive/exec.js
* commonjs/exec-to-string-order/exec.js
* commonjs/exec-transpiled-dep/exec.js
* commonjs-createImportExpression-false/exec-interop/exec.js
* commonjs-createImportExpression-false/exec-interop-null/exec.js
* commonjs-createImportExpression-false/exec-interop-string/exec.js
* commonjs-createImportExpression-false/exec-template-literal/exec.js
* commonjs-createImportExpression-false/exec-to-primitive/exec.js
* commonjs-createImportExpression-false/exec-to-string-order/exec.js
* commonjs-createImportExpression-false/exec-transpiled-dep/exec.js
# babel-plugin-transform-nullish-coalescing-operator (0/2)
* assumption-noDocumentAll/runtime-semantics/exec.js
* nullish-coalescing/runtime-semantics/exec.js
# babel-plugin-transform-optional-chaining (11/16)
* assumption-noDocumentAll/parenthesized-expression-member-call/exec.js
* general/parenthesized-expression-member-call/exec.js
* general/parenthesized-expression-member-call-loose/exec.js
* general/parenthesized-member-call/exec.js
* general/parenthesized-member-call-loose/exec.js
# babel-plugin-transform-async-generator-functions (25/26)
* yield-star/ecma262-pr-2819/exec.js
# babel-plugin-transform-object-rest-spread (18/33)
* assumption-objectRestNoSymbols/rest-ignore-symbols/exec.js
* assumption-pureGetters/rest-remove-unused-excluded-keys/exec.js
* assumption-pureGetters/spread-single-call/exec.js
* assumption-setSpreadProperties/expression/exec.js
* assumption-setSpreadProperties/no-object-assign-exec/exec.js
* assumption-setSpreadProperties-with-useBuiltIns/expression/exec.js
* assumption-setSpreadProperties-with-useBuiltIns/no-object-assign-exec/exec.js
* object-rest/null-destructuring/exec.js
* object-rest/null-destructuring-transform-destructuring/exec.js
* object-spread-loose/expression/exec.js
* object-spread-loose/no-object-assign-exec/exec.js
* object-spread-loose/side-effect/exec.js
* object-spread-loose-builtins/expression/exec.js
* object-spread-loose-builtins/no-object-assign-exec/exec.js
* object-spread-loose-builtins/side-effect/exec.js
# babel-plugin-transform-arrow-functions (2/3)
* arrow-functions/implicit-var-arguments/exec.js
# babel-plugin-transform-instanceof (0/1)
* instanceof/instanceof/exec.js
# babel-plugin-transform-new-target (7/9)
* general/class-properties/exec.js
* general/class-properties-loose/exec.js