Changes in src/Tuples/TupleAssignment.cc [f5854507:d29fa5f]
- File:
-
- 1 edited
-
src/Tuples/TupleAssignment.cc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleAssignment.cc
rf5854507 rd29fa5f 41 41 #include "SynTree/Visitor.h" // for Visitor 42 42 43 #if 044 #define PRINT(x) x45 #else46 #define PRINT(x)47 #endif48 49 43 namespace Tuples { 50 44 class TupleAssignSpotter { … … 125 119 if ( NameExpr *op = dynamic_cast< NameExpr * >(expr->get_function()) ) { 126 120 if ( CodeGen::isCtorDtorAssign( op->get_name() ) ) { 127 fname = op->get_name(); 128 PRINT( std::cerr << "TupleAssignment: " << fname << std::endl; ) 121 fname = op->get_name(); 129 122 for ( std::list<ResolvExpr::AltList>::const_iterator ali = possibilities.begin(); ali != possibilities.end(); ++ali ) { 130 123 if ( ali->size() == 0 ) continue; // AlternativeFinder will natrually handle this case, if it's legal … … 138 131 const ResolvExpr::Alternative & alt1 = ali->front(); 139 132 auto begin = std::next(ali->begin(), 1), end = ali->end(); 140 PRINT( std::cerr << "alt1 is " << alt1.expr << std::endl; )141 133 if ( refToTuple(alt1.expr) ) { 142 PRINT( std::cerr << "and is reference to tuple" << std::endl; )143 134 if ( isMultAssign( begin, end ) ) { 144 PRINT( std::cerr << "possible multiple assignment" << std::endl; )145 135 matcher.reset( new MultipleAssignMatcher( *this, *ali ) ); 146 136 } else { 147 137 // mass assignment 148 PRINT( std::cerr << "possible mass assignment" << std::endl; )149 138 matcher.reset( new MassAssignMatcher( *this, *ali ) ); 150 139 } … … 170 159 // now resolve new assignments 171 160 for ( std::list< Expression * >::iterator i = new_assigns.begin(); i != new_assigns.end(); ++i ) { 172 PRINT(173 std::cerr << "== resolving tuple assign ==" << std::endl;174 std::cerr << *i << std::endl;175 )176 177 161 ResolvExpr::AlternativeFinder finder( currentFinder.get_indexer(), currentFinder.get_environ() ); 178 162 try { … … 264 248 ctorInit->accept( rm ); 265 249 } 266 PRINT( std::cerr << "new object: " << ret << std::endl; )267 250 return ret; 268 251 }
Note:
See TracChangeset
for help on using the changeset viewer.