Skip to content

Commit 0f16181

Browse files
committed
Merge branch 'master' into enum-number-assignability-in-unions
2 parents 9861c0f + 37d6ab3 commit 0f16181

File tree

2,343 files changed

+64534
-24013
lines changed

Some content is hidden

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

2,343 files changed

+64534
-24013
lines changed

Gulpfile.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ const gulp = helpMaker(originalGulp);
3939
const mochaParallel = require("./scripts/mocha-parallel.js");
4040
const {runTestsInParallel} = mochaParallel;
4141

42+
Error.stackTraceLimit = 1000;
43+
4244
const cmdLineOptions = minimist(process.argv.slice(2), {
4345
boolean: ["debug", "light", "colors", "lint", "soft"],
4446
string: ["browser", "tests", "host", "reporter"],
@@ -727,6 +729,7 @@ gulp.task("browserify", "Runs browserify on run.js to produce a file suitable fo
727729
sourcemaps: {
728730
"built/local/_stream_0.js": originalMap,
729731
"built/local/bundle.js": maps,
732+
"node_modules/source-map-support/source-map-support.js": undefined,
730733
}
731734
});
732735
const finalMap = chain.apply();

Jakefile.js

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,28 @@ var servicesSources = [
120120
].map(function (f) {
121121
return path.join(compilerDirectory, f);
122122
}).concat([
123+
"types.ts",
124+
"utilities.ts",
123125
"breakpoints.ts",
126+
"classifier.ts",
127+
"completions.ts",
128+
"documentHighlights.ts",
129+
"documentRegistry.ts",
130+
"findAllReferences.ts",
131+
"goToDefinition.ts",
132+
"jsDoc.ts",
133+
"jsTyping.ts",
124134
"navigateTo.ts",
125135
"navigationBar.ts",
126136
"outliningElementsCollector.ts",
127137
"patternMatcher.ts",
138+
"preProcess.ts",
139+
"rename.ts",
128140
"services.ts",
129141
"shims.ts",
130142
"signatureHelp.ts",
131-
"types.ts",
132-
"utilities.ts",
143+
"symbolDisplay.ts",
144+
"transpile.ts",
133145
"formatting/formatting.ts",
134146
"formatting/formattingContext.ts",
135147
"formatting/formattingRequestKind.ts",
@@ -992,15 +1004,18 @@ function acceptBaseline(containerFolder) {
9921004
var deleteEnding = '.delete';
9931005
for (var i in files) {
9941006
var filename = files[i];
995-
if (filename.substr(filename.length - deleteEnding.length) === deleteEnding) {
996-
filename = filename.substr(0, filename.length - deleteEnding.length);
997-
fs.unlinkSync(path.join(targetFolder, filename));
998-
} else {
999-
var target = path.join(targetFolder, filename);
1000-
if (fs.existsSync(target)) {
1001-
fs.unlinkSync(target);
1007+
var fullLocalPath = path.join(sourceFolder, filename);
1008+
if (fs.statSync(fullLocalPath).isFile()) {
1009+
if (filename.substr(filename.length - deleteEnding.length) === deleteEnding) {
1010+
filename = filename.substr(0, filename.length - deleteEnding.length);
1011+
fs.unlinkSync(path.join(targetFolder, filename));
1012+
} else {
1013+
var target = path.join(targetFolder, filename);
1014+
if (fs.existsSync(target)) {
1015+
fs.unlinkSync(target);
1016+
}
1017+
fs.renameSync(path.join(sourceFolder, filename), target);
10021018
}
1003-
fs.renameSync(path.join(sourceFolder, filename), target);
10041019
}
10051020
}
10061021
}

lib/lib.es2015.collection.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ interface Map<K, V> {
2020
forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
2121
get(key: K): V | undefined;
2222
has(key: K): boolean;
23-
set(key: K, value?: V): this;
23+
set(key: K, value: V): this;
2424
readonly size: number;
2525
}
2626

@@ -36,7 +36,7 @@ interface WeakMap<K, V> {
3636
delete(key: K): boolean;
3737
get(key: K): V | undefined;
3838
has(key: K): boolean;
39-
set(key: K, value?: V): this;
39+
set(key: K, value: V): this;
4040
}
4141

4242
interface WeakMapConstructor {

scripts/tslint/preferConstRule.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,16 @@ class PreferConstWalker extends Lint.RuleWalker {
9393

9494
private visitBindingPatternIdentifiers(pattern: ts.BindingPattern) {
9595
for (const element of pattern.elements) {
96-
if (element.name.kind === ts.SyntaxKind.Identifier) {
97-
this.markAssignment(element.name as ts.Identifier);
96+
if (element.kind !== ts.SyntaxKind.BindingElement) {
97+
continue;
98+
}
99+
100+
const name = (<ts.BindingElement>element).name;
101+
if (name.kind === ts.SyntaxKind.Identifier) {
102+
this.markAssignment(name as ts.Identifier);
98103
}
99104
else {
100-
this.visitBindingPatternIdentifiers(element.name as ts.BindingPattern);
105+
this.visitBindingPatternIdentifiers(name as ts.BindingPattern);
101106
}
102107
}
103108
}
@@ -191,7 +196,9 @@ class PreferConstWalker extends Lint.RuleWalker {
191196

192197
private collectBindingPatternIdentifiers(value: ts.VariableDeclaration, pattern: ts.BindingPattern, table: ts.MapLike<DeclarationUsages>) {
193198
for (const element of pattern.elements) {
194-
this.collectNameIdentifiers(value, element.name, table);
199+
if (element.kind === ts.SyntaxKind.BindingElement) {
200+
this.collectNameIdentifiers(value, (<ts.BindingElement>element).name, table);
201+
}
195202
}
196203
}
197204
}

src/compiler/binder.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,9 @@ namespace ts {
591591
case SyntaxKind.PrefixUnaryExpression:
592592
bindPrefixUnaryExpressionFlow(<PrefixUnaryExpression>node);
593593
break;
594+
case SyntaxKind.PostfixUnaryExpression:
595+
bindPostfixUnaryExpressionFlow(<PostfixUnaryExpression>node);
596+
break;
594597
case SyntaxKind.BinaryExpression:
595598
bindBinaryExpressionFlow(<BinaryExpression>node);
596599
break;
@@ -1106,6 +1109,16 @@ namespace ts {
11061109
}
11071110
else {
11081111
forEachChild(node, bind);
1112+
if (node.operator === SyntaxKind.PlusEqualsToken || node.operator === SyntaxKind.MinusMinusToken) {
1113+
bindAssignmentTargetFlow(node.operand);
1114+
}
1115+
}
1116+
}
1117+
1118+
function bindPostfixUnaryExpressionFlow(node: PostfixUnaryExpression) {
1119+
forEachChild(node, bind);
1120+
if (node.operator === SyntaxKind.PlusPlusToken || node.operator === SyntaxKind.MinusMinusToken) {
1121+
bindAssignmentTargetFlow(node.operand);
11091122
}
11101123
}
11111124

@@ -1150,8 +1163,8 @@ namespace ts {
11501163
currentFlow = finishFlowLabel(postExpressionLabel);
11511164
}
11521165

1153-
function bindInitializedVariableFlow(node: VariableDeclaration | BindingElement) {
1154-
const name = node.name;
1166+
function bindInitializedVariableFlow(node: VariableDeclaration | ArrayBindingElement) {
1167+
const name = !isOmittedExpression(node) ? node.name : undefined;
11551168
if (isBindingPattern(name)) {
11561169
for (const child of name.elements) {
11571170
bindInitializedVariableFlow(child);

0 commit comments

Comments
 (0)