Changeset 9ea38de for src/Tuples/TupleAssignment.cc
- Timestamp:
- Jun 25, 2019, 11:26:30 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- bcb311b
- Parents:
- 28af389
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleAssignment.cc
r28af389 r9ea38de 464 464 // resolve ctor/dtor for the new object 465 465 ast::ptr< ast::Init > ctorInit = ResolvExpr::resolveCtorInit( 466 InitTweak::genCtorInit( location, ret ), spotter.crntFinder. symtab);466 InitTweak::genCtorInit( location, ret ), spotter.crntFinder.localSyms ); 467 467 // remove environments from subexpressions of stmtExpr 468 468 ast::Pass< EnvRemover > rm{ env }; … … 559 559 // resolve the cast expression so that rhsCand return type is bound by the cast 560 560 // type as needed, and transfer the resulting environment 561 ResolvExpr::CandidateFinder finder{ spotter.crntFinder. symtab, env };561 ResolvExpr::CandidateFinder finder{ spotter.crntFinder.localSyms, env }; 562 562 finder.find( rhsCand->expr, ResolvExpr::ResolvMode::withAdjustment() ); 563 563 assert( finder.candidates.size() == 1 ); … … 608 608 // explode the LHS so that each field of a tuple-valued expr is assigned 609 609 ResolvExpr::CandidateList lhs; 610 explode( *lhsCand, crntFinder. symtab, back_inserter(lhs), true );610 explode( *lhsCand, crntFinder.localSyms, back_inserter(lhs), true ); 611 611 for ( ResolvExpr::CandidateRef & cand : lhs ) { 612 612 // each LHS value must be a reference - some come in with a cast, if not … … 628 628 if ( isTuple( rhsCand->expr ) ) { 629 629 // multiple assignment 630 explode( *rhsCand, crntFinder. symtab, back_inserter(rhs), true );630 explode( *rhsCand, crntFinder.localSyms, back_inserter(rhs), true ); 631 631 matcher.reset( 632 632 new MultipleAssignMatcher{ *this, expr->location, lhs, rhs } ); … … 647 647 // multiple assignment 648 648 ResolvExpr::CandidateList rhs; 649 explode( rhsCand, crntFinder. symtab, back_inserter(rhs), true );649 explode( rhsCand, crntFinder.localSyms, back_inserter(rhs), true ); 650 650 matcher.reset( 651 651 new MultipleAssignMatcher{ *this, expr->location, lhs, rhs } ); … … 677 677 ) 678 678 679 ResolvExpr::CandidateFinder finder{ crntFinder. symtab, matcher->env };679 ResolvExpr::CandidateFinder finder{ crntFinder.localSyms, matcher->env }; 680 680 681 681 try {
Note: See TracChangeset
for help on using the changeset viewer.