Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Master] Make async-send an action #38245

Merged
merged 25 commits into from
Aug 15, 2023
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c6a3c28
Refactor BLangWorkerSend to work as expression
prakanth97 Oct 16, 2022
2026beb
Add type checker visitor for async send expr
prakanth97 Oct 17, 2022
0cf62eb
Update async send failed tests
prakanth97 Oct 17, 2022
f249ba3
Rename async send expr parameter to a proper name
prakanth97 Oct 17, 2022
c746f64
Fix async send expr variable assignment
prakanth97 Oct 17, 2022
23f2352
Fix import order style check
prakanth97 Oct 18, 2022
bebc91b
Correct variable assignable type check logic
prakanth97 Oct 18, 2022
d558080
Add tests for async send action as expression
prakanth97 Oct 18, 2022
30ac8dd
Delete WorkerSendNode
prakanth97 Oct 18, 2022
f7f9514
Merge branch 'master' of https://github.com/ballerina-platform/baller…
prakanth97 Oct 19, 2022
d40fecc
Refactor parameter name to match the type
prakanth97 Oct 25, 2022
927c764
Resolve merge conflicts
prakanth97 Oct 25, 2022
04eb025
Merge branch 'master' of https://github.com/ballerina-platform/baller…
prakanth97 Oct 31, 2022
40cc512
Remove unused visitor and code for async send expr
prakanth97 Nov 22, 2022
eee911c
Resolve merge conflicts
prakanth97 Nov 22, 2022
d396cb6
Correct formatting issue
prakanth97 Nov 23, 2022
f5cd7ef
Add mistakenly removed tests
prakanth97 Nov 23, 2022
fb0abc6
Remove unused code in start action transformer
prakanth97 Nov 24, 2022
7321edb
Merge branch 'master' of https://github.com/ballerina-platform/baller…
prakanth97 Apr 26, 2023
5cfd09b
Refactor variable
prakanth97 Apr 26, 2023
1de0d9e
Sync with master
prakanth97 Jun 19, 2023
f6f4167
Fix style check failure
prakanth97 Jun 19, 2023
4cef482
Separate send and return types of send action
prakanth97 Jun 20, 2023
00909f2
Add tests for async send action
prakanth97 Jun 20, 2023
e7f7f2c
Merge branch 'master' of https://github.com/ballerina-platform/baller…
prakanth97 Aug 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -185,7 +186,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode;
Expand Down Expand Up @@ -564,7 +564,7 @@ public void visit(BLangForkJoin forkJoin) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -179,7 +180,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangConstrainedType;
Expand Down Expand Up @@ -592,9 +592,9 @@ public void visit(BLangForkJoin forkJoin) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
lookupNode(workerSendNode.expr);
setEnclosingNode(workerSendNode, workerSendNode.workerIdentifier.pos);
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
lookupNode(asyncSendExpr.expr);
setEnclosingNode(asyncSendExpr, asyncSendExpr.workerIdentifier.pos);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -183,7 +184,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangConstrainedType;
Expand Down Expand Up @@ -737,9 +737,9 @@ public void visit(BLangForkJoin forkJoin) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
find(workerSendNode.expr);
addIfSameSymbol(workerSendNode.workerSymbol, workerSendNode.workerIdentifier.pos);
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
find(asyncSendExpr.expr);
addIfSameSymbol(asyncSendExpr.workerSymbol, asyncSendExpr.workerIdentifier.pos);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -198,7 +199,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode;
Expand Down Expand Up @@ -793,12 +793,12 @@ public void visit(BLangForkJoin forkJoin) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
if (setEnclosingNode(workerSendNode.workerSymbol, workerSendNode.workerIdentifier.pos)) {
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
if (setEnclosingNode(asyncSendExpr.workerSymbol, asyncSendExpr.workerIdentifier.pos)) {
return;
}

lookupNode(workerSendNode.expr);
lookupNode(asyncSendExpr.expr);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@
import org.ballerinalang.model.tree.expressions.TypeTestExpressionNode;
import org.ballerinalang.model.tree.expressions.TypedescExpressionNode;
import org.ballerinalang.model.tree.expressions.UnaryExpressionNode;
import org.ballerinalang.model.tree.expressions.WorkerSendExpressionNode;
import org.ballerinalang.model.tree.expressions.XMLAttributeNode;
import org.ballerinalang.model.tree.expressions.XMLCommentLiteralNode;
import org.ballerinalang.model.tree.expressions.XMLElementLiteralNode;
Expand Down Expand Up @@ -169,7 +170,6 @@
import org.ballerinalang.model.tree.statements.VariableDefinitionNode;
import org.ballerinalang.model.tree.statements.WhileNode;
import org.ballerinalang.model.tree.statements.WorkerReceiveNode;
import org.ballerinalang.model.tree.statements.WorkerSendNode;
import org.ballerinalang.model.tree.statements.XMLNSDeclStatementNode;
import org.ballerinalang.model.tree.types.ArrayTypeNode;
import org.ballerinalang.model.tree.types.BuiltInReferenceTypeNode;
Expand Down Expand Up @@ -302,6 +302,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -354,7 +355,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode;
Expand Down Expand Up @@ -913,8 +913,8 @@ public static WorkerReceiveNode createWorkerReceiveNode() {
return new BLangWorkerReceive();
}

public static WorkerSendNode createWorkerSendNode() {
return new BLangWorkerSend();
public static WorkerSendExpressionNode createWorkerSendNode() {
return new BLangWorkerAsyncSendExpr();
}

public static ForkJoinNode createForkJoinNode() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*
* @since 0.985
*/
public interface WorkerSendSyncExpressionNode extends ExpressionNode, ActionNode {
public interface WorkerSendExpressionNode extends ExpressionNode, ActionNode {
ExpressionNode getExpression();

IdentifierNode getWorkerName();
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -190,7 +191,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangSimpleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangStatement;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangStructureTypeNode;
import org.wso2.ballerinalang.compiler.tree.types.BLangType;
Expand Down Expand Up @@ -1168,17 +1168,23 @@ public void visit(BLangWorkerReceive workerReceive) {
}

@Override
public void visit(BLangWorkerSend workerSend) {
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
BIRBasicBlock thenBB = new BIRBasicBlock(this.env.nextBBId(names));
addToTrapStack(thenBB);

workerSend.expr.accept(this);
asyncSendExpr.expr.accept(this);
BIROperand dataOp = this.env.targetOperand;
BIRVariableDcl tempVarDcl = new BIRVariableDcl(asyncSendExpr.receive.matchingSendsError,
this.env.nextLocalVarId(names), VarScope.FUNCTION, VarKind.TEMP);
this.env.enclFunc.localVars.add(tempVarDcl);
BIROperand lhsOp = new BIROperand(tempVarDcl);
this.env.targetOperand = lhsOp;

String channelName = this.env.enclFunc.workerName.value + "->" + workerSend.workerIdentifier.value;
String channelName = this.env.enclFunc.workerName.value + "->" + asyncSendExpr.workerIdentifier.value;
boolean isOnSameStrand = DEFAULT_WORKER_NAME.equals(this.env.enclFunc.workerName.value);

this.env.enclBB.terminator = new BIRTerminator.WorkerSend(
workerSend.pos, names.fromString(channelName), this.env.targetOperand, isOnSameStrand, false, null,
asyncSendExpr.pos, names.fromString(channelName), dataOp, isOnSameStrand, false, lhsOp,
thenBB, this.currentScope);

this.env.enclBasicBlocks.add(thenBB);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -137,7 +138,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangObjectTypeNode;
import org.wso2.ballerinalang.compiler.tree.types.BLangRecordTypeNode;
Expand Down Expand Up @@ -919,9 +919,9 @@ public void visit(BLangStringTemplateLiteral stringTemplateLiteral) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
workerSendNode.expr = rewriteExpr(workerSendNode.expr);
result = workerSendNode;
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
asyncSendExpr.expr = rewriteExpr(asyncSendExpr.expr);
result = asyncSendExpr;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Closures seem not identified properly due to this issue #38810

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -156,7 +157,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode;
Expand Down Expand Up @@ -1516,9 +1516,9 @@ public void visit(BLangStringTemplateLiteral stringTemplateLiteral) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
workerSendNode.expr = rewriteExpr(workerSendNode.expr);
result = workerSendNode;
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
asyncSendExpr.expr = rewriteExpr(asyncSendExpr.expr);
result = asyncSendExpr;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -167,7 +168,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangErrorType;
import org.wso2.ballerinalang.compiler.tree.types.BLangFiniteTypeNode;
Expand Down Expand Up @@ -602,9 +602,9 @@ public void visit(BLangErrorDestructure stmt) {
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
workerSendNode.expr = rewrite(workerSendNode.expr);
result = workerSendNode;
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
asyncSendExpr.expr = rewrite(asyncSendExpr.expr);
result = asyncSendExpr;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@
import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive;
import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr;
Expand Down Expand Up @@ -273,7 +274,6 @@
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure;
import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile;
import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend;
import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement;
import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType;
import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode;
Expand Down Expand Up @@ -8029,9 +8029,9 @@ private BLangFunction createUserDefinedObjectInitFn(BLangClassDefinition classDe
}

@Override
public void visit(BLangWorkerSend workerSendNode) {
workerSendNode.expr = visitCloneInvocation(rewriteExpr(workerSendNode.expr), workerSendNode.expr.getBType());
result = workerSendNode;
public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) {
asyncSendExpr.expr = visitCloneInvocation(rewriteExpr(asyncSendExpr.expr), asyncSendExpr.expr.getBType());
result = asyncSendExpr;
}

@Override
Expand Down
Loading