diff options
author | David Faust <david.faust@oracle.com> | 2022-10-13 09:28:33 -0700 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-02-21 12:36:34 +0100 |
commit | c091fd5f4a2da1d52ae70281e94bc089f706d7b8 (patch) | |
tree | 5ec09a8df6343058a0770cfaa1596c946926dddf | |
parent | 0a9114c151b8a80e4c7e5e1e4823805436870cd7 (diff) | |
download | gcc-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.cc | 50 |
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) |