@@ -203,8 +203,6 @@ namespace ts {
203
203
const evolvingArrayTypes: EvolvingArrayType[] = [];
204
204
205
205
const unknownSymbol = createSymbol(SymbolFlags.Property, "unknown");
206
- const untypedModuleSymbol = createSymbol(SymbolFlags.ValueModule, "<untyped>");
207
- untypedModuleSymbol.exports = createMap<Symbol>();
208
206
const resolvingSymbol = createSymbol(0, "__resolving__");
209
207
210
208
const anyType = createIntrinsicType(TypeFlags.Any, "any");
@@ -1253,7 +1251,7 @@ namespace ts {
1253
1251
1254
1252
if (moduleSymbol) {
1255
1253
let exportDefaultSymbol: Symbol;
1256
- if (isUntypedOrShorthandAmbientModuleSymbol (moduleSymbol)) {
1254
+ if (isShorthandAmbientModuleSymbol (moduleSymbol)) {
1257
1255
exportDefaultSymbol = moduleSymbol;
1258
1256
}
1259
1257
else {
@@ -1333,7 +1331,7 @@ namespace ts {
1333
1331
if (targetSymbol) {
1334
1332
const name = specifier.propertyName || specifier.name;
1335
1333
if (name.text) {
1336
- if (isUntypedOrShorthandAmbientModuleSymbol (moduleSymbol)) {
1334
+ if (isShorthandAmbientModuleSymbol (moduleSymbol)) {
1337
1335
return moduleSymbol;
1338
1336
}
1339
1337
@@ -1586,18 +1584,15 @@ namespace ts {
1586
1584
if (isForAugmentation) {
1587
1585
const diag = Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;
1588
1586
error(errorNode, diag, moduleReference, resolvedModule.resolvedFileName);
1589
- return undefined;
1590
1587
}
1591
1588
else if (noImplicitAny && moduleNotFoundError) {
1592
1589
error(errorNode,
1593
1590
Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,
1594
1591
moduleReference,
1595
1592
resolvedModule.resolvedFileName);
1596
- return undefined;
1597
1593
}
1598
- // Unlike a failed import, an untyped module produces a dummy symbol.
1599
- // This is checked for by `isUntypedOrShorthandAmbientModuleSymbol`.
1600
- return untypedModuleSymbol;
1594
+ // Failed imports and untyped modules are both treated in an untyped manner; only difference is whether we give a diagnostic first.
1595
+ return undefined;
1601
1596
}
1602
1597
1603
1598
if (moduleNotFoundError) {
@@ -4367,7 +4362,7 @@ namespace ts {
4367
4362
function getTypeOfFuncClassEnumModule(symbol: Symbol): Type {
4368
4363
const links = getSymbolLinks(symbol);
4369
4364
if (!links.type) {
4370
- if (symbol.flags & SymbolFlags.Module && isUntypedOrShorthandAmbientModuleSymbol (symbol)) {
4365
+ if (symbol.flags & SymbolFlags.Module && isShorthandAmbientModuleSymbol (symbol)) {
4371
4366
links.type = anyType;
4372
4367
}
4373
4368
else {
@@ -22063,7 +22058,7 @@ namespace ts {
22063
22058
22064
22059
function moduleExportsSomeValue(moduleReferenceExpression: Expression): boolean {
22065
22060
let moduleSymbol = resolveExternalModuleName(moduleReferenceExpression.parent, moduleReferenceExpression);
22066
- if (!moduleSymbol || isUntypedOrShorthandAmbientModuleSymbol (moduleSymbol)) {
22061
+ if (!moduleSymbol || isShorthandAmbientModuleSymbol (moduleSymbol)) {
22067
22062
// If the module is not found or is shorthand, assume that it may export a value.
22068
22063
return true;
22069
22064
}
0 commit comments