Skip to content

Commit d94cbed

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 091f38b + f2c98ba commit d94cbed

File tree

1,019 files changed

+17640
-16319
lines changed

Some content is hidden

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

1,019 files changed

+17640
-16319
lines changed

bin/lib.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1908,7 +1908,7 @@ declare module Intl {
19081908
second?: string;
19091909
timeZoneName?: string;
19101910
formatMatcher?: string;
1911-
hour12: boolean;
1911+
hour12?: boolean;
19121912
}
19131913

19141914
interface ResolvedDateTimeFormatOptions {

bin/lib.dom.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ declare module Intl {
758758
second?: string;
759759
timeZoneName?: string;
760760
formatMatcher?: string;
761-
hour12: boolean;
761+
hour12?: boolean;
762762
}
763763

764764
interface ResolvedDateTimeFormatOptions {

bin/lib.es6.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4884,7 +4884,7 @@ declare module Intl {
48844884
second?: string;
48854885
timeZoneName?: string;
48864886
formatMatcher?: string;
4887-
hour12: boolean;
4887+
hour12?: boolean;
48884888
}
48894889

48904890
interface ResolvedDateTimeFormatOptions {

bin/lib.webworker.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ declare module Intl {
758758
second?: string;
759759
timeZoneName?: string;
760760
formatMatcher?: string;
761-
hour12: boolean;
761+
hour12?: boolean;
762762
}
763763

764764
interface ResolvedDateTimeFormatOptions {

bin/tsc.js

+957-823
Large diffs are not rendered by default.

bin/typescript.d.ts

+131-83
Large diffs are not rendered by default.

bin/typescriptServices.d.ts

+131-83
Large diffs are not rendered by default.

bin/typescriptServices.js

+6,344-6,140
Large diffs are not rendered by default.

bin/typescriptServices_internal.d.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ declare module ts {
3535
function concatenate<T>(array1: T[], array2: T[]): T[];
3636
function deduplicate<T>(array: T[]): T[];
3737
function sum(array: any[], prop: string): number;
38+
function addRange<T>(to: T[], from: T[]): void;
3839
/**
3940
* Returns the last element of an array if non-empty, undefined otherwise.
4041
*/
@@ -67,9 +68,9 @@ declare module ts {
6768
function createCompilerDiagnostic(message: DiagnosticMessage, ...args: any[]): Diagnostic;
6869
function chainDiagnosticMessages(details: DiagnosticMessageChain, message: DiagnosticMessage, ...args: any[]): DiagnosticMessageChain;
6970
function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain;
70-
function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic;
7171
function compareValues<T>(a: T, b: T): Comparison;
72-
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number;
72+
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison;
73+
function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[];
7374
function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[];
7475
function normalizeSlashes(path: string): string;
7576
function getRootLength(path: string): number;
@@ -79,10 +80,10 @@ declare module ts {
7980
function isUrl(path: string): boolean;
8081
function isRootedDiskPath(path: string): boolean;
8182
function getNormalizedPathComponents(path: string, currentDirectory: string): string[];
82-
function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string;
83+
function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string;
8384
function getNormalizedPathFromPathComponents(pathComponents: string[]): string;
8485
function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string;
85-
function getBaseFilename(path: string): string;
86+
function getBaseFileName(path: string): string;
8687
function combinePaths(path1: string, path2: string): string;
8788
function fileExtensionIs(path: string, extension: string): boolean;
8889
function removeFileExtension(path: string): string;
@@ -92,6 +93,7 @@ declare module ts {
9293
* Note that this doesn't actually wrap the input in double quotes.
9394
*/
9495
function escapeString(s: string): string;
96+
function getDefaultLibFileName(options: CompilerOptions): string;
9597
interface ObjectAllocator {
9698
getNodeConstructor(kind: SyntaxKind): new () => Node;
9799
getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol;
@@ -147,11 +149,10 @@ declare module ts {
147149
}
148150
interface EmitHost extends ScriptReferenceHost {
149151
getSourceFiles(): SourceFile[];
150-
isEmitBlocked(sourceFile?: SourceFile): boolean;
151152
getCommonSourceDirectory(): string;
152153
getCanonicalFileName(fileName: string): string;
153154
getNewLine(): string;
154-
writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void;
155+
writeFile: WriteFileCallback;
155156
}
156157
function getSingleLineStringWriter(): StringSymbolWriter;
157158
function releaseStringWriter(writer: StringSymbolWriter): void;
@@ -170,7 +171,7 @@ declare module ts {
170171
function unescapeIdentifier(identifier: string): string;
171172
function declarationNameToString(name: DeclarationName): string;
172173
function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic;
173-
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic;
174+
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic;
174175
function getErrorSpanForNode(node: Node): Node;
175176
function isExternalModule(file: SourceFile): boolean;
176177
function isDeclarationFile(file: SourceFile): boolean;
@@ -216,7 +217,6 @@ declare module ts {
216217
function isKeyword(token: SyntaxKind): boolean;
217218
function isTrivia(token: SyntaxKind): boolean;
218219
function isModifier(token: SyntaxKind): boolean;
219-
function createEmitHostFromProgram(program: Program): EmitHost;
220220
function textSpanEnd(span: TextSpan): number;
221221
function textSpanIsEmpty(span: TextSpan): boolean;
222222
function textSpanContainsPosition(span: TextSpan, position: number): boolean;
@@ -246,7 +246,7 @@ declare module ts {
246246
declare module ts {
247247
var optionDeclarations: CommandLineOption[];
248248
function parseCommandLine(commandLine: string[]): ParsedCommandLine;
249-
function readConfigFile(filename: string): any;
249+
function readConfigFile(fileName: string): any;
250250
function parseConfigFile(json: any, basePath?: string): ParsedCommandLine;
251251
}
252252
declare module ts {

bin/typescript_internal.d.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ declare module "typescript" {
3535
function concatenate<T>(array1: T[], array2: T[]): T[];
3636
function deduplicate<T>(array: T[]): T[];
3737
function sum(array: any[], prop: string): number;
38+
function addRange<T>(to: T[], from: T[]): void;
3839
/**
3940
* Returns the last element of an array if non-empty, undefined otherwise.
4041
*/
@@ -67,9 +68,9 @@ declare module "typescript" {
6768
function createCompilerDiagnostic(message: DiagnosticMessage, ...args: any[]): Diagnostic;
6869
function chainDiagnosticMessages(details: DiagnosticMessageChain, message: DiagnosticMessage, ...args: any[]): DiagnosticMessageChain;
6970
function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain;
70-
function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic;
7171
function compareValues<T>(a: T, b: T): Comparison;
72-
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number;
72+
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison;
73+
function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[];
7374
function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[];
7475
function normalizeSlashes(path: string): string;
7576
function getRootLength(path: string): number;
@@ -79,10 +80,10 @@ declare module "typescript" {
7980
function isUrl(path: string): boolean;
8081
function isRootedDiskPath(path: string): boolean;
8182
function getNormalizedPathComponents(path: string, currentDirectory: string): string[];
82-
function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string;
83+
function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string;
8384
function getNormalizedPathFromPathComponents(pathComponents: string[]): string;
8485
function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string;
85-
function getBaseFilename(path: string): string;
86+
function getBaseFileName(path: string): string;
8687
function combinePaths(path1: string, path2: string): string;
8788
function fileExtensionIs(path: string, extension: string): boolean;
8889
function removeFileExtension(path: string): string;
@@ -92,6 +93,7 @@ declare module "typescript" {
9293
* Note that this doesn't actually wrap the input in double quotes.
9394
*/
9495
function escapeString(s: string): string;
96+
function getDefaultLibFileName(options: CompilerOptions): string;
9597
interface ObjectAllocator {
9698
getNodeConstructor(kind: SyntaxKind): new () => Node;
9799
getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol;
@@ -147,11 +149,10 @@ declare module "typescript" {
147149
}
148150
interface EmitHost extends ScriptReferenceHost {
149151
getSourceFiles(): SourceFile[];
150-
isEmitBlocked(sourceFile?: SourceFile): boolean;
151152
getCommonSourceDirectory(): string;
152153
getCanonicalFileName(fileName: string): string;
153154
getNewLine(): string;
154-
writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void;
155+
writeFile: WriteFileCallback;
155156
}
156157
function getSingleLineStringWriter(): StringSymbolWriter;
157158
function releaseStringWriter(writer: StringSymbolWriter): void;
@@ -170,7 +171,7 @@ declare module "typescript" {
170171
function unescapeIdentifier(identifier: string): string;
171172
function declarationNameToString(name: DeclarationName): string;
172173
function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic;
173-
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic;
174+
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic;
174175
function getErrorSpanForNode(node: Node): Node;
175176
function isExternalModule(file: SourceFile): boolean;
176177
function isDeclarationFile(file: SourceFile): boolean;
@@ -216,7 +217,6 @@ declare module "typescript" {
216217
function isKeyword(token: SyntaxKind): boolean;
217218
function isTrivia(token: SyntaxKind): boolean;
218219
function isModifier(token: SyntaxKind): boolean;
219-
function createEmitHostFromProgram(program: Program): EmitHost;
220220
function textSpanEnd(span: TextSpan): number;
221221
function textSpanIsEmpty(span: TextSpan): boolean;
222222
function textSpanContainsPosition(span: TextSpan, position: number): boolean;
@@ -246,7 +246,7 @@ declare module "typescript" {
246246
declare module "typescript" {
247247
var optionDeclarations: CommandLineOption[];
248248
function parseCommandLine(commandLine: string[]): ParsedCommandLine;
249-
function readConfigFile(filename: string): any;
249+
function readConfigFile(fileName: string): any;
250250
function parseConfigFile(json: any, basePath?: string): ParsedCommandLine;
251251
}
252252
declare module "typescript" {

src/compiler/binder.ts

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/// <reference path="parser.ts"/>
22

33
module ts {
4+
/* @internal */ export var bindTime = 0;
5+
46
export const enum ModuleInstanceState {
57
NonInstantiated = 0,
68
Instantiated = 1,
@@ -60,8 +62,13 @@ module ts {
6062
return declaration.name && declaration.name.kind === SyntaxKind.ComputedPropertyName;
6163
}
6264

63-
export function bindSourceFile(file: SourceFile) {
65+
export function bindSourceFile(file: SourceFile): void {
66+
var start = new Date().getTime();
67+
bindSourceFileWorker(file);
68+
bindTime += new Date().getTime() - start;
69+
}
6470

71+
function bindSourceFileWorker(file: SourceFile): void {
6572
var parent: Node;
6673
var container: Node;
6774
var blockScopeContainer: Node;
@@ -136,9 +143,9 @@ module ts {
136143
: Diagnostics.Duplicate_identifier_0;
137144

138145
forEach(symbol.declarations, declaration => {
139-
file.semanticDiagnostics.push(createDiagnosticForNode(declaration.name, message, getDisplayName(declaration)));
146+
file.bindDiagnostics.push(createDiagnosticForNode(declaration.name, message, getDisplayName(declaration)));
140147
});
141-
file.semanticDiagnostics.push(createDiagnosticForNode(node.name, message, getDisplayName(node)));
148+
file.bindDiagnostics.push(createDiagnosticForNode(node.name, message, getDisplayName(node)));
142149

143150
symbol = createSymbol(0, name);
144151
}
@@ -159,7 +166,7 @@ module ts {
159166
if (node.name) {
160167
node.name.parent = node;
161168
}
162-
file.semanticDiagnostics.push(createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0],
169+
file.bindDiagnostics.push(createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0],
163170
Diagnostics.Duplicate_identifier_0, prototypeSymbol.name));
164171
}
165172
symbol.exports[prototypeSymbol.name] = prototypeSymbol;

0 commit comments

Comments
 (0)