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/WatchList.cpp

    r265 r409  
    130130    ////////////////////////////
    131131
    132     int memberIndex;
    133     int offset = objClass.GetMemberOffset( VarName, &memberIndex );
    134     if(memberIndex==objClass.GetDynamicMembers().size()) return 0;
    135 
    136     CMember *pMember = objClass.GetDynamicMembers()[memberIndex];
     132    const CMember *pMember = objClass.FindDynamicMember( VarName );
     133    if( !pMember )
     134    {
     135        return 0;
     136    }
     137
     138    int offset = objClass.GetMemberOffset( VarName );
    137139
    138140
     
    388390        }
    389391        else{
    390             //クラス内メンバを参照するとき(通常)
    391 
    392             bool isFound = false;
    393             BOOST_FOREACH( CMember *pMember, compiler.pCompilingClass->GetDynamicMembers() ){
    394                 if( pMember->GetName() == VarName ){
    395                     isFound = true;
    396                     break;
    397                 }
    398             }
    399             if( !isFound ) goto NonClassMember;
     392            //クラス内の動的メンバを参照するとき(通常)
     393
     394            if( !compiler.pCompilingClass->HasDynamicMember( VarName ) )
     395            {
     396                goto NonClassMember;
     397            }
    400398        }
    401399
Note: See TracChangeset for help on using the changeset viewer.