diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 66f635a31e9..6cbd962a816 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -780,7 +780,7 @@ namespace ts { enableSubstitutionsForBlockScopedBindings(); } - const extendsClauseElement = getEffectiveBaseTypeNode(node); + const extendsClauseElement = getClassExtendsHeritageElement(node); const classFunction = createFunctionExpression( /*modifiers*/ undefined, /*asteriskToken*/ undefined, diff --git a/tests/baselines/reference/extendsJavaScript.js b/tests/baselines/reference/extendsJavaScript.js new file mode 100644 index 00000000000..c9fbdbaf587 --- /dev/null +++ b/tests/baselines/reference/extendsJavaScript.js @@ -0,0 +1,18 @@ +//// [extendsJavaScript.js] +/** + * @extends {SomeBase} + */ +class MyClass { + +} + + +//// [extendsJavaScript.js] +/** + * @extends {SomeBase} + */ +var MyClass = /** @class */ (function () { + function MyClass() { + } + return MyClass; +}()); diff --git a/tests/baselines/reference/extendsJavaScript.symbols b/tests/baselines/reference/extendsJavaScript.symbols new file mode 100644 index 00000000000..db070bf9d6b --- /dev/null +++ b/tests/baselines/reference/extendsJavaScript.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/extendsJavaScript.js === +/** + * @extends {SomeBase} + */ +class MyClass { +>MyClass : Symbol(MyClass, Decl(extendsJavaScript.js, 0, 0)) + +} + diff --git a/tests/baselines/reference/extendsJavaScript.types b/tests/baselines/reference/extendsJavaScript.types new file mode 100644 index 00000000000..e4d34df51aa --- /dev/null +++ b/tests/baselines/reference/extendsJavaScript.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/extendsJavaScript.js === +/** + * @extends {SomeBase} + */ +class MyClass { +>MyClass : MyClass + +} + diff --git a/tests/cases/compiler/extendsJavaScript.ts b/tests/cases/compiler/extendsJavaScript.ts new file mode 100644 index 00000000000..f938bbc9faf --- /dev/null +++ b/tests/cases/compiler/extendsJavaScript.ts @@ -0,0 +1,11 @@ +// @allowJs: true +// @checkJs: false +// @outDir: ./out +// @filename: extendsJavaScript.js + +/** + * @extends {SomeBase} + */ +class MyClass { + +}