diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index acc9db3e629f8..2b032f456f34a 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1827,23 +1827,7 @@ namespace ts { bindPotentiallyMissingNamespaces(file.symbol, declName.parent, isTopLevel, !!findAncestor(declName, d => isPropertyAccessExpression(d) && d.name.escapedText === "prototype"), /*containerIsClass*/ false); const oldContainer = container; - switch (getAssignmentDeclarationPropertyAccessKind(declName.parent)) { - case AssignmentDeclarationKind.ExportsProperty: - case AssignmentDeclarationKind.ModuleExports: - container = file; - break; - case AssignmentDeclarationKind.ThisProperty: - container = declName.parent.expression; - break; - case AssignmentDeclarationKind.PrototypeProperty: - container = (declName.parent.expression as PropertyAccessExpression).name; - break; - case AssignmentDeclarationKind.Property: - container = isPropertyAccessExpression(declName.parent.expression) ? declName.parent.expression.name : declName.parent.expression; - break; - case AssignmentDeclarationKind.None: - return Debug.fail("Shouldn't have detected typedef or enum on non-assignment declaration"); - } + container = isPropertyAccessExpression(declName.parent.expression) ? declName.parent.expression.name : declName.parent.expression; declareModuleMember(typeAlias, SymbolFlags.TypeAlias, SymbolFlags.TypeAliasExcludes); container = oldContainer; } diff --git a/tests/baselines/reference/enumTagOnExports.symbols b/tests/baselines/reference/enumTagOnExports.symbols deleted file mode 100644 index 89257c00d49e0..0000000000000 --- a/tests/baselines/reference/enumTagOnExports.symbols +++ /dev/null @@ -1,15 +0,0 @@ -=== tests/cases/conformance/jsdoc/enumTagOnExports.js === -/** @enum {number} */ -exports.a = {}; ->exports.a : Symbol(a, Decl(enumTagOnExports.js, 0, 0), Decl(enumTagOnExports.js, 1, 8), Decl(enumTagOnExports.js, 0, 4)) ->exports : Symbol(a, Decl(enumTagOnExports.js, 0, 0), Decl(enumTagOnExports.js, 1, 8), Decl(enumTagOnExports.js, 0, 4)) ->a : Symbol(a, Decl(enumTagOnExports.js, 0, 0), Decl(enumTagOnExports.js, 1, 8), Decl(enumTagOnExports.js, 0, 4)) - -/** @enum {string} */ -module.exports.b = {}; ->module.exports.b : Symbol(b, Decl(enumTagOnExports.js, 1, 15), Decl(enumTagOnExports.js, 4, 15), Decl(enumTagOnExports.js, 3, 4)) ->module.exports : Symbol(b, Decl(enumTagOnExports.js, 1, 15), Decl(enumTagOnExports.js, 4, 15), Decl(enumTagOnExports.js, 3, 4)) ->module : Symbol(module, Decl(enumTagOnExports.js, 1, 15)) ->exports : Symbol("tests/cases/conformance/jsdoc/enumTagOnExports", Decl(enumTagOnExports.js, 0, 0)) ->b : Symbol(b, Decl(enumTagOnExports.js, 1, 15), Decl(enumTagOnExports.js, 4, 15), Decl(enumTagOnExports.js, 3, 4)) - diff --git a/tests/baselines/reference/enumTagOnExports.types b/tests/baselines/reference/enumTagOnExports.types deleted file mode 100644 index 853e5ec090474..0000000000000 --- a/tests/baselines/reference/enumTagOnExports.types +++ /dev/null @@ -1,19 +0,0 @@ -=== tests/cases/conformance/jsdoc/enumTagOnExports.js === -/** @enum {number} */ -exports.a = {}; ->exports.a = {} : {} ->exports.a : typeof a ->exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->a : typeof a ->{} : {} - -/** @enum {string} */ -module.exports.b = {}; ->module.exports.b = {} : {} ->module.exports.b : typeof b ->module.exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->module : { "tests/cases/conformance/jsdoc/enumTagOnExports": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } ->exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->b : typeof b ->{} : {} - diff --git a/tests/baselines/reference/enumTagOnExports2.symbols b/tests/baselines/reference/enumTagOnExports2.symbols deleted file mode 100644 index 9bca24fe024a0..0000000000000 --- a/tests/baselines/reference/enumTagOnExports2.symbols +++ /dev/null @@ -1,7 +0,0 @@ -=== tests/cases/conformance/jsdoc/enumTagOnExports.js === -/** @enum {string} */ -module.exports = {}; ->module.exports : Symbol("tests/cases/conformance/jsdoc/enumTagOnExports", Decl(enumTagOnExports.js, 0, 0)) ->module : Symbol(module, Decl(enumTagOnExports.js, 0, 0)) ->exports : Symbol("tests/cases/conformance/jsdoc/enumTagOnExports", Decl(enumTagOnExports.js, 0, 0)) - diff --git a/tests/baselines/reference/enumTagOnExports2.types b/tests/baselines/reference/enumTagOnExports2.types deleted file mode 100644 index 9177307dde776..0000000000000 --- a/tests/baselines/reference/enumTagOnExports2.types +++ /dev/null @@ -1,9 +0,0 @@ -=== tests/cases/conformance/jsdoc/enumTagOnExports.js === -/** @enum {string} */ -module.exports = {}; ->module.exports = {} : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->module.exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->module : { "tests/cases/conformance/jsdoc/enumTagOnExports": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } ->exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->{} : {} - diff --git a/tests/cases/conformance/jsdoc/enumTagOnExports.ts b/tests/cases/conformance/jsdoc/enumTagOnExports.ts deleted file mode 100644 index ce8bd0b1237d3..0000000000000 --- a/tests/cases/conformance/jsdoc/enumTagOnExports.ts +++ /dev/null @@ -1,10 +0,0 @@ -// @filename: enumTagOnExports.js -// @allowjs: true -// @checkjs: true -// @noemit: true - -/** @enum {number} */ -exports.a = {}; - -/** @enum {string} */ -module.exports.b = {}; diff --git a/tests/cases/conformance/jsdoc/enumTagOnExports2.ts b/tests/cases/conformance/jsdoc/enumTagOnExports2.ts deleted file mode 100644 index 3a4633138375d..0000000000000 --- a/tests/cases/conformance/jsdoc/enumTagOnExports2.ts +++ /dev/null @@ -1,7 +0,0 @@ -// @filename: enumTagOnExports.js -// @allowjs: true -// @checkjs: true -// @noemit: true - -/** @enum {string} */ -module.exports = {};