@@ -3150,7 +3150,7 @@ module ts {
3150
3150
}
3151
3151
}
3152
3152
3153
- function resolveScriptReference ( sourceFile : SourceFile , reference : FileReference ) {
3153
+ function tryResolveScriptReference ( sourceFile : SourceFile , reference : FileReference ) {
3154
3154
var referenceFileName = normalizePath ( combinePaths ( getDirectoryPath ( sourceFile . filename ) , reference . filename ) ) ;
3155
3155
return program . getSourceFile ( referenceFileName ) ;
3156
3156
}
@@ -3180,12 +3180,12 @@ module ts {
3180
3180
if ( ! compilerOptions . noResolve ) {
3181
3181
var addedGlobalFileReference = false ;
3182
3182
forEach ( root . referencedFiles , fileReference => {
3183
- var referencedFile = resolveScriptReference ( root , fileReference ) ;
3183
+ var referencedFile = tryResolveScriptReference ( root , fileReference ) ;
3184
3184
3185
3185
// All the references that are not going to be part of same file
3186
- if ( ( referencedFile . flags & NodeFlags . DeclarationFile ) || // This is a declare file reference
3186
+ if ( referencedFile && ( ( referencedFile . flags & NodeFlags . DeclarationFile ) || // This is a declare file reference
3187
3187
shouldEmitToOwnFile ( referencedFile , compilerOptions ) || // This is referenced file is emitting its own js file
3188
- ! addedGlobalFileReference ) { // Or the global out file corresponding to this reference was not added
3188
+ ! addedGlobalFileReference ) ) { // Or the global out file corresponding to this reference was not added
3189
3189
3190
3190
writeReferencePath ( referencedFile ) ;
3191
3191
if ( ! isExternalModuleOrDeclarationFile ( referencedFile ) ) {
@@ -3205,11 +3205,11 @@ module ts {
3205
3205
// Check what references need to be added
3206
3206
if ( ! compilerOptions . noResolve ) {
3207
3207
forEach ( sourceFile . referencedFiles , fileReference => {
3208
- var referencedFile = resolveScriptReference ( sourceFile , fileReference ) ;
3208
+ var referencedFile = tryResolveScriptReference ( sourceFile , fileReference ) ;
3209
3209
3210
3210
// If the reference file is a declaration file or an external module, emit that reference
3211
- if ( isExternalModuleOrDeclarationFile ( referencedFile ) &&
3212
- ! contains ( emittedReferencedFiles , referencedFile ) ) { // If the file reference was not already emitted
3211
+ if ( referencedFile && ( isExternalModuleOrDeclarationFile ( referencedFile ) &&
3212
+ ! contains ( emittedReferencedFiles , referencedFile ) ) ) { // If the file reference was not already emitted
3213
3213
3214
3214
writeReferencePath ( referencedFile ) ;
3215
3215
emittedReferencedFiles . push ( referencedFile ) ;
0 commit comments