LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
libobject.hh
Go to the documentation of this file.
1 
6 #ifndef OBJECT_LIBOBJECT_HH
7 # define OBJECT_LIBOBJECT_HH
8 
9 # include <misc/map.hh>
10 # include <misc/symbol.hh>
11 # include <misc/error.hh>
12 
13 # include <ast/fwd.hh>
14 
15 # include <type/class.hh>
16 
17 namespace object
18 {
19 
20  /*-------.
21  | Bind. |
22  `-------*/
23 
24  // FIXME: Some code was deleted here.
25 
26 
27  /*----------------.
28  | Compute types. |
29  `----------------*/
30 
37  types_check(ast::Ast& tree);
38 
39 
40  /*------------------.
41  | Desugar objects. |
42  `------------------*/
43 
46 
54  rename(ast::Ast& tree);
55 
64  template <typename A>
65  A*
66  desugar(const A& tree, const class_names_type& class_names);
67 
81  template <typename A>
82  A*
83  raw_desugar(const A& tree, const class_names_type& class_names);
84 
85 } // namespace object
86 
87 #endif // !OBJECT_LIBOBJECT_HH