fix(ivy): update compiler to generate separate creation mode and update mode blocks (#23292)
PR Close #23292
This commit is contained in:

committed by
Victor Berchet

parent
de3ca56769
commit
0d516f1658
@ -566,12 +566,16 @@ class _NodeEmitterVisitor implements StatementVisitor, ExpressionVisitor {
|
||||
/* type */ undefined, this._visitStatements(expr.statements)));
|
||||
}
|
||||
|
||||
visitBinaryOperatorExpr(expr: BinaryOperatorExpr): RecordedNode<ts.ParenthesizedExpression> {
|
||||
visitBinaryOperatorExpr(expr: BinaryOperatorExpr):
|
||||
RecordedNode<ts.BinaryExpression|ts.ParenthesizedExpression> {
|
||||
let binaryOperator: ts.BinaryOperator;
|
||||
switch (expr.operator) {
|
||||
case BinaryOperator.And:
|
||||
binaryOperator = ts.SyntaxKind.AmpersandAmpersandToken;
|
||||
break;
|
||||
case BinaryOperator.BitwiseAnd:
|
||||
binaryOperator = ts.SyntaxKind.AmpersandToken;
|
||||
break;
|
||||
case BinaryOperator.Bigger:
|
||||
binaryOperator = ts.SyntaxKind.GreaterThanToken;
|
||||
break;
|
||||
@ -617,10 +621,9 @@ class _NodeEmitterVisitor implements StatementVisitor, ExpressionVisitor {
|
||||
default:
|
||||
throw new Error(`Unknown operator: ${expr.operator}`);
|
||||
}
|
||||
return this.record(
|
||||
expr, ts.createParen(ts.createBinary(
|
||||
expr.lhs.visitExpression(this, null), binaryOperator,
|
||||
expr.rhs.visitExpression(this, null))));
|
||||
const binary = ts.createBinary(
|
||||
expr.lhs.visitExpression(this, null), binaryOperator, expr.rhs.visitExpression(this, null));
|
||||
return this.record(expr, expr.parens ? ts.createParen(binary) : binary);
|
||||
}
|
||||
|
||||
visitReadPropExpr(expr: ReadPropExpr): RecordedNode<ts.PropertyAccessExpression> {
|
||||
|
Reference in New Issue
Block a user