Skip to content

Commit 4f78376

Browse files
Update LKG
1 parent 2c0e966 commit 4f78376

File tree

6 files changed

+318
-174
lines changed

6 files changed

+318
-174
lines changed

lib/tsc.js

+33-14
Original file line numberDiff line numberDiff line change
@@ -73480,6 +73480,8 @@ var ts;
7348073480
switch (node.kind) {
7348173481
case 213:
7348273482
return visitBinaryExpression(node);
73483+
case 332:
73484+
return visitCommaListExpression(node);
7348373485
case 214:
7348473486
return visitConditionalExpression(node);
7348573487
case 216:
@@ -73671,20 +73673,6 @@ var ts;
7367173673
}
7367273674
return ts.visitEachChild(node, visitor, context);
7367373675
}
73674-
function visitLogicalBinaryExpression(node) {
73675-
var resultLabel = defineLabel();
73676-
var resultLocal = declareLocal();
73677-
emitAssignment(resultLocal, ts.visitNode(node.left, visitor, ts.isExpression), node.left);
73678-
if (node.operatorToken.kind === 55) {
73679-
emitBreakWhenFalse(resultLabel, resultLocal, node.left);
73680-
}
73681-
else {
73682-
emitBreakWhenTrue(resultLabel, resultLocal, node.left);
73683-
}
73684-
emitAssignment(resultLocal, ts.visitNode(node.right, visitor, ts.isExpression), node.right);
73685-
markLabel(resultLabel);
73686-
return resultLocal;
73687-
}
7368873676
function visitCommaExpression(node) {
7368973677
var pendingExpressions = [];
7369073678
visit(node.left);
@@ -73704,6 +73692,37 @@ var ts;
7370473692
}
7370573693
}
7370673694
}
73695+
function visitCommaListExpression(node) {
73696+
var pendingExpressions = [];
73697+
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
73698+
var elem = _a[_i];
73699+
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27) {
73700+
pendingExpressions.push(visitCommaExpression(elem));
73701+
}
73702+
else {
73703+
if (containsYield(elem) && pendingExpressions.length > 0) {
73704+
emitWorker(1, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
73705+
pendingExpressions = [];
73706+
}
73707+
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
73708+
}
73709+
}
73710+
return factory.inlineExpressions(pendingExpressions);
73711+
}
73712+
function visitLogicalBinaryExpression(node) {
73713+
var resultLabel = defineLabel();
73714+
var resultLocal = declareLocal();
73715+
emitAssignment(resultLocal, ts.visitNode(node.left, visitor, ts.isExpression), node.left);
73716+
if (node.operatorToken.kind === 55) {
73717+
emitBreakWhenFalse(resultLabel, resultLocal, node.left);
73718+
}
73719+
else {
73720+
emitBreakWhenTrue(resultLabel, resultLocal, node.left);
73721+
}
73722+
emitAssignment(resultLocal, ts.visitNode(node.right, visitor, ts.isExpression), node.right);
73723+
markLabel(resultLabel);
73724+
return resultLocal;
73725+
}
7370773726
function visitConditionalExpression(node) {
7370873727
if (containsYield(node.whenTrue) || containsYield(node.whenFalse)) {
7370973728
var whenFalseLabel = defineLabel();

lib/tsserver.js

+57-32
Original file line numberDiff line numberDiff line change
@@ -89418,6 +89418,8 @@ var ts;
8941889418
switch (node.kind) {
8941989419
case 213 /* BinaryExpression */:
8942089420
return visitBinaryExpression(node);
89421+
case 332 /* CommaListExpression */:
89422+
return visitCommaListExpression(node);
8942189423
case 214 /* ConditionalExpression */:
8942289424
return visitConditionalExpression(node);
8942389425
case 216 /* YieldExpression */:
@@ -89712,6 +89714,61 @@ var ts;
8971289714
}
8971389715
return ts.visitEachChild(node, visitor, context);
8971489716
}
89717+
/**
89718+
* Visits a comma expression containing `yield`.
89719+
*
89720+
* @param node The node to visit.
89721+
*/
89722+
function visitCommaExpression(node) {
89723+
// [source]
89724+
// x = a(), yield, b();
89725+
//
89726+
// [intermediate]
89727+
// a();
89728+
// .yield resumeLabel
89729+
// .mark resumeLabel
89730+
// x = %sent%, b();
89731+
var pendingExpressions = [];
89732+
visit(node.left);
89733+
visit(node.right);
89734+
return factory.inlineExpressions(pendingExpressions);
89735+
function visit(node) {
89736+
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89737+
visit(node.left);
89738+
visit(node.right);
89739+
}
89740+
else {
89741+
if (containsYield(node) && pendingExpressions.length > 0) {
89742+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89743+
pendingExpressions = [];
89744+
}
89745+
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89746+
}
89747+
}
89748+
}
89749+
/**
89750+
* Visits a comma-list expression.
89751+
*
89752+
* @param node The node to visit.
89753+
*/
89754+
function visitCommaListExpression(node) {
89755+
// flattened version of `visitCommaExpression`
89756+
var pendingExpressions = [];
89757+
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
89758+
var elem = _a[_i];
89759+
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
89760+
pendingExpressions.push(visitCommaExpression(elem));
89761+
}
89762+
else {
89763+
if (containsYield(elem) && pendingExpressions.length > 0) {
89764+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89765+
pendingExpressions = [];
89766+
}
89767+
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
89768+
}
89769+
}
89770+
return factory.inlineExpressions(pendingExpressions);
89771+
}
8971589772
/**
8971689773
* Visits a logical binary expression containing `yield`.
8971789774
*
@@ -89761,38 +89818,6 @@ var ts;
8976189818
markLabel(resultLabel);
8976289819
return resultLocal;
8976389820
}
89764-
/**
89765-
* Visits a comma expression containing `yield`.
89766-
*
89767-
* @param node The node to visit.
89768-
*/
89769-
function visitCommaExpression(node) {
89770-
// [source]
89771-
// x = a(), yield, b();
89772-
//
89773-
// [intermediate]
89774-
// a();
89775-
// .yield resumeLabel
89776-
// .mark resumeLabel
89777-
// x = %sent%, b();
89778-
var pendingExpressions = [];
89779-
visit(node.left);
89780-
visit(node.right);
89781-
return factory.inlineExpressions(pendingExpressions);
89782-
function visit(node) {
89783-
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89784-
visit(node.left);
89785-
visit(node.right);
89786-
}
89787-
else {
89788-
if (containsYield(node) && pendingExpressions.length > 0) {
89789-
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89790-
pendingExpressions = [];
89791-
}
89792-
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89793-
}
89794-
}
89795-
}
8979689821
/**
8979789822
* Visits a conditional expression containing `yield`.
8979889823
*

lib/tsserverlibrary.js

+57-32
Original file line numberDiff line numberDiff line change
@@ -89612,6 +89612,8 @@ var ts;
8961289612
switch (node.kind) {
8961389613
case 213 /* BinaryExpression */:
8961489614
return visitBinaryExpression(node);
89615+
case 332 /* CommaListExpression */:
89616+
return visitCommaListExpression(node);
8961589617
case 214 /* ConditionalExpression */:
8961689618
return visitConditionalExpression(node);
8961789619
case 216 /* YieldExpression */:
@@ -89906,6 +89908,61 @@ var ts;
8990689908
}
8990789909
return ts.visitEachChild(node, visitor, context);
8990889910
}
89911+
/**
89912+
* Visits a comma expression containing `yield`.
89913+
*
89914+
* @param node The node to visit.
89915+
*/
89916+
function visitCommaExpression(node) {
89917+
// [source]
89918+
// x = a(), yield, b();
89919+
//
89920+
// [intermediate]
89921+
// a();
89922+
// .yield resumeLabel
89923+
// .mark resumeLabel
89924+
// x = %sent%, b();
89925+
var pendingExpressions = [];
89926+
visit(node.left);
89927+
visit(node.right);
89928+
return factory.inlineExpressions(pendingExpressions);
89929+
function visit(node) {
89930+
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89931+
visit(node.left);
89932+
visit(node.right);
89933+
}
89934+
else {
89935+
if (containsYield(node) && pendingExpressions.length > 0) {
89936+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89937+
pendingExpressions = [];
89938+
}
89939+
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89940+
}
89941+
}
89942+
}
89943+
/**
89944+
* Visits a comma-list expression.
89945+
*
89946+
* @param node The node to visit.
89947+
*/
89948+
function visitCommaListExpression(node) {
89949+
// flattened version of `visitCommaExpression`
89950+
var pendingExpressions = [];
89951+
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
89952+
var elem = _a[_i];
89953+
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
89954+
pendingExpressions.push(visitCommaExpression(elem));
89955+
}
89956+
else {
89957+
if (containsYield(elem) && pendingExpressions.length > 0) {
89958+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89959+
pendingExpressions = [];
89960+
}
89961+
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
89962+
}
89963+
}
89964+
return factory.inlineExpressions(pendingExpressions);
89965+
}
8990989966
/**
8991089967
* Visits a logical binary expression containing `yield`.
8991189968
*
@@ -89955,38 +90012,6 @@ var ts;
8995590012
markLabel(resultLabel);
8995690013
return resultLocal;
8995790014
}
89958-
/**
89959-
* Visits a comma expression containing `yield`.
89960-
*
89961-
* @param node The node to visit.
89962-
*/
89963-
function visitCommaExpression(node) {
89964-
// [source]
89965-
// x = a(), yield, b();
89966-
//
89967-
// [intermediate]
89968-
// a();
89969-
// .yield resumeLabel
89970-
// .mark resumeLabel
89971-
// x = %sent%, b();
89972-
var pendingExpressions = [];
89973-
visit(node.left);
89974-
visit(node.right);
89975-
return factory.inlineExpressions(pendingExpressions);
89976-
function visit(node) {
89977-
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89978-
visit(node.left);
89979-
visit(node.right);
89980-
}
89981-
else {
89982-
if (containsYield(node) && pendingExpressions.length > 0) {
89983-
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89984-
pendingExpressions = [];
89985-
}
89986-
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89987-
}
89988-
}
89989-
}
8999090015
/**
8999190016
* Visits a conditional expression containing `yield`.
8999290017
*

lib/typescript.js

+57-32
Original file line numberDiff line numberDiff line change
@@ -89612,6 +89612,8 @@ var ts;
8961289612
switch (node.kind) {
8961389613
case 213 /* BinaryExpression */:
8961489614
return visitBinaryExpression(node);
89615+
case 332 /* CommaListExpression */:
89616+
return visitCommaListExpression(node);
8961589617
case 214 /* ConditionalExpression */:
8961689618
return visitConditionalExpression(node);
8961789619
case 216 /* YieldExpression */:
@@ -89906,6 +89908,61 @@ var ts;
8990689908
}
8990789909
return ts.visitEachChild(node, visitor, context);
8990889910
}
89911+
/**
89912+
* Visits a comma expression containing `yield`.
89913+
*
89914+
* @param node The node to visit.
89915+
*/
89916+
function visitCommaExpression(node) {
89917+
// [source]
89918+
// x = a(), yield, b();
89919+
//
89920+
// [intermediate]
89921+
// a();
89922+
// .yield resumeLabel
89923+
// .mark resumeLabel
89924+
// x = %sent%, b();
89925+
var pendingExpressions = [];
89926+
visit(node.left);
89927+
visit(node.right);
89928+
return factory.inlineExpressions(pendingExpressions);
89929+
function visit(node) {
89930+
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89931+
visit(node.left);
89932+
visit(node.right);
89933+
}
89934+
else {
89935+
if (containsYield(node) && pendingExpressions.length > 0) {
89936+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89937+
pendingExpressions = [];
89938+
}
89939+
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89940+
}
89941+
}
89942+
}
89943+
/**
89944+
* Visits a comma-list expression.
89945+
*
89946+
* @param node The node to visit.
89947+
*/
89948+
function visitCommaListExpression(node) {
89949+
// flattened version of `visitCommaExpression`
89950+
var pendingExpressions = [];
89951+
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
89952+
var elem = _a[_i];
89953+
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
89954+
pendingExpressions.push(visitCommaExpression(elem));
89955+
}
89956+
else {
89957+
if (containsYield(elem) && pendingExpressions.length > 0) {
89958+
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89959+
pendingExpressions = [];
89960+
}
89961+
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
89962+
}
89963+
}
89964+
return factory.inlineExpressions(pendingExpressions);
89965+
}
8990989966
/**
8991089967
* Visits a logical binary expression containing `yield`.
8991189968
*
@@ -89955,38 +90012,6 @@ var ts;
8995590012
markLabel(resultLabel);
8995690013
return resultLocal;
8995790014
}
89958-
/**
89959-
* Visits a comma expression containing `yield`.
89960-
*
89961-
* @param node The node to visit.
89962-
*/
89963-
function visitCommaExpression(node) {
89964-
// [source]
89965-
// x = a(), yield, b();
89966-
//
89967-
// [intermediate]
89968-
// a();
89969-
// .yield resumeLabel
89970-
// .mark resumeLabel
89971-
// x = %sent%, b();
89972-
var pendingExpressions = [];
89973-
visit(node.left);
89974-
visit(node.right);
89975-
return factory.inlineExpressions(pendingExpressions);
89976-
function visit(node) {
89977-
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
89978-
visit(node.left);
89979-
visit(node.right);
89980-
}
89981-
else {
89982-
if (containsYield(node) && pendingExpressions.length > 0) {
89983-
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
89984-
pendingExpressions = [];
89985-
}
89986-
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
89987-
}
89988-
}
89989-
}
8999090015
/**
8999190016
* Visits a conditional expression containing `yield`.
8999290017
*

0 commit comments

Comments
 (0)