source: translator/Tuples/AssignExpand.h @ 42dcae7

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 42dcae7 was 51b7345, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

initial commit

  • Property mode set to 100644
File size: 659 bytes
Line 
1#ifndef _ASSIGN_EXPAND_H_
2#define _ASSIGN_EXPAND_H_
3
4#include <cstdlib>
5
6#include "SynTree/Mutator.h"
7#include "SynTree/Statement.h"
8#include "SynTree/Expression.h"
9
10#include "UniqueName.h"
11
12namespace Tuples {
13  class AssignExpander : public Mutator
14  {
15    typedef Mutator Parent;
16
17  public:
18    AssignExpander();
19    virtual Statement *mutate( ExprStmt *expr );
20    virtual Expression *mutate( SolvedTupleExpr *tupleExpr );
21
22  private:
23    std::list<Statement *> extra, extra2;
24    std::list<Expression *> replace;
25    UniqueName temporaryNamer;
26  };
27
28} // namespace Tuples
29
30
31#endif // #ifndef _ASSIGN_EXPAND_H_
32
33/*
34  Local Variables:
35  mode: c++
36  End:
37*/
Note: See TracBrowser for help on using the repository browser.