Changeset b368dd8 for src/ResolvExpr


Ignore:
Timestamp:
May 31, 2018, 4:05:06 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
Children:
518e97d, ecae5860
Parents:
3d26610 (diff), cf5e5b1 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg2:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.cc

    r3d26610 rb368dd8  
    299299                // it's okay for the aggregate expression to have reference type -- cast it to the base type to treat the aggregate as the referenced value
    300300                std::unique_ptr<Expression> aggrExpr( alt.expr->clone() );
    301                 alt.env.apply( aggrExpr->get_result() );
    302                 Type * aggrType = aggrExpr->get_result();
     301                alt.env.apply( aggrExpr->result );
     302                Type * aggrType = aggrExpr->result;
    303303                if ( dynamic_cast< ReferenceType * >( aggrType ) ) {
    304304                        aggrType = aggrType->stripReferences();
     
    306306                }
    307307
    308                 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->get_result() ) ) {
     308                if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->result ) ) {
    309309                        NameExpr nameExpr( "" );
    310310                        addAggMembers( structInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, &nameExpr );
    311                 } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->get_result() ) ) {
     311                } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->result ) ) {
    312312                        NameExpr nameExpr( "" );
    313313                        addAggMembers( unionInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, &nameExpr );
     
    320320                NameExpr * nameExpr = dynamic_cast< NameExpr * >( member );
    321321                if ( ! nameExpr ) return;
    322                 const std::string & name = nameExpr->get_name();
     322                const std::string & name = nameExpr->name;
    323323                std::list< Declaration* > members;
    324324                aggInst->lookup( name, members );
Note: See TracChangeset for help on using the changeset viewer.