LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
binder.hh
Go to the documentation of this file.
1 
6 #ifndef OVERLOAD_BINDER_HH
7 # define OVERLOAD_BINDER_HH
8 
9 # include <map>
10 # include <list>
11 # include <bind/binder.hh>
12 # include <overload/over-table.hh>
13 
14 namespace overload
15 {
16 
18  typedef std::map<ast::CallExp*,
19  std::list<ast::FunctionDec*>> overfun_bindings_type;
20 
33  class Binder : public bind::Binder
34  {
35  public:
39  using super_type::operator();
40 
43  protected:
44  virtual void scope_begin() override;
45  virtual void scope_end() override;
49  /* The visiting methods. */
50  public:
52  virtual void operator()(ast::CallExp& e) override;
53 
57  virtual void operator()(ast::FunctionDecs& e) override;
58 
59  public:
62 
63  private:
69  };
70 
71 } // namespace overload
72 
73 #endif // !OVERLOAD_BINDER_HH