source: translator/ResolvExpr/RenameVars.h@ 643a2e1

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 643a2e1 was 51b73452, checked in by Peter A. Buhr <pabuhr@…>, 11 years ago

initial commit

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * This file is part of the Cforall project
3 *
4 * $Id: RenameVars.h,v 1.2 2005/08/29 20:14:16 rcbilson Exp $
5 *
6 */
7
8#ifndef RESOLVEXPR_RENAMEVARS_H
9#define RESOLVEXPR_RENAMEVARS_H
10
11#include <list>
12#include <map>
13#include <string>
14
15#include "SynTree/SynTree.h"
16#include "SynTree/Visitor.h"
17
18namespace ResolvExpr {
19
20class RenameVars : public Visitor
21{
22public:
23 RenameVars();
24 void reset();
25
26private:
27 virtual void visit( VoidType *basicType );
28 virtual void visit( BasicType *basicType );
29 virtual void visit( PointerType *pointerType );
30 virtual void visit( ArrayType *arrayType );
31 virtual void visit( FunctionType *functionType );
32 virtual void visit( StructInstType *aggregateUseType );
33 virtual void visit( UnionInstType *aggregateUseType );
34 virtual void visit( EnumInstType *aggregateUseType );
35 virtual void visit( ContextInstType *aggregateUseType );
36 virtual void visit( TypeInstType *aggregateUseType );
37 virtual void visit( TupleType *tupleType );
38
39 void typeBefore( Type *type );
40 void typeAfter( Type *type );
41 int level;
42 std::list< std::map< std::string, std::string > > mapStack;
43};
44
45extern RenameVars global_renamer;
46
47} // namespace ResolvExpr
48
49#endif /* #ifndef RESOLVEXPR_RENAMEVARS_H */
Note: See TracBrowser for help on using the repository browser.