Skip to content

Commit aeda847

Browse files
committed
Merge branch 'master' of https://github.com/Microsoft/TypeScript into deeplyNestedTypeArgumentInference
2 parents 80f523c + 97afc1d commit aeda847

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+132
-74
lines changed

scripts/processDiagnosticMessages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, nameMap:
5555
'// <auto-generated />\r\n' +
5656
'/// <reference path="types.ts" />\r\n' +
5757
'/* @internal */\r\n' +
58-
'module ts {\r\n' +
58+
'namespace ts {\r\n' +
5959
' export var Diagnostics = {\r\n';
6060
var names = Utilities.getObjectKeys(messageTable);
6161
for (var i = 0; i < names.length; i++) {

src/compiler/binder.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="parser.ts"/>
22

33
/* @internal */
4-
module ts {
4+
namespace ts {
55
export let bindTime = 0;
66

77
export const enum ModuleInstanceState {
@@ -90,10 +90,12 @@ module ts {
9090
let lastContainer: Node;
9191
let symbolCount = 0;
9292
let Symbol = objectAllocator.getSymbolConstructor();
93+
let classifiableNames: Map<string> = {};
9394

9495
if (!file.locals) {
9596
bind(file);
9697
file.symbolCount = symbolCount;
98+
file.classifiableNames = classifiableNames;
9799
}
98100

99101
return;
@@ -194,6 +196,11 @@ module ts {
194196
symbol = hasProperty(symbolTable, name)
195197
? symbolTable[name]
196198
: (symbolTable[name] = createSymbol(SymbolFlags.None, name));
199+
200+
if (name && (includes & SymbolFlags.Classifiable)) {
201+
classifiableNames[name] = name;
202+
}
203+
197204
if (symbol.flags & excludes) {
198205
if (node.name) {
199206
node.name.parent = node;

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="binder.ts"/>
22

33
/* @internal */
4-
module ts {
4+
namespace ts {
55
let nextSymbolId = 1;
66
let nextNodeId = 1;
77
let nextMergeId = 1;

src/compiler/commandLineParser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/// <reference path="core.ts"/>
44
/// <reference path="scanner.ts"/>
55

6-
module ts {
6+
namespace ts {
77
/* @internal */
88
export var optionDeclarations: CommandLineOption[] = [
99
{

src/compiler/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="types.ts"/>
22

33
/* @internal */
4-
module ts {
4+
namespace ts {
55
// Ternary values are defined such that
66
// x & y is False if either x or y is False.
77
// x & y is Maybe if either x or y is Maybe, but neither x or y is False.

src/compiler/declarationEmitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="checker.ts"/>
22

33
/* @internal */
4-
module ts {
4+
namespace ts {
55
interface ModuleElementDeclarationEmitInfo {
66
node: Node;
77
outputPos: number;

src/compiler/diagnosticInformationMap.generated.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// <auto-generated />
22
/// <reference path="types.ts" />
33
/* @internal */
4-
module ts {
4+
namespace ts {
55
export var Diagnostics = {
66
Unterminated_string_literal: { code: 1002, category: DiagnosticCategory.Error, key: "Unterminated string literal." },
77
Identifier_expected: { code: 1003, category: DiagnosticCategory.Error, key: "Identifier expected." },

src/compiler/emitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/// <reference path="declarationEmitter.ts"/>
33

44
/* @internal */
5-
module ts {
5+
namespace ts {
66
export function isExternalModuleOrDeclarationFile(sourceFile: SourceFile) {
77
return isExternalModule(sourceFile) || isDeclarationFile(sourceFile);
88
}

src/compiler/parser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="scanner.ts"/>
22
/// <reference path="utilities.ts"/>
33

4-
module ts {
4+
namespace ts {
55
let nodeConstructors = new Array<new () => Node>(SyntaxKind.Count);
66
/* @internal */ export let parseTime = 0;
77

src/compiler/program.ts

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="sys.ts" />
22
/// <reference path="emitter.ts" />
33

4-
module ts {
4+
namespace ts {
55
/* @internal */ export let programTime = 0;
66
/* @internal */ export let emitTime = 0;
77
/* @internal */ export let ioReadTime = 0;
@@ -148,6 +148,7 @@ module ts {
148148
let commonSourceDirectory: string;
149149
let diagnosticsProducingTypeChecker: TypeChecker;
150150
let noDiagnosticsTypeChecker: TypeChecker;
151+
let classifiableNames: Map<string>;
151152

152153
let start = new Date().getTime();
153154

@@ -172,6 +173,7 @@ module ts {
172173
getDeclarationDiagnostics,
173174
getCompilerOptionsDiagnostics,
174175
getTypeChecker,
176+
getClassifiableNames,
175177
getDiagnosticsProducingTypeChecker,
176178
getCommonSourceDirectory: () => commonSourceDirectory,
177179
emit,
@@ -183,6 +185,20 @@ module ts {
183185
};
184186
return program;
185187

188+
function getClassifiableNames() {
189+
if (!classifiableNames) {
190+
// Initialize a checker so that all our files are bound.
191+
getTypeChecker();
192+
classifiableNames = {};
193+
194+
for (let sourceFile of files) {
195+
copyMap(sourceFile.classifiableNames, classifiableNames);
196+
}
197+
}
198+
199+
return classifiableNames;
200+
}
201+
186202
function getEmitHost(writeFileCallback?: WriteFileCallback): EmitHost {
187203
return {
188204
getCanonicalFileName: fileName => host.getCanonicalFileName(fileName),
@@ -335,14 +351,17 @@ module ts {
335351
}
336352
}
337353
else {
338-
if (options.allowNonTsExtensions && !findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd)) {
339-
diagnostic = Diagnostics.File_0_not_found;
340-
diagnosticArgument = [fileName];
341-
}
342-
else if (!forEach(supportedExtensions, extension => findSourceFile(fileName + extension, isDefaultLib, refFile, refPos, refEnd))) {
343-
diagnostic = Diagnostics.File_0_not_found;
344-
fileName += ".ts";
345-
diagnosticArgument = [fileName];
354+
var nonTsFile: SourceFile = options.allowNonTsExtensions && findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd);
355+
if (!nonTsFile) {
356+
if (options.allowNonTsExtensions) {
357+
diagnostic = Diagnostics.File_0_not_found;
358+
diagnosticArgument = [fileName];
359+
}
360+
else if (!forEach(supportedExtensions, extension => findSourceFile(fileName + extension, isDefaultLib, refFile, refPos, refEnd))) {
361+
diagnostic = Diagnostics.File_0_not_found;
362+
fileName += ".ts";
363+
diagnosticArgument = [fileName];
364+
}
346365
}
347366
}
348367

0 commit comments

Comments
 (0)