@@ -729,7 +729,7 @@ namespace ts {
729
729
const cachedBindAndCheckDiagnosticsForFile : DiagnosticCache < Diagnostic > = { } ;
730
730
const cachedDeclarationDiagnosticsForFile : DiagnosticCache < DiagnosticWithLocation > = { } ;
731
731
732
- let resolvedTypeReferenceDirectives = new Map < string , ResolvedTypeReferenceDirective | undefined > ( ) ;
732
+ let resolvedTypeReferenceDirectives = new Map < string , ResolvedTypeReferenceDirectiveWithFailedLookupLocations > ( ) ;
733
733
let perFileModuleResolutions = new Map < Path , ESMap < string , ResolvedModuleWithFailedLookupLocations > > ( ) ;
734
734
let perFileTypeReferenceResolutions = new Map < Path , ESMap < string , ResolvedTypeReferenceDirectiveWithFailedLookupLocations > > ( ) ;
735
735
let perFileModuleResolutionsUsingOldProgram = new Map < Path , ESMap < string , ResolvedModuleWithFailedLookupLocations > > ( ) ;
@@ -2828,16 +2828,17 @@ namespace ts {
2828
2828
2829
2829
function processTypeReferenceDirective (
2830
2830
typeReferenceDirective : string ,
2831
- { resolvedTypeReferenceDirective } : ResolvedTypeReferenceDirectiveWithFailedLookupLocations ,
2831
+ resolved : ResolvedTypeReferenceDirectiveWithFailedLookupLocations ,
2832
2832
refFile ?: RefFile
2833
2833
) : void {
2834
2834
2835
2835
// If we already found this library as a primary reference - nothing to do
2836
2836
const previousResolution = resolvedTypeReferenceDirectives . get ( typeReferenceDirective ) ;
2837
- if ( previousResolution && previousResolution . primary ) {
2837
+ if ( previousResolution ?. resolvedTypeReferenceDirective ? .primary ) {
2838
2838
return ;
2839
2839
}
2840
2840
let saveResolution = true ;
2841
+ const { resolvedTypeReferenceDirective } = resolved ;
2841
2842
if ( resolvedTypeReferenceDirective ) {
2842
2843
if ( resolvedTypeReferenceDirective . isExternalLibraryImport ) currentNodeModulesDepth ++ ;
2843
2844
@@ -2848,11 +2849,11 @@ namespace ts {
2848
2849
else {
2849
2850
// If we already resolved to this file, it must have been a secondary reference. Check file contents
2850
2851
// for sameness and possibly issue an error
2851
- if ( previousResolution ) {
2852
+ if ( previousResolution ?. resolvedTypeReferenceDirective ) {
2852
2853
// Don't bother reading the file again if it's the same file.
2853
- if ( resolvedTypeReferenceDirective . resolvedFileName !== previousResolution . resolvedFileName ) {
2854
+ if ( resolvedTypeReferenceDirective . resolvedFileName !== previousResolution . resolvedTypeReferenceDirective . resolvedFileName ) {
2854
2855
const otherFileText = host . readFile ( resolvedTypeReferenceDirective . resolvedFileName ! ) ;
2855
- const existingFile = getSourceFile ( previousResolution . resolvedFileName ! ) ! ;
2856
+ const existingFile = getSourceFile ( previousResolution . resolvedTypeReferenceDirective . resolvedFileName ! ) ! ;
2856
2857
if ( otherFileText !== existingFile . text ) {
2857
2858
// Try looking up ref for original file
2858
2859
const refs = ! refFile ? refFileMap && refFileMap . get ( existingFile . path ) : undefined ;
@@ -2864,14 +2865,14 @@ namespace ts {
2864
2865
Diagnostics . Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict ,
2865
2866
typeReferenceDirective ,
2866
2867
resolvedTypeReferenceDirective . resolvedFileName ,
2867
- previousResolution . resolvedFileName
2868
+ previousResolution . resolvedTypeReferenceDirective . resolvedFileName
2868
2869
) :
2869
2870
createRefFileDiagnostic (
2870
2871
refFile ,
2871
2872
Diagnostics . Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict ,
2872
2873
typeReferenceDirective ,
2873
2874
resolvedTypeReferenceDirective . resolvedFileName ,
2874
- previousResolution . resolvedFileName
2875
+ previousResolution . resolvedTypeReferenceDirective . resolvedFileName
2875
2876
)
2876
2877
) ;
2877
2878
}
@@ -2896,7 +2897,7 @@ namespace ts {
2896
2897
}
2897
2898
2898
2899
if ( saveResolution ) {
2899
- resolvedTypeReferenceDirectives . set ( typeReferenceDirective , resolvedTypeReferenceDirective ) ;
2900
+ resolvedTypeReferenceDirectives . set ( typeReferenceDirective , resolved ) ;
2900
2901
}
2901
2902
}
2902
2903
0 commit comments