gccrs: ast: dump assignment and compound assignment expr

gcc/rust/ChangeLog:

	* ast/rust-ast-dump.cc (Dump::visit): Dump assignment and compound
	assignment expressions.
This commit is contained in:
David Faust
2022-10-05 10:10:18 -07:00
committed by Arthur Cohen
parent d072b4a516
commit 980bd25e25

View File

@@ -306,11 +306,63 @@ Dump::visit (TypeCastExpr &expr)
void
Dump::visit (AssignmentExpr &expr)
{}
{
expr.visit_lhs (*this);
stream << " = ";
expr.visit_rhs (*this);
}
void
Dump::visit (CompoundAssignmentExpr &expr)
{}
{
auto op = "";
switch (expr.get_expr_type ())
{
case CompoundAssignmentOperator::ADD:
op = "+";
break;
case CompoundAssignmentOperator::SUBTRACT:
op = "-";
break;
case CompoundAssignmentOperator::MULTIPLY:
op = "*";
break;
case CompoundAssignmentOperator::DIVIDE:
op = "/";
break;
case CompoundAssignmentOperator::MODULUS:
op = "%";
break;
case CompoundAssignmentOperator::BITWISE_AND:
op = "&";
break;
case CompoundAssignmentOperator::BITWISE_OR:
op = "|";
break;
case CompoundAssignmentOperator::BITWISE_XOR:
op = "^";
break;
case CompoundAssignmentOperator::LEFT_SHIFT:
op = "<<";
break;
case CompoundAssignmentOperator::RIGHT_SHIFT:
op = ">>";
break;
}
expr.get_left_expr ()->accept_vis (*this);
stream << " " << op << "= ";
expr.get_right_expr ()->accept_vis (*this);
}
void
Dump::visit (GroupedExpr &expr)