Skip to content

Commit 2eb5dea

Browse files
author
TypeScript Bot
committed
Update LKG
1 parent 1dde4bb commit 2eb5dea

File tree

6 files changed

+86
-46
lines changed

6 files changed

+86
-46
lines changed

lib/tsc.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3836,6 +3836,8 @@ var ts;
38363836
return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
38373837
}
38383838
function fileSystemEntryExists(path, entryKind) {
3839+
var originalStackTraceLimit = Error.stackTraceLimit;
3840+
Error.stackTraceLimit = 0;
38393841
try {
38403842
var stat = _fs.statSync(path);
38413843
switch (entryKind) {
@@ -3847,6 +3849,9 @@ var ts;
38473849
catch (e) {
38483850
return false;
38493851
}
3852+
finally {
3853+
Error.stackTraceLimit = originalStackTraceLimit;
3854+
}
38503855
}
38513856
function fileExists(path) {
38523857
return fileSystemEntryExists(path, 0);
@@ -58916,13 +58921,10 @@ var ts;
5891658921
function checkTupleType(node) {
5891758922
var elementTypes = node.elements;
5891858923
var seenOptionalElement = false;
58919-
var seenNamedElement = false;
58924+
var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember);
5892058925
for (var i = 0; i < elementTypes.length; i++) {
5892158926
var e = elementTypes[i];
58922-
if (e.kind === 191) {
58923-
seenNamedElement = true;
58924-
}
58925-
else if (seenNamedElement) {
58927+
if (e.kind !== 191 && hasNamedElement) {
5892658928
grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
5892758929
break;
5892858930
}

lib/tsserver.js

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6174,6 +6174,10 @@ var ts;
61746174
return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
61756175
}
61766176
function fileSystemEntryExists(path, entryKind) {
6177+
// Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve
6178+
// the CPU time performance.
6179+
var originalStackTraceLimit = Error.stackTraceLimit;
6180+
Error.stackTraceLimit = 0;
61776181
try {
61786182
var stat = _fs.statSync(path);
61796183
switch (entryKind) {
@@ -6185,6 +6189,9 @@ var ts;
61856189
catch (e) {
61866190
return false;
61876191
}
6192+
finally {
6193+
Error.stackTraceLimit = originalStackTraceLimit;
6194+
}
61886195
}
61896196
function fileExists(path) {
61906197
return fileSystemEntryExists(path, 0 /* File */);
@@ -70542,13 +70549,10 @@ var ts;
7054270549
function checkTupleType(node) {
7054370550
var elementTypes = node.elements;
7054470551
var seenOptionalElement = false;
70545-
var seenNamedElement = false;
70552+
var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember);
7054670553
for (var i = 0; i < elementTypes.length; i++) {
7054770554
var e = elementTypes[i];
70548-
if (e.kind === 191 /* NamedTupleMember */) {
70549-
seenNamedElement = true;
70550-
}
70551-
else if (seenNamedElement) {
70555+
if (e.kind !== 191 /* NamedTupleMember */ && hasNamedElement) {
7055270556
grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
7055370557
break;
7055470558
}
@@ -112398,7 +112402,10 @@ var ts;
112398112402
var newImport = sortedNewImports_1[_i];
112399112403
var insertionIndex = ts.OrganizeImports.getImportDeclarationInsertionIndex(existingImportStatements, newImport);
112400112404
if (insertionIndex === 0) {
112401-
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false);
112405+
// If the first import is top-of-file, insert after the leading comment which is likely the header.
112406+
var options = existingImportStatements[0] === sourceFile.statements[0] ?
112407+
{ leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude } : {};
112408+
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false, options);
112402112409
}
112403112410
else {
112404112411
var prevImport = existingImportStatements[insertionIndex - 1];
@@ -129526,9 +129533,10 @@ var ts;
129526129533
this.insertNodeAt(sourceFile, parameters.pos, newParam);
129527129534
}
129528129535
};
129529-
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween) {
129536+
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween, options) {
129530129537
if (blankLineBetween === void 0) { blankLineBetween = false; }
129531-
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, {}), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
129538+
if (options === void 0) { options = {}; }
129539+
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, options), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
129532129540
};
129533129541
ChangeTracker.prototype.insertModifierBefore = function (sourceFile, modifier, before) {
129534129542
var pos = before.getStart(sourceFile);
@@ -133396,7 +133404,7 @@ var ts;
133396133404
else if (existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) {
133397133405
for (var _b = 0, newSpecifiers_2 = newSpecifiers; _b < newSpecifiers_2.length; _b++) {
133398133406
var spec = newSpecifiers_2[_b];
133399-
changes.insertNodeAtEndOfList(sourceFile, existingSpecifiers, spec);
133407+
changes.insertNodeInListAfter(sourceFile, ts.last(existingSpecifiers), spec, existingSpecifiers);
133400133408
}
133401133409
}
133402133410
else {
@@ -154869,6 +154877,7 @@ var ts;
154869154877
kind: item.kind,
154870154878
kindModifiers: item.kindModifiers,
154871154879
file: item.file,
154880+
containerName: item.containerName,
154872154881
span: toProtocolTextSpan(item.span, scriptInfo),
154873154882
selectionSpan: toProtocolTextSpan(item.selectionSpan, scriptInfo)
154874154883
};

lib/tsserverlibrary.js

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6368,6 +6368,10 @@ var ts;
63686368
return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
63696369
}
63706370
function fileSystemEntryExists(path, entryKind) {
6371+
// Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve
6372+
// the CPU time performance.
6373+
var originalStackTraceLimit = Error.stackTraceLimit;
6374+
Error.stackTraceLimit = 0;
63716375
try {
63726376
var stat = _fs.statSync(path);
63736377
switch (entryKind) {
@@ -6379,6 +6383,9 @@ var ts;
63796383
catch (e) {
63806384
return false;
63816385
}
6386+
finally {
6387+
Error.stackTraceLimit = originalStackTraceLimit;
6388+
}
63826389
}
63836390
function fileExists(path) {
63846391
return fileSystemEntryExists(path, 0 /* File */);
@@ -70736,13 +70743,10 @@ var ts;
7073670743
function checkTupleType(node) {
7073770744
var elementTypes = node.elements;
7073870745
var seenOptionalElement = false;
70739-
var seenNamedElement = false;
70746+
var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember);
7074070747
for (var i = 0; i < elementTypes.length; i++) {
7074170748
var e = elementTypes[i];
70742-
if (e.kind === 191 /* NamedTupleMember */) {
70743-
seenNamedElement = true;
70744-
}
70745-
else if (seenNamedElement) {
70749+
if (e.kind !== 191 /* NamedTupleMember */ && hasNamedElement) {
7074670750
grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
7074770751
break;
7074870752
}
@@ -112965,7 +112969,10 @@ var ts;
112965112969
var newImport = sortedNewImports_1[_i];
112966112970
var insertionIndex = ts.OrganizeImports.getImportDeclarationInsertionIndex(existingImportStatements, newImport);
112967112971
if (insertionIndex === 0) {
112968-
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false);
112972+
// If the first import is top-of-file, insert after the leading comment which is likely the header.
112973+
var options = existingImportStatements[0] === sourceFile.statements[0] ?
112974+
{ leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude } : {};
112975+
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false, options);
112969112976
}
112970112977
else {
112971112978
var prevImport = existingImportStatements[insertionIndex - 1];
@@ -130093,9 +130100,10 @@ var ts;
130093130100
this.insertNodeAt(sourceFile, parameters.pos, newParam);
130094130101
}
130095130102
};
130096-
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween) {
130103+
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween, options) {
130097130104
if (blankLineBetween === void 0) { blankLineBetween = false; }
130098-
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, {}), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130105+
if (options === void 0) { options = {}; }
130106+
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, options), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130099130107
};
130100130108
ChangeTracker.prototype.insertModifierBefore = function (sourceFile, modifier, before) {
130101130109
var pos = before.getStart(sourceFile);
@@ -133963,7 +133971,7 @@ var ts;
133963133971
else if (existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) {
133964133972
for (var _b = 0, newSpecifiers_2 = newSpecifiers; _b < newSpecifiers_2.length; _b++) {
133965133973
var spec = newSpecifiers_2[_b];
133966-
changes.insertNodeAtEndOfList(sourceFile, existingSpecifiers, spec);
133974+
changes.insertNodeInListAfter(sourceFile, ts.last(existingSpecifiers), spec, existingSpecifiers);
133967133975
}
133968133976
}
133969133977
else {
@@ -155063,6 +155071,7 @@ var ts;
155063155071
kind: item.kind,
155064155072
kindModifiers: item.kindModifiers,
155065155073
file: item.file,
155074+
containerName: item.containerName,
155066155075
span: toProtocolTextSpan(item.span, scriptInfo),
155067155076
selectionSpan: toProtocolTextSpan(item.selectionSpan, scriptInfo)
155068155077
};

lib/typescript.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6368,6 +6368,10 @@ var ts;
63686368
return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
63696369
}
63706370
function fileSystemEntryExists(path, entryKind) {
6371+
// Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve
6372+
// the CPU time performance.
6373+
var originalStackTraceLimit = Error.stackTraceLimit;
6374+
Error.stackTraceLimit = 0;
63716375
try {
63726376
var stat = _fs.statSync(path);
63736377
switch (entryKind) {
@@ -6379,6 +6383,9 @@ var ts;
63796383
catch (e) {
63806384
return false;
63816385
}
6386+
finally {
6387+
Error.stackTraceLimit = originalStackTraceLimit;
6388+
}
63826389
}
63836390
function fileExists(path) {
63846391
return fileSystemEntryExists(path, 0 /* File */);
@@ -70736,13 +70743,10 @@ var ts;
7073670743
function checkTupleType(node) {
7073770744
var elementTypes = node.elements;
7073870745
var seenOptionalElement = false;
70739-
var seenNamedElement = false;
70746+
var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember);
7074070747
for (var i = 0; i < elementTypes.length; i++) {
7074170748
var e = elementTypes[i];
70742-
if (e.kind === 191 /* NamedTupleMember */) {
70743-
seenNamedElement = true;
70744-
}
70745-
else if (seenNamedElement) {
70749+
if (e.kind !== 191 /* NamedTupleMember */ && hasNamedElement) {
7074670750
grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
7074770751
break;
7074870752
}
@@ -112965,7 +112969,10 @@ var ts;
112965112969
var newImport = sortedNewImports_1[_i];
112966112970
var insertionIndex = ts.OrganizeImports.getImportDeclarationInsertionIndex(existingImportStatements, newImport);
112967112971
if (insertionIndex === 0) {
112968-
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false);
112972+
// If the first import is top-of-file, insert after the leading comment which is likely the header.
112973+
var options = existingImportStatements[0] === sourceFile.statements[0] ?
112974+
{ leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude } : {};
112975+
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false, options);
112969112976
}
112970112977
else {
112971112978
var prevImport = existingImportStatements[insertionIndex - 1];
@@ -130093,9 +130100,10 @@ var ts;
130093130100
this.insertNodeAt(sourceFile, parameters.pos, newParam);
130094130101
}
130095130102
};
130096-
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween) {
130103+
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween, options) {
130097130104
if (blankLineBetween === void 0) { blankLineBetween = false; }
130098-
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, {}), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130105+
if (options === void 0) { options = {}; }
130106+
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, options), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130099130107
};
130100130108
ChangeTracker.prototype.insertModifierBefore = function (sourceFile, modifier, before) {
130101130109
var pos = before.getStart(sourceFile);
@@ -133963,7 +133971,7 @@ var ts;
133963133971
else if (existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) {
133964133972
for (var _b = 0, newSpecifiers_2 = newSpecifiers; _b < newSpecifiers_2.length; _b++) {
133965133973
var spec = newSpecifiers_2[_b];
133966-
changes.insertNodeAtEndOfList(sourceFile, existingSpecifiers, spec);
133974+
changes.insertNodeInListAfter(sourceFile, ts.last(existingSpecifiers), spec, existingSpecifiers);
133967133975
}
133968133976
}
133969133977
else {

lib/typescriptServices.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6368,6 +6368,10 @@ var ts;
63686368
return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
63696369
}
63706370
function fileSystemEntryExists(path, entryKind) {
6371+
// Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve
6372+
// the CPU time performance.
6373+
var originalStackTraceLimit = Error.stackTraceLimit;
6374+
Error.stackTraceLimit = 0;
63716375
try {
63726376
var stat = _fs.statSync(path);
63736377
switch (entryKind) {
@@ -6379,6 +6383,9 @@ var ts;
63796383
catch (e) {
63806384
return false;
63816385
}
6386+
finally {
6387+
Error.stackTraceLimit = originalStackTraceLimit;
6388+
}
63826389
}
63836390
function fileExists(path) {
63846391
return fileSystemEntryExists(path, 0 /* File */);
@@ -70736,13 +70743,10 @@ var ts;
7073670743
function checkTupleType(node) {
7073770744
var elementTypes = node.elements;
7073870745
var seenOptionalElement = false;
70739-
var seenNamedElement = false;
70746+
var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember);
7074070747
for (var i = 0; i < elementTypes.length; i++) {
7074170748
var e = elementTypes[i];
70742-
if (e.kind === 191 /* NamedTupleMember */) {
70743-
seenNamedElement = true;
70744-
}
70745-
else if (seenNamedElement) {
70749+
if (e.kind !== 191 /* NamedTupleMember */ && hasNamedElement) {
7074670750
grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
7074770751
break;
7074870752
}
@@ -112965,7 +112969,10 @@ var ts;
112965112969
var newImport = sortedNewImports_1[_i];
112966112970
var insertionIndex = ts.OrganizeImports.getImportDeclarationInsertionIndex(existingImportStatements, newImport);
112967112971
if (insertionIndex === 0) {
112968-
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false);
112972+
// If the first import is top-of-file, insert after the leading comment which is likely the header.
112973+
var options = existingImportStatements[0] === sourceFile.statements[0] ?
112974+
{ leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude } : {};
112975+
changes.insertNodeBefore(sourceFile, existingImportStatements[0], newImport, /*blankLineBetween*/ false, options);
112969112976
}
112970112977
else {
112971112978
var prevImport = existingImportStatements[insertionIndex - 1];
@@ -130093,9 +130100,10 @@ var ts;
130093130100
this.insertNodeAt(sourceFile, parameters.pos, newParam);
130094130101
}
130095130102
};
130096-
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween) {
130103+
ChangeTracker.prototype.insertNodeBefore = function (sourceFile, before, newNode, blankLineBetween, options) {
130097130104
if (blankLineBetween === void 0) { blankLineBetween = false; }
130098-
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, {}), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130105+
if (options === void 0) { options = {}; }
130106+
this.insertNodeAt(sourceFile, getAdjustedStartPosition(sourceFile, before, options), newNode, this.getOptionsForInsertNodeBefore(before, newNode, blankLineBetween));
130099130107
};
130100130108
ChangeTracker.prototype.insertModifierBefore = function (sourceFile, modifier, before) {
130101130109
var pos = before.getStart(sourceFile);
@@ -133963,7 +133971,7 @@ var ts;
133963133971
else if (existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) {
133964133972
for (var _b = 0, newSpecifiers_2 = newSpecifiers; _b < newSpecifiers_2.length; _b++) {
133965133973
var spec = newSpecifiers_2[_b];
133966-
changes.insertNodeAtEndOfList(sourceFile, existingSpecifiers, spec);
133974+
changes.insertNodeInListAfter(sourceFile, ts.last(existingSpecifiers), spec, existingSpecifiers);
133967133975
}
133968133976
}
133969133977
else {

0 commit comments

Comments
 (0)