Changeset a08ba92 for translator/InitTweak/InitExpander.cc
- Timestamp:
- May 19, 2015, 4:58:14 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 843054c2
- Parents:
- 01aeade
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
translator/InitTweak/InitExpander.cc
r01aeade ra08ba92 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // XXX.cc --7 // InitExpander.cc -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : 12 // Last Modified On : 13 // Update Count : 011 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:34:12 2015 13 // Update Count : 1 14 14 // 15 15 16 #include <list> 16 17 #include <stack> 17 18 #include <cassert> 18 19 #include <algorithm> 19 20 20 21 21 #include "utility.h" … … 24 24 25 25 namespace InitTweak { 26 InitExpander::InitExpander() {} 26 27 27 InitExpander::InitExpander() {}28 InitExpander::~InitExpander() {} 28 29 29 InitExpander::~InitExpander() {} 30 ObjectDecl *InitExpander::mutate( ObjectDecl *objectDecl ) { 31 index.visit( objectDecl ); 30 32 31 ObjectDecl *InitExpander::mutate( ObjectDecl *objectDecl ) { 32 index.visit( objectDecl ); 33 if ( objectDecl->get_init() == 0 ) return objectDecl; 33 34 34 if ( objectDecl->get_init() == 0 ) return objectDecl; 35 InitModelBuilder builder( objectDecl ); 36 builder.get_assoc()->display( std::cerr ); // xxx 37 InitModelFiller filler( builder.get_assoc(), objectDecl->get_init(), true ); 38 // filler.get_assoc()->display( std::cerr ); // xxx 39 InitUnspooler exp; 40 filler.get_assoc()->accept( exp ); 41 objectDecl->set_init( exp.grab_initializer() ); 42 objectDecl->get_init()->print( std::cerr ); 35 43 36 InitModelBuilder builder( objectDecl ); 37 builder.get_assoc()->display( std::cerr ); // xxx 38 InitModelFiller filler( builder.get_assoc(), objectDecl->get_init(), true ); 39 // filler.get_assoc()->display( std::cerr ); // xxx 40 InitUnspooler exp; 41 filler.get_assoc()->accept( exp ); 42 objectDecl->set_init( exp.grab_initializer() ); 43 objectDecl->get_init()->print( std::cerr ); 44 45 return objectDecl; 46 } 47 44 return objectDecl; 45 } 48 46 } // namespace InitTweak 49 47
Note: See TracChangeset
for help on using the changeset viewer.