mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 20:01:22 -05:00
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:
committed by
Arthur Cohen
parent
d072b4a516
commit
980bd25e25
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user