Skip to content

Commit d498274

Browse files
author
Yui T
committed
Merge branch 'noResolve' of https://github.com/Microsoft/TypeScript
2 parents 3e08af4 + dc8a5f8 commit d498274

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

src/compiler/emitter.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3150,7 +3150,7 @@ module ts {
31503150
}
31513151
}
31523152

3153-
function resolveScriptReference(sourceFile: SourceFile, reference: FileReference) {
3153+
function tryResolveScriptReference(sourceFile: SourceFile, reference: FileReference) {
31543154
var referenceFileName = normalizePath(combinePaths(getDirectoryPath(sourceFile.filename), reference.filename));
31553155
return program.getSourceFile(referenceFileName);
31563156
}
@@ -3180,12 +3180,12 @@ module ts {
31803180
if (!compilerOptions.noResolve) {
31813181
var addedGlobalFileReference = false;
31823182
forEach(root.referencedFiles, fileReference => {
3183-
var referencedFile = resolveScriptReference(root, fileReference);
3183+
var referencedFile = tryResolveScriptReference(root, fileReference);
31843184

31853185
// 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
31873187
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
31893189

31903190
writeReferencePath(referencedFile);
31913191
if (!isExternalModuleOrDeclarationFile(referencedFile)) {
@@ -3205,11 +3205,11 @@ module ts {
32053205
// Check what references need to be added
32063206
if (!compilerOptions.noResolve) {
32073207
forEach(sourceFile.referencedFiles, fileReference => {
3208-
var referencedFile = resolveScriptReference(sourceFile, fileReference);
3208+
var referencedFile = tryResolveScriptReference(sourceFile, fileReference);
32093209

32103210
// 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
32133213

32143214
writeReferencePath(referencedFile);
32153215
emittedReferencedFiles.push(referencedFile);

src/services/shims.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,12 +342,6 @@ module ts {
342342
}
343343
var options = compilationSettingsToCompilerOptions(<CompilerOptions>JSON.parse(<any>settingsJson));
344344

345-
/// TODO: this should be pushed into VS.
346-
/// We can not ask the LS instance to resolve, as this will lead to asking the host about files it does not know about,
347-
/// something it is not designed to handle. for now make sure we never get a "noresolve == false".
348-
/// This value should not matter, as the host runs resolution logic independently
349-
options.noResolve = true;
350-
351345
return options;
352346
}
353347

0 commit comments

Comments
 (0)