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 BIND_RENAMER_HH
7 # define BIND_RENAMER_HH
8 
9 # include <map>
10 # include <ast/default-visitor.hh>
11 # include <ast/non-object-visitor.hh>
12 
13 namespace bind
14 {
17  {
18  public:
20 
21  // Import overloaded virtual functions.
22  using super_type::operator();
23 
25  Renamer();
26 
33  template <typename Def>
34  misc::symbol new_name_compute(const Def& e);
35 
42  template <typename Def>
43  misc::symbol new_name(const Def& e);
45 
46  // Visit methods.
47  public:
52  template <class E, class Def>
53  void visit(E& e, const Def* def);
54 
57  // FIXME: Some code was deleted here.
59 
62  // FIXME: Some code was deleted here.
64 
65  private:
69  typedef std::map<const ast::Dec*, misc::symbol> new_names_type;
73  };
74 
75 } // namespace bind
76 
77 # include <bind/renamer.hxx>
78 
79 #endif // !BIND_RENAMER_HH