diff --git a/crates/oxc_transformer/src/typescript/annotations.rs b/crates/oxc_transformer/src/typescript/annotations.rs index 21ef1b3be2461..9c2f933bd103a 100644 --- a/crates/oxc_transformer/src/typescript/annotations.rs +++ b/crates/oxc_transformer/src/typescript/annotations.rs @@ -372,6 +372,7 @@ impl<'a> Traverse<'a> for TypeScriptAnnotations<'a, '_> { .map(|assignment| assignment.create_this_property_assignment(ctx)), ); } + self.has_super_call = false; } } diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts index fd0f966747e57..aef526107c76c 100644 --- a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts @@ -9,3 +9,7 @@ class Bar extends Foo { super(foo, bar, zoo, bang, too); } } +class Baz extends Bar { + constructor(public foo, private bar, protected zoo, readonly bang, override boom, too) { + } +} diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js index 06cf6fc10981e..86496f95f354c 100644 --- a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js @@ -8,6 +8,7 @@ class Foo { console.log(this.foo, this.bar, this.zoo, this.bang); } } + class Bar extends Foo { constructor(foo, bar, zoo, bang, boom, too) { super(foo, bar, zoo, bang, too); @@ -18,3 +19,13 @@ class Bar extends Foo { this.boom = boom; } } + +class Baz extends Bar { + constructor(foo, bar, zoo, bang, boom, too) { + this.foo = foo; + this.bar = bar; + this.zoo = zoo; + this.bang = bang; + this.boom = boom; + } +}