Skip to content

Commit 9c965aa

Browse files
committed
Merge branch 'master' into fixConditionalTypes
2 parents 69580c4 + c487a9d commit 9c965aa

165 files changed

Lines changed: 4227 additions & 1070 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/compiler/binder.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2071,7 +2071,7 @@ namespace ts {
20712071
seenThisKeyword = true;
20722072
return;
20732073
case SyntaxKind.TypePredicate:
2074-
return checkTypePredicate(node as TypePredicateNode);
2074+
break; // Binding the children will handle everything
20752075
case SyntaxKind.TypeParameter:
20762076
return bindTypeParameter(node as TypeParameterDeclaration);
20772077
case SyntaxKind.Parameter:
@@ -2204,17 +2204,6 @@ namespace ts {
22042204
return bindAnonymousDeclaration(<Declaration>node, SymbolFlags.TypeLiteral, InternalSymbolName.Type);
22052205
}
22062206

2207-
function checkTypePredicate(node: TypePredicateNode) {
2208-
const { parameterName, type } = node;
2209-
if (parameterName && parameterName.kind === SyntaxKind.Identifier) {
2210-
checkStrictModeIdentifier(parameterName);
2211-
}
2212-
if (parameterName && parameterName.kind === SyntaxKind.ThisType) {
2213-
seenThisKeyword = true;
2214-
}
2215-
bind(type);
2216-
}
2217-
22182207
function bindSourceFileIfExternalModule() {
22192208
setExportContextFlag(file);
22202209
if (isExternalModule(file)) {

src/compiler/checker.ts

Lines changed: 97 additions & 115 deletions
Large diffs are not rendered by default.

src/compiler/declarationEmitter.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,12 @@ namespace ts {
608608
"?");
609609
}
610610
write(": ");
611-
emitType(node.type);
611+
if (node.type) {
612+
emitType(node.type);
613+
}
614+
else {
615+
write("any");
616+
}
612617
write(";");
613618
writeLine();
614619
decreaseIndent();

src/compiler/diagnosticMessages.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2602,7 +2602,7 @@
26022602
"code": 4083
26032603
},
26042604
"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.": {
2605-
"category": "Message",
2605+
"category": "Error",
26062606
"code": 4090
26072607
},
26082608
"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.": {
@@ -3296,7 +3296,7 @@
32963296
"category": "Message",
32973297
"code": 6146
32983298
},
3299-
"Resolution for module '{0}' was found in cache.": {
3299+
"Resolution for module '{0}' was found in cache from location '{1}'.": {
33003300
"category": "Message",
33013301
"code": 6147
33023302
},
@@ -3788,6 +3788,10 @@
37883788
"category": "Error",
37893789
"code": 17016
37903790
},
3791+
"JSX fragment is not supported when using an inline JSX factory pragma": {
3792+
"category": "Error",
3793+
"code": 17017
3794+
},
37913795

37923796
"Circularity detected while resolving configuration: {0}": {
37933797
"category": "Error",
@@ -3806,6 +3810,11 @@
38063810
"code": 18003
38073811
},
38083812

3813+
"File is a CommonJS module; it may be converted to an ES6 module.": {
3814+
"category": "Suggestion",
3815+
"code": 80001
3816+
},
3817+
38093818
"Add missing 'super()' call": {
38103819
"category": "Message",
38113820
"code": 90001

src/compiler/factory.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2375,6 +2375,9 @@ namespace ts {
23752375
if (node.resolvedTypeReferenceDirectiveNames !== undefined) updated.resolvedTypeReferenceDirectiveNames = node.resolvedTypeReferenceDirectiveNames;
23762376
if (node.imports !== undefined) updated.imports = node.imports;
23772377
if (node.moduleAugmentations !== undefined) updated.moduleAugmentations = node.moduleAugmentations;
2378+
if (node.pragmas !== undefined) updated.pragmas = node.pragmas;
2379+
if (node.localJsxFactory !== undefined) updated.localJsxFactory = node.localJsxFactory;
2380+
if (node.localJsxNamespace !== undefined) updated.localJsxNamespace = node.localJsxNamespace;
23782381
return updateNode(updated, node);
23792382
}
23802383

src/compiler/moduleNameResolver.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,20 @@ namespace ts {
335335
}
336336

337337
export function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache {
338-
const directoryToModuleNameMap = createMap<Map<ResolvedModuleWithFailedLookupLocations>>();
339-
const moduleNameToDirectoryMap = createMap<PerModuleNameCache>();
338+
return createModuleResolutionCacheWithMaps(
339+
createMap<Map<ResolvedModuleWithFailedLookupLocations>>(),
340+
createMap<PerModuleNameCache>(),
341+
currentDirectory,
342+
getCanonicalFileName
343+
);
344+
}
345+
346+
/*@internal*/
347+
export function createModuleResolutionCacheWithMaps(
348+
directoryToModuleNameMap: Map<Map<ResolvedModuleWithFailedLookupLocations>>,
349+
moduleNameToDirectoryMap: Map<PerModuleNameCache>,
350+
currentDirectory: string,
351+
getCanonicalFileName: GetCanonicalFileName): ModuleResolutionCache {
340352

341353
return { getOrCreateCacheForDirectory, getOrCreateCacheForModuleName };
342354

@@ -445,7 +457,7 @@ namespace ts {
445457

446458
if (result) {
447459
if (traceEnabled) {
448-
trace(host, Diagnostics.Resolution_for_module_0_was_found_in_cache, moduleName);
460+
trace(host, Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1, moduleName, containingDirectory);
449461
}
450462
}
451463
else {
@@ -1188,7 +1200,7 @@ namespace ts {
11881200
const result = cache && cache.get(containingDirectory);
11891201
if (result) {
11901202
if (traceEnabled) {
1191-
trace(host, Diagnostics.Resolution_for_module_0_was_found_in_cache, moduleName);
1203+
trace(host, Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1, moduleName, containingDirectory);
11921204
}
11931205
return { value: result.resolvedModule && { path: result.resolvedModule.resolvedFileName, extension: result.resolvedModule.extension, packageId: result.resolvedModule.packageId } };
11941206
}

0 commit comments

Comments
 (0)