source: translator/ResolvExpr/RenameVars.h @ 3c70d38

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 3c70d38 was 51b7345, checked in by Peter A. Buhr <pabuhr@…>, 10 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.