Ignore:
Timestamp:
Mar 3, 2008, 6:33:29 PM (17 years ago)
Author:
dai_9181
Message:

クラス継承を行う際、dynamicMembersの中身をコピーする方式をやめ、基底クラスのものを参照するように修正した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/VariableOpe.cpp

    r403 r409  
    451451    if(!GetVarFormatString(VarName,array,lpPtrOffset,NestMember,refType)) return false;
    452452
    453     bool isFound = false;
    454     CMember *pMember = NULL;
    455     BOOST_FOREACH( pMember, objClass.GetDynamicMembers() ){
    456         if( pMember->GetName() == VarName ){
    457             isFound = true;
    458             break;
    459         }
    460     }
    461     if( !isFound ){
     453    const CMember *pMember = objClass.FindDynamicMember( VarName );
     454    if( !pMember ){
    462455        if(isErrorEnabled) SetError(103,VarName,cp);
    463456        return false;
     
    596589        }
    597590        else{
    598             //クラス内メンバを参照するとき(通常)
    599 
    600             bool isFound = false;
    601             BOOST_FOREACH( CMember *pMember, compiler.pCompilingClass->GetDynamicMembers() ){
    602                 if( pMember->GetName() == VarName ){
    603                     isFound = true;
    604                     break;
    605                 }
    606             }
    607             if( !isFound ) goto NonClassMember;
     591            //クラス内の動的メンバを参照するとき(通常)
     592
     593            if( !compiler.pCompilingClass->HasDynamicMember( VarName ) )
     594            {
     595                goto NonClassMember;
     596            }
    608597        }
    609598
Note: See TracChangeset for help on using the changeset viewer.