diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 6dd593c7fee..9e4d5cd1da4 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4019,7 +4019,8 @@ module ts { function processReferencedFiles(file: SourceFile, basePath: string) { forEach(file.referencedFiles, ref => { - processSourceFile(normalizePath(combinePaths(basePath, ref.filename)), /* isDefaultLib */ false, file, ref.pos, ref.end); + var referencedFilename = isRootedDiskPath(ref.filename) ? ref.filename : combinePaths(basePath, ref.filename); + processSourceFile(normalizePath(referencedFilename), /* isDefaultLib */ false, file, ref.pos, ref.end); }); } diff --git a/src/services/services.ts b/src/services/services.ts index a35c1213956..ced52fd69c3 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2573,7 +2573,8 @@ module ts { /// Triple slash reference comments var comment = forEach(sourceFile.referencedFiles, r => (r.pos <= position && position < r.end) ? r : undefined); if (comment) { - var targetFilename = normalizePath(combinePaths(getDirectoryPath(filename), comment.filename)); + var targetFilename = isRootedDiskPath(comment.filename) ? comment.filename : combinePaths(getDirectoryPath(filename), comment.filename); + targetFilename = normalizePath(targetFilename); if (program.getSourceFile(targetFilename)) { return [{ fileName: targetFilename,