LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
non-object-visitor.hh
Go to the documentation of this file.
1 
6 #ifndef AST_NON_OBJECT_VISITOR_HH
7 # define AST_NON_OBJECT_VISITOR_HH
8 
9 # include <ast/visitor.hh>
10 
11 namespace ast
12 {
46  template <template <typename> class Const>
47  class GenNonObjectVisitor : virtual public GenVisitor<Const>
48  {
49  public:
52 
53  // Import overloaded virtual functions.
54  using super_type::operator();
55 
58 
61  virtual ~GenNonObjectVisitor();
64 
65 
66 
67 
68 
69  virtual void operator()(typename Const<ClassTy>::type& e) override;
70 
71  virtual void operator()(typename Const<MethodDecs>::type& e) override;
72  virtual void operator()(typename Const<MethodDec>::type& e) override;
73 
74  virtual void operator()(typename Const<MethodCallExp>::type& e) override;
75  virtual void operator()(typename Const<ObjectExp>::type& e) override;
77  };
78 
82 #ifdef SWIG
83  %template() GenVisitor<misc::id_traits>;
85 #endif
87 
88 } // namespace ast
89 
91 
92 #endif // !AST_NON_OBJECT_VISITOR_HH