From 876bf77a3c3e0e8928ae5954ce9e68ef9189043a Mon Sep 17 00:00:00 2001 From: Tim Keith Date: Fri, 26 Apr 2019 15:01:09 -0700 Subject: [PATCH] [flang] Walk source member of Call and Designator A `source` data member was added to `Call` and `Designator` so the parse tree visitor needs to visit them. Original-commit: flang-compiler/f18@0a620f1a5e008cd41b4ade2fca452a8df68a89f4 Reviewed-on: https://github.com/flang-compiler/f18/pull/433 Tree-same-pre-rewrite: false --- flang/lib/parser/parse-tree-visitor.h | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/flang/lib/parser/parse-tree-visitor.h b/flang/lib/parser/parse-tree-visitor.h index e390f01b155f..5d6efdefec0a 100644 --- a/flang/lib/parser/parse-tree-visitor.h +++ b/flang/lib/parser/parse-tree-visitor.h @@ -494,6 +494,34 @@ template void Walk(Expr &x, M &mutator) { mutator.Post(x); } } +template void Walk(const Designator &x, V &visitor) { + if (visitor.Pre(x)) { + Walk(x.source, visitor); + Walk(x.u, visitor); + visitor.Post(x); + } +} +template void Walk(Designator &x, M &mutator) { + if (mutator.Pre(x)) { + Walk(x.source, mutator); + Walk(x.u, mutator); + mutator.Post(x); + } +} +template void Walk(const Call &x, V &visitor) { + if (visitor.Pre(x)) { + Walk(x.source, visitor); + Walk(x.t, visitor); + visitor.Post(x); + } +} +template void Walk(Call &x, M &mutator) { + if (mutator.Pre(x)) { + Walk(x.source, mutator); + Walk(x.t, mutator); + mutator.Post(x); + } +} template void Walk(const PartRef &x, V &visitor) { if (visitor.Pre(x)) { Walk(x.name, visitor); -- 2.34.1