mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-11 01:34:55 -06:00
Update LKG
This commit is contained in:
parent
2c0e966105
commit
4f783761c2
47
lib/tsc.js
47
lib/tsc.js
@ -73480,6 +73480,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213:
|
||||
return visitBinaryExpression(node);
|
||||
case 332:
|
||||
return visitCommaListExpression(node);
|
||||
case 214:
|
||||
return visitConditionalExpression(node);
|
||||
case 216:
|
||||
@ -73671,20 +73673,6 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
function visitLogicalBinaryExpression(node) {
|
||||
var resultLabel = defineLabel();
|
||||
var resultLocal = declareLocal();
|
||||
emitAssignment(resultLocal, ts.visitNode(node.left, visitor, ts.isExpression), node.left);
|
||||
if (node.operatorToken.kind === 55) {
|
||||
emitBreakWhenFalse(resultLabel, resultLocal, node.left);
|
||||
}
|
||||
else {
|
||||
emitBreakWhenTrue(resultLabel, resultLocal, node.left);
|
||||
}
|
||||
emitAssignment(resultLocal, ts.visitNode(node.right, visitor, ts.isExpression), node.right);
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
function visitCommaExpression(node) {
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
@ -73704,6 +73692,37 @@ var ts;
|
||||
}
|
||||
}
|
||||
}
|
||||
function visitCommaListExpression(node) {
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
function visitLogicalBinaryExpression(node) {
|
||||
var resultLabel = defineLabel();
|
||||
var resultLocal = declareLocal();
|
||||
emitAssignment(resultLocal, ts.visitNode(node.left, visitor, ts.isExpression), node.left);
|
||||
if (node.operatorToken.kind === 55) {
|
||||
emitBreakWhenFalse(resultLabel, resultLocal, node.left);
|
||||
}
|
||||
else {
|
||||
emitBreakWhenTrue(resultLabel, resultLocal, node.left);
|
||||
}
|
||||
emitAssignment(resultLocal, ts.visitNode(node.right, visitor, ts.isExpression), node.right);
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
function visitConditionalExpression(node) {
|
||||
if (containsYield(node.whenTrue) || containsYield(node.whenFalse)) {
|
||||
var whenFalseLabel = defineLabel();
|
||||
|
||||
@ -89418,6 +89418,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213 /* BinaryExpression */:
|
||||
return visitBinaryExpression(node);
|
||||
case 332 /* CommaListExpression */:
|
||||
return visitCommaListExpression(node);
|
||||
case 214 /* ConditionalExpression */:
|
||||
return visitConditionalExpression(node);
|
||||
case 216 /* YieldExpression */:
|
||||
@ -89712,6 +89714,61 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a comma-list expression.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaListExpression(node) {
|
||||
// flattened version of `visitCommaExpression`
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
/**
|
||||
* Visits a logical binary expression containing `yield`.
|
||||
*
|
||||
@ -89761,38 +89818,6 @@ var ts;
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a conditional expression containing `yield`.
|
||||
*
|
||||
|
||||
@ -89612,6 +89612,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213 /* BinaryExpression */:
|
||||
return visitBinaryExpression(node);
|
||||
case 332 /* CommaListExpression */:
|
||||
return visitCommaListExpression(node);
|
||||
case 214 /* ConditionalExpression */:
|
||||
return visitConditionalExpression(node);
|
||||
case 216 /* YieldExpression */:
|
||||
@ -89906,6 +89908,61 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a comma-list expression.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaListExpression(node) {
|
||||
// flattened version of `visitCommaExpression`
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
/**
|
||||
* Visits a logical binary expression containing `yield`.
|
||||
*
|
||||
@ -89955,38 +90012,6 @@ var ts;
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a conditional expression containing `yield`.
|
||||
*
|
||||
|
||||
@ -89612,6 +89612,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213 /* BinaryExpression */:
|
||||
return visitBinaryExpression(node);
|
||||
case 332 /* CommaListExpression */:
|
||||
return visitCommaListExpression(node);
|
||||
case 214 /* ConditionalExpression */:
|
||||
return visitConditionalExpression(node);
|
||||
case 216 /* YieldExpression */:
|
||||
@ -89906,6 +89908,61 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a comma-list expression.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaListExpression(node) {
|
||||
// flattened version of `visitCommaExpression`
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
/**
|
||||
* Visits a logical binary expression containing `yield`.
|
||||
*
|
||||
@ -89955,38 +90012,6 @@ var ts;
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a conditional expression containing `yield`.
|
||||
*
|
||||
|
||||
@ -89612,6 +89612,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213 /* BinaryExpression */:
|
||||
return visitBinaryExpression(node);
|
||||
case 332 /* CommaListExpression */:
|
||||
return visitCommaListExpression(node);
|
||||
case 214 /* ConditionalExpression */:
|
||||
return visitConditionalExpression(node);
|
||||
case 216 /* YieldExpression */:
|
||||
@ -89906,6 +89908,61 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a comma-list expression.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaListExpression(node) {
|
||||
// flattened version of `visitCommaExpression`
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
/**
|
||||
* Visits a logical binary expression containing `yield`.
|
||||
*
|
||||
@ -89955,38 +90012,6 @@ var ts;
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a conditional expression containing `yield`.
|
||||
*
|
||||
|
||||
@ -89407,6 +89407,8 @@ var ts;
|
||||
switch (node.kind) {
|
||||
case 213 /* BinaryExpression */:
|
||||
return visitBinaryExpression(node);
|
||||
case 332 /* CommaListExpression */:
|
||||
return visitCommaListExpression(node);
|
||||
case 214 /* ConditionalExpression */:
|
||||
return visitConditionalExpression(node);
|
||||
case 216 /* YieldExpression */:
|
||||
@ -89701,6 +89703,61 @@ var ts;
|
||||
}
|
||||
return ts.visitEachChild(node, visitor, context);
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a comma-list expression.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaListExpression(node) {
|
||||
// flattened version of `visitCommaExpression`
|
||||
var pendingExpressions = [];
|
||||
for (var _i = 0, _a = node.elements; _i < _a.length; _i++) {
|
||||
var elem = _a[_i];
|
||||
if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) {
|
||||
pendingExpressions.push(visitCommaExpression(elem));
|
||||
}
|
||||
else {
|
||||
if (containsYield(elem) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
}
|
||||
/**
|
||||
* Visits a logical binary expression containing `yield`.
|
||||
*
|
||||
@ -89750,38 +89807,6 @@ var ts;
|
||||
markLabel(resultLabel);
|
||||
return resultLocal;
|
||||
}
|
||||
/**
|
||||
* Visits a comma expression containing `yield`.
|
||||
*
|
||||
* @param node The node to visit.
|
||||
*/
|
||||
function visitCommaExpression(node) {
|
||||
// [source]
|
||||
// x = a(), yield, b();
|
||||
//
|
||||
// [intermediate]
|
||||
// a();
|
||||
// .yield resumeLabel
|
||||
// .mark resumeLabel
|
||||
// x = %sent%, b();
|
||||
var pendingExpressions = [];
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
return factory.inlineExpressions(pendingExpressions);
|
||||
function visit(node) {
|
||||
if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) {
|
||||
visit(node.left);
|
||||
visit(node.right);
|
||||
}
|
||||
else {
|
||||
if (containsYield(node) && pendingExpressions.length > 0) {
|
||||
emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]);
|
||||
pendingExpressions = [];
|
||||
}
|
||||
pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Visits a conditional expression containing `yield`.
|
||||
*
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user