Move default ast visitor template implementation to headers in order to
match the codebase and avoid link errors.
gcc/rust/ChangeLog:
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Move from here...
* ast/rust-ast-visitor.h: ... to here.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
namespace Rust {
namespace AST {
-template <typename T>
-void
-DefaultASTVisitor::visit (T &node)
-{
- node.accept_vis (*this);
-}
-
-template <typename T>
-void
-DefaultASTVisitor::visit (std::unique_ptr<T> &node)
-{
- node->accept_vis (*this);
-}
-
void
DefaultASTVisitor::visit (AST::Crate &crate)
{
virtual void visit (AST::FunctionParam ¶m) override;
virtual void visit (AST::VariadicParam ¶m) override;
- template <typename T> void visit (T &node);
+ template <typename T> void visit (T &node) { node.accept_vis (*this); }
- template <typename T> void visit (std::unique_ptr<T> &node);
+ template <typename T> void visit (std::unique_ptr<T> &node)
+ {
+ node->accept_vis (*this);
+ }
virtual void visit (AST::GenericArgsBinding &binding);
virtual void visit (AST::PathExprSegment &segment);