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);