@@ -599,13 +599,7 @@ namespace ts {
599
599
}
600
600
601
601
function processSourceFile ( fileName : string , isDefaultLib : boolean , refFile ?: SourceFile , refPos ?: number , refEnd ?: number ) {
602
- let start : number ;
603
- let length : number ;
604
602
let diagnosticArgument : string [ ] ;
605
- if ( refEnd !== undefined && refPos !== undefined ) {
606
- start = refPos ;
607
- length = refEnd - refPos ;
608
- }
609
603
let diagnostic : DiagnosticMessage ;
610
604
if ( hasExtension ( fileName ) ) {
611
605
if ( ! options . allowNonTsExtensions && ! forEach ( supportedExtensions , extension => fileExtensionIs ( host . getCanonicalFileName ( fileName ) , extension ) ) ) {
@@ -637,8 +631,8 @@ namespace ts {
637
631
}
638
632
639
633
if ( diagnostic ) {
640
- if ( refFile ) {
641
- diagnostics . add ( createFileDiagnostic ( refFile , start , length , diagnostic , ...diagnosticArgument ) ) ;
634
+ if ( refFile !== undefined && refEnd !== undefined && refPos !== undefined ) {
635
+ diagnostics . add ( createFileDiagnostic ( refFile , refPos , refEnd - refPos , diagnostic , ...diagnosticArgument ) ) ;
642
636
}
643
637
else {
644
638
diagnostics . add ( createCompilerDiagnostic ( diagnostic , ...diagnosticArgument ) ) ;
@@ -647,7 +641,7 @@ namespace ts {
647
641
}
648
642
649
643
// Get source file from normalized fileName
650
- function findSourceFile ( fileName : string , isDefaultLib : boolean , refFile ?: SourceFile , refStart ?: number , refLength ?: number ) : SourceFile {
644
+ function findSourceFile ( fileName : string , isDefaultLib : boolean , refFile ?: SourceFile , refPos ?: number , refEnd ?: number ) : SourceFile {
651
645
let canonicalName = host . getCanonicalFileName ( normalizeSlashes ( fileName ) ) ;
652
646
if ( filesByName . contains ( canonicalName ) ) {
653
647
// We've already looked for this file, use cached result
@@ -662,8 +656,8 @@ namespace ts {
662
656
663
657
// We haven't looked for this file, do so now and cache result
664
658
let file = host . getSourceFile ( fileName , options . target , hostErrorMessage => {
665
- if ( refFile ) {
666
- diagnostics . add ( createFileDiagnostic ( refFile , refStart , refLength ,
659
+ if ( refFile !== undefined && refPos !== undefined && refEnd !== undefined ) {
660
+ diagnostics . add ( createFileDiagnostic ( refFile , refPos , refEnd - refPos ,
667
661
Diagnostics . Cannot_read_file_0_Colon_1 , fileName , hostErrorMessage ) ) ;
668
662
}
669
663
else {
@@ -699,8 +693,13 @@ namespace ts {
699
693
if ( file && host . useCaseSensitiveFileNames ( ) ) {
700
694
let sourceFileName = useAbsolutePath ? getNormalizedAbsolutePath ( file . fileName , host . getCurrentDirectory ( ) ) : file . fileName ;
701
695
if ( canonicalName !== sourceFileName ) {
702
- diagnostics . add ( createFileDiagnostic ( refFile , refStart , refLength ,
703
- Diagnostics . File_name_0_differs_from_already_included_file_name_1_only_in_casing , fileName , sourceFileName ) ) ;
696
+ if ( refFile !== undefined && refPos !== undefined && refEnd !== undefined ) {
697
+ diagnostics . add ( createFileDiagnostic ( refFile , refPos , refEnd - refPos ,
698
+ Diagnostics . File_name_0_differs_from_already_included_file_name_1_only_in_casing , fileName , sourceFileName ) ) ;
699
+ }
700
+ else {
701
+ diagnostics . add ( createCompilerDiagnostic ( Diagnostics . File_name_0_differs_from_already_included_file_name_1_only_in_casing , fileName , sourceFileName ) ) ;
702
+ }
704
703
}
705
704
}
706
705
return file ;
@@ -737,7 +736,7 @@ namespace ts {
737
736
return ;
738
737
739
738
function findModuleSourceFile ( fileName : string , nameLiteral : Expression ) {
740
- return findSourceFile ( fileName , /* isDefaultLib */ false , file , nameLiteral . pos , nameLiteral . end - nameLiteral . pos ) ;
739
+ return findSourceFile ( fileName , /* isDefaultLib */ false , file , nameLiteral . pos , nameLiteral . end ) ;
741
740
}
742
741
}
743
742
0 commit comments