diff options
author | Thomas Young <wenzhang5800@gmail.com> | 2021-07-03 21:42:12 +0800 |
---|---|---|
committer | Thomas Young <wenzhang5800@gmail.com> | 2021-07-03 23:58:47 +0800 |
commit | e1aedf6ec7d30d957c96e8ac1e2eb1c7d1384242 (patch) | |
tree | 7724e51fcaee8a851c83a1337cb1c30b633bccbd /gcc/rust | |
parent | 2b1d687d6a8eb959664e5299af229089341d14be (diff) | |
download | gcc-e1aedf6ec7d30d957c96e8ac1e2eb1c7d1384242.zip gcc-e1aedf6ec7d30d957c96e8ac1e2eb1c7d1384242.tar.gz gcc-e1aedf6ec7d30d957c96e8ac1e2eb1c7d1384242.tar.bz2 |
mark live symbol in if expr family except if let expr
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/lint/rust-lint-marklive.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/rust/lint/rust-lint-marklive.h b/gcc/rust/lint/rust-lint-marklive.h index 72274d0..5bc23e3 100644 --- a/gcc/rust/lint/rust-lint-marklive.h +++ b/gcc/rust/lint/rust-lint-marklive.h @@ -182,6 +182,26 @@ public: expr.visit_rhs (*this); } + void visit (HIR::IfExpr &expr) override + { + expr.get_if_condition ()->accept_vis (*this); + expr.get_if_block ()->accept_vis (*this); + } + + void visit (HIR::IfExprConseqElse &expr) override + { + expr.get_if_condition ()->accept_vis (*this); + expr.get_if_block ()->accept_vis (*this); + expr.get_else_block ()->accept_vis (*this); + } + + void visit (HIR::IfExprConseqIf &expr) override + { + expr.get_if_condition ()->accept_vis (*this); + expr.get_if_block ()->accept_vis (*this); + expr.get_conseq_if_expr ()->accept_vis (*this); + } + void visit (HIR::TraitItemFunc &item) override { item.get_block_expr ()->accept_vis (*this); |