LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
renamer.hh
Go to the documentation of this file.
1 
6 #ifndef OBJECT_RENAMER_HH
7 # define OBJECT_RENAMER_HH
8 
9 # include <map>
10 
11 # include <bind/renamer.hh>
12 # include <object/libobject.hh>
13 
14 namespace object
15 {
18  class Renamer : public bind::Renamer
19  {
20  public:
21  typedef ::bind::Renamer super_type;
22 
23  // Import overloaded virtual functions.
24  using super_type::operator();
25 
27  Renamer();
28 
29  // Visit methods.
30  public:
35  virtual void operator()(ast::VarDec& e) override;
37  virtual void operator()(ast::MethodDecs& e) override;
39  virtual void operator()(ast::MethodDec& e) override;
42  virtual void operator()(ast::TypeDecs& e) override;
44 
47  virtual void operator()(ast::MethodCallExp& e) override;
49 
56  virtual void operator()(ast::ClassTy& e) override;
57  virtual void operator()(ast::ObjectExp& e) override;
59 
65  virtual void operator()(ast::ForExp& e) override;
66  virtual void operator()(ast::FunctionDec& e) override;
68 
71  public:
74 
75  private:
81  };
82 
83 } // namespace object
84 
85 #endif // !OBJECT_RENAMER_HH