visitAssignExpr method
Implementation
@override
void visitAssignExpr(AssignExpr node) {
if (node.op == _lexicon.assignIfNull) {
final condition = _binary(
node.left,
_lexicon.equal,
_record(
ASTLiteralNull(
source: node.source,
line: node.line,
column: node.column,
offset: node.offset,
length: node.length,
),
node,
),
node,
);
_context.recordExpression(
node,
_record(
IfExpr(
condition,
_assign(node.left, node.right, node),
source: node.source,
line: node.line,
column: node.column,
offset: node.offset,
length: node.length,
),
node,
),
);
} else if (node.op != _lexicon.assign) {
final expanded = _assign(
node.left,
_binary(
node.left,
node.op.substring(0, node.op.length - 1),
_group(node.right, node),
node,
),
node,
);
_context.recordExpression(node, expanded);
}
node.subAccept(this);
}