diff --git a/src/compiler/program.ts b/src/compiler/program.ts index cc2fe7ff190..f3d74464464 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -143,18 +143,25 @@ module ts { let files: SourceFile[] = []; let filesByName: Map = {}; let diagnostics = createDiagnosticCollection(); - let seenNoDefaultLib = options.noLib; let commonSourceDirectory: string; let diagnosticsProducingTypeChecker: TypeChecker; let noDiagnosticsTypeChecker: TypeChecker; + // shouldExcludeDefaultLib is true if: + // - The '--noLib' flag is used. + // - A 'no-default-lib' reference comment is encountered in + // processing the root files. + let shouldExcludeDefaultLib = options.noLib; + let start = new Date().getTime(); host = host || createCompilerHost(options); - forEach(rootNames, name => processRootFile(name, false)); - if (!seenNoDefaultLib) { - processRootFile(host.getDefaultLibFileName(options), true); + + forEach(rootNames, name => processRootFile(name, /*isDefaultLib */ false)); + if (!shouldExcludeDefaultLib) { + processRootFile(host.getDefaultLibFileName(options), /*isDefaultLib*/ true); } + verifyCompilerOptions(); programTime += new Date().getTime() - start; @@ -360,7 +367,7 @@ module ts { } }); if (file) { - seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; + shouldExcludeDefaultLib = shouldExcludeDefaultLib || file.hasNoDefaultLib; // Set the source file for normalized absolute path filesByName[canonicalAbsolutePath] = file; diff --git a/src/harness/rwcRunner.ts b/src/harness/rwcRunner.ts index 49a15112e9f..0d56fa7250e 100644 --- a/src/harness/rwcRunner.ts +++ b/src/harness/rwcRunner.ts @@ -75,7 +75,7 @@ module RWC { }); // Add files to compilation - for(let fileRead of ioLog.filesRead) { + for (let fileRead of ioLog.filesRead) { // Check if the file is already added into the set of input files. var resolvedPath = ts.normalizeSlashes(ts.sys.resolvePath(fileRead.path)); var inInputList = ts.forEach(inputFiles, inputFile => inputFile.unitName === resolvedPath);