source: translator/Tuples/AssignExpand.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: 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.