Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/Box.cc

    r801978b r6312b1c  
    15461546                        long i = 0;
    15471547                        for(std::list< Declaration* >::const_iterator decl = baseDecls.begin(); decl != baseDecls.end(); ++decl, ++i ) {
    1548                                 if ( memberDecl->get_name() != (*decl)->get_name() )
    1549                                         continue;
    1550 
    1551                                 if ( memberDecl->get_name().empty() ) {
    1552                                         // plan-9 field: match on unique_id
    1553                                         if ( memberDecl->get_uniqueId() == (*decl)->get_uniqueId() )
    1554                                                 return i;
    1555                                         else
    1556                                                 continue;
    1557                                 }
    1558 
    1559                                 DeclarationWithType *declWithType = strict_dynamic_cast< DeclarationWithType* >( *decl );
    1560 
    1561                                 if ( memberDecl->get_mangleName().empty() || declWithType->get_mangleName().empty() ) {
    1562                                         // tuple-element field: expect neither had mangled name; accept match on simple name (like field_2) only
    1563                                         assert( memberDecl->get_mangleName().empty() && declWithType->get_mangleName().empty() );
    1564                                         return i;
    1565                                 }
    1566 
    1567                                 // ordinary field: use full name to accommodate overloading
    1568                                 if ( memberDecl->get_mangleName() == declWithType->get_mangleName() )
    1569                                         return i;
    1570                                 else
    1571                                         continue;
     1548                                if ( memberDecl->get_name() != (*decl)->get_name() ) continue;
     1549
     1550                                if ( DeclarationWithType *declWithType = dynamic_cast< DeclarationWithType* >( *decl ) ) {
     1551                                        if ( memberDecl->get_mangleName().empty() || declWithType->get_mangleName().empty()
     1552                                             || memberDecl->get_mangleName() == declWithType->get_mangleName() ) return i;
     1553                                        else continue;
     1554                                } else return i;
    15721555                        }
    15731556                        return -1;
Note: See TracChangeset for help on using the changeset viewer.