aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Faust <david.faust@oracle.com>2022-10-13 09:28:33 -0700
committerArthur Cohen <arthur.cohen@embecosm.com>2023-02-21 12:36:34 +0100
commitc091fd5f4a2da1d52ae70281e94bc089f706d7b8 (patch)
tree5ec09a8df6343058a0770cfaa1596c946926dddf
parent0a9114c151b8a80e4c7e5e1e4823805436870cd7 (diff)
downloadgcc-c091fd5f4a2da1d52ae70281e94bc089f706d7b8.zip
gcc-c091fd5f4a2da1d52ae70281e94bc089f706d7b8.tar.gz
gcc-c091fd5f4a2da1d52ae70281e94bc089f706d7b8.tar.bz2
gccrs: ast: dump: ComparisonExpr and LazyBooleanExpr
gcc/rust/ChangeLog: * ast/rust-ast-dump.cc (Dump::visit): Add dumps for ComparisonExpr and LazyBooleanExpr.
-rw-r--r--gcc/rust/ast/rust-ast-dump.cc50
1 files changed, 48 insertions, 2 deletions
diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc
index 1ba84b8..ddc43b3 100644
--- a/gcc/rust/ast/rust-ast-dump.cc
+++ b/gcc/rust/ast/rust-ast-dump.cc
@@ -327,11 +327,57 @@ Dump::visit (ArithmeticOrLogicalExpr &expr)
void
Dump::visit (ComparisonExpr &expr)
-{}
+{
+ auto op = "";
+ switch (expr.get_expr_type ())
+ {
+ case ComparisonOperator::EQUAL:
+ op = "==";
+ break;
+ case ComparisonOperator::NOT_EQUAL:
+ op = "!=";
+ break;
+
+ case ComparisonOperator::GREATER_THAN:
+ op = ">";
+ break;
+
+ case ComparisonOperator::LESS_THAN:
+ op = "<";
+ break;
+
+ case ComparisonOperator::GREATER_OR_EQUAL:
+ op = ">=";
+ break;
+
+ case ComparisonOperator::LESS_OR_EQUAL:
+ op = "<=";
+ break;
+ }
+
+ expr.get_left_expr ()->accept_vis (*this);
+ stream << " " << op << " ";
+ expr.get_right_expr ()->accept_vis (*this);
+}
void
Dump::visit (LazyBooleanExpr &expr)
-{}
+{
+ auto op = "";
+ switch (expr.get_expr_type ())
+ {
+ case LazyBooleanOperator::LOGICAL_AND:
+ op = "&&";
+ break;
+ case LazyBooleanOperator::LOGICAL_OR:
+ op = "||";
+ break;
+ }
+
+ expr.get_left_expr ()->accept_vis (*this);
+ stream << " " << op << " ";
+ expr.get_right_expr ()->accept_vis (*this);
+}
void
Dump::visit (TypeCastExpr &expr)