Skip to content

Commit 331b63d

Browse files
committed
update LKG
1 parent 1ef7943 commit 331b63d

File tree

6 files changed

+415
-194
lines changed

6 files changed

+415
-194
lines changed

bin/tsc.js

+60-23
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,36 @@ var ts;
3131
/// <reference path="types.ts"/>
3232
var ts;
3333
(function (ts) {
34+
function createFileMap(getCanonicalFileName) {
35+
var files = {};
36+
return {
37+
get: get,
38+
set: set,
39+
contains: contains,
40+
remove: remove,
41+
forEachValue: forEachValueInMap
42+
};
43+
function set(fileName, value) {
44+
files[normalizeKey(fileName)] = value;
45+
}
46+
function get(fileName) {
47+
return files[normalizeKey(fileName)];
48+
}
49+
function contains(fileName) {
50+
return hasProperty(files, normalizeKey(fileName));
51+
}
52+
function remove(fileName) {
53+
var key = normalizeKey(fileName);
54+
delete files[key];
55+
}
56+
function forEachValueInMap(f) {
57+
forEachValue(files, f);
58+
}
59+
function normalizeKey(key) {
60+
return getCanonicalFileName(normalizeSlashes(key));
61+
}
62+
}
63+
ts.createFileMap = createFileMap;
3464
function forEach(array, callback) {
3565
if (array) {
3666
for (var i = 0, len = array.length; i < len; i++) {
@@ -7758,7 +7788,7 @@ var ts;
77587788
token === 18) {
77597789
return parsePropertyOrMethodDeclaration(fullStart, decorators, modifiers);
77607790
}
7761-
if (decorators) {
7791+
if (decorators || modifiers) {
77627792
var name_3 = createMissingNode(65, true, ts.Diagnostics.Declaration_expected);
77637793
return parsePropertyDeclaration(fullStart, decorators, modifiers, name_3, undefined);
77647794
}
@@ -8162,7 +8192,7 @@ var ts;
81628192
case 85:
81638193
return parseImportDeclarationOrImportEqualsDeclaration(fullStart, decorators, modifiers);
81648194
default:
8165-
if (decorators) {
8195+
if (decorators || modifiers) {
81668196
var node = createMissingNode(219, true, ts.Diagnostics.Declaration_expected);
81678197
node.pos = fullStart;
81688198
node.decorators = decorators;
@@ -8238,7 +8268,7 @@ var ts;
82388268
}
82398269
sourceFile.referencedFiles = referencedFiles;
82408270
sourceFile.amdDependencies = amdDependencies;
8241-
sourceFile.amdModuleName = amdModuleName;
8271+
sourceFile.moduleName = amdModuleName;
82428272
}
82438273
function setExternalModuleIndicator(sourceFile) {
82448274
sourceFile.externalModuleIndicator = ts.forEach(sourceFile.statements, function (node) {
@@ -8849,21 +8879,24 @@ var ts;
88498879
if (!ts.isExternalModule(location))
88508880
break;
88518881
case 206:
8852-
if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8914931)) {
8853-
if (result.flags & meaning || !(result.flags & 8388608 && getDeclarationOfAliasSymbol(result).kind === 218)) {
8854-
break loop;
8855-
}
8856-
result = undefined;
8857-
}
8858-
else if (location.kind === 228 ||
8882+
var moduleExports = getSymbolOfNode(location).exports;
8883+
if (location.kind === 228 ||
88598884
(location.kind === 206 && location.name.kind === 8)) {
8860-
result = getSymbolOfNode(location).exports["default"];
8885+
if (ts.hasProperty(moduleExports, name) &&
8886+
moduleExports[name].flags === 8388608 &&
8887+
ts.getDeclarationOfKind(moduleExports[name], 218)) {
8888+
break;
8889+
}
8890+
result = moduleExports["default"];
88618891
var localSymbol = ts.getLocalSymbolForExportDefault(result);
88628892
if (result && localSymbol && (result.flags & meaning) && localSymbol.name === name) {
88638893
break loop;
88648894
}
88658895
result = undefined;
88668896
}
8897+
if (result = getSymbol(moduleExports, name, meaning & 8914931)) {
8898+
break loop;
8899+
}
88678900
break;
88688901
case 205:
88698902
if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8)) {
@@ -24450,10 +24483,10 @@ var ts;
2445024483
emitSetters(exportStarFunction);
2445124484
writeLine();
2445224485
emitExecute(node, startIndex);
24453-
emitTempDeclarations(true);
2445424486
decreaseIndent();
2445524487
writeLine();
2445624488
write("}");
24489+
emitTempDeclarations(true);
2445724490
}
2445824491
function emitSetters(exportStarFunction) {
2445924492
write("setters:[");
@@ -24553,7 +24586,11 @@ var ts;
2455324586
collectExternalModuleInfo(node);
2455424587
ts.Debug.assert(!exportFunctionForFile);
2455524588
exportFunctionForFile = makeUniqueName("exports");
24556-
write("System.register([");
24589+
write("System.register(");
24590+
if (node.moduleName) {
24591+
write("\"" + node.moduleName + "\", ");
24592+
}
24593+
write("[");
2455724594
for (var i = 0; i < externalImports.length; ++i) {
2455824595
var text = getExternalModuleNameText(externalImports[i]);
2455924596
if (i !== 0) {
@@ -24626,8 +24663,8 @@ var ts;
2462624663
collectExternalModuleInfo(node);
2462724664
writeLine();
2462824665
write("define(");
24629-
if (node.amdModuleName) {
24630-
write("\"" + node.amdModuleName + "\", ");
24666+
if (node.moduleName) {
24667+
write("\"" + node.moduleName + "\", ");
2463124668
}
2463224669
emitAMDDependencies(node, true);
2463324670
write(") {");
@@ -25201,14 +25238,14 @@ var ts;
2520125238
function createProgram(rootNames, options, host) {
2520225239
var program;
2520325240
var files = [];
25204-
var filesByName = {};
2520525241
var diagnostics = ts.createDiagnosticCollection();
2520625242
var seenNoDefaultLib = options.noLib;
2520725243
var commonSourceDirectory;
2520825244
var diagnosticsProducingTypeChecker;
2520925245
var noDiagnosticsTypeChecker;
2521025246
var start = new Date().getTime();
2521125247
host = host || createCompilerHost(options);
25248+
var filesByName = ts.createFileMap(function (fileName) { return host.getCanonicalFileName(fileName); });
2521225249
ts.forEach(rootNames, function (name) { return processRootFile(name, false); });
2521325250
if (!seenNoDefaultLib) {
2521425251
processRootFile(host.getDefaultLibFileName(options), true);
@@ -25264,8 +25301,7 @@ var ts;
2526425301
return emitResult;
2526525302
}
2526625303
function getSourceFile(fileName) {
25267-
fileName = host.getCanonicalFileName(ts.normalizeSlashes(fileName));
25268-
return ts.hasProperty(filesByName, fileName) ? filesByName[fileName] : undefined;
25304+
return filesByName.get(fileName);
2526925305
}
2527025306
function getDiagnosticsHelper(sourceFile, getDiagnostics) {
2527125307
if (sourceFile) {
@@ -25361,26 +25397,27 @@ var ts;
2536125397
}
2536225398
function findSourceFile(fileName, isDefaultLib, refFile, refStart, refLength) {
2536325399
var canonicalName = host.getCanonicalFileName(ts.normalizeSlashes(fileName));
25364-
if (ts.hasProperty(filesByName, canonicalName)) {
25400+
if (filesByName.contains(canonicalName)) {
2536525401
return getSourceFileFromCache(fileName, canonicalName, false);
2536625402
}
2536725403
else {
2536825404
var normalizedAbsolutePath = ts.getNormalizedAbsolutePath(fileName, host.getCurrentDirectory());
2536925405
var canonicalAbsolutePath = host.getCanonicalFileName(normalizedAbsolutePath);
25370-
if (ts.hasProperty(filesByName, canonicalAbsolutePath)) {
25406+
if (filesByName.contains(canonicalAbsolutePath)) {
2537125407
return getSourceFileFromCache(normalizedAbsolutePath, canonicalAbsolutePath, true);
2537225408
}
25373-
var file = filesByName[canonicalName] = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
25409+
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
2537425410
if (refFile) {
2537525411
diagnostics.add(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
2537625412
}
2537725413
else {
2537825414
diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
2537925415
}
2538025416
});
25417+
filesByName.set(canonicalName, file);
2538125418
if (file) {
2538225419
seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib;
25383-
filesByName[canonicalAbsolutePath] = file;
25420+
filesByName.set(canonicalAbsolutePath, file);
2538425421
if (!options.noResolve) {
2538525422
var basePath = ts.getDirectoryPath(fileName);
2538625423
processReferencedFiles(file, basePath);
@@ -25396,7 +25433,7 @@ var ts;
2539625433
return file;
2539725434
}
2539825435
function getSourceFileFromCache(fileName, canonicalName, useAbsolutePath) {
25399-
var file = filesByName[canonicalName];
25436+
var file = filesByName.get(canonicalName);
2540025437
if (file && host.useCaseSensitiveFileNames()) {
2540125438
var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName;
2540225439
if (canonicalName !== sourceFileName) {

0 commit comments

Comments
 (0)