LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
Main Page
Namespaces
Classes
Files
File List
File Members
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
{
16
class
Renamer
:
public
ast::DefaultVisitor
,
public
ast::NonObjectVisitor
17
{
18
public
:
19
typedef
ast::DefaultVisitor
super_type
;
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
;
71
new_names_type
new_names_
;
73
};
74
75
}
// namespace bind
76
77
# include <
bind/renamer.hxx
>
78
79
#endif // !BIND_RENAMER_HH
bind
renamer.hh
Generated on Wed Mar 5 2014 15:47:36 for LRDE Tiger Compiler by
1.8.1.2