From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 43A503858298; Sat, 15 Oct 2022 09:15:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43A503858298 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1665825348; bh=SzEGfMM/uiC+O7nFRF5GKttt4JSYvAAutXTXzZ7rn30=; h=From:To:Subject:Date:From; b=wXrO4t3IjYk8jyI0ITODaCSmLdbWp+YhzPlljEckyaeB0PHTsbZGXSLideJEs8KCU hCrh0fO8sxP4QxvqKq/GByCv979Nnd0Ez9J+XorGGaBWZxVkl5B1t91QtQ46vx+s0n bcNvsbEPaIySuF4A+tCijqkvxi1YqbPvhj4p7oPM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] ast: dump: ComparisonExpr and LazyBooleanExpr X-Act-Checkin: gcc X-Git-Author: David Faust X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: 45326391da3e6800fa0a9e1f89420ac3a5ae340b X-Git-Newrev: 191907df1fd4d09567cc1e05835564df727cfb13 Message-Id: <20221015091548.43A503858298@sourceware.org> Date: Sat, 15 Oct 2022 09:15:48 +0000 (GMT) List-Id: https://gcc.gnu.org/g:191907df1fd4d09567cc1e05835564df727cfb13 commit 191907df1fd4d09567cc1e05835564df727cfb13 Author: David Faust Date: Thu Oct 13 09:28:33 2022 -0700 ast: dump: ComparisonExpr and LazyBooleanExpr Diff: --- gcc/rust/ast/rust-ast-dump.cc | 50 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index 1ba84b8efa1..ddc43b33512 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)