Ignore:
Timestamp:
Oct 19, 2007, 2:51:36 AM (17 years ago)
Author:
dai_9181
Message:

基底クラスからインターフェイスメソッドを実装できるようにした。

Location:
trunk/abdev/BasicCompiler_Common/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r351 r352  
    459459
    460460    /////////////////////////////////////////////////////////////////
    461     // 基底クラスのメソッドからインターフェイスメソッドを再実する
     461    // 基底クラスのメソッドからインターフェイスメソッドを再実する
    462462    /////////////////////////////////////////////////////////////////
    463463    BOOST_FOREACH( CMethod *pMethod, GetDynamicMethods() )
     
    467467        {
    468468            pMethodForOverride->Override( &pMethod->GetUserProc(), pMethod->GetAccessibility(), false );
     469
     470            // 実装元になるメソッドは呼び出し不可にしておく(オーバーロードの解決から除外する)
     471            pMethod->SetNotUseMark( true );
    469472        }
    470473    }
  • trunk/abdev/BasicCompiler_Common/src/Method.cpp

    r351 r352  
    109109    const Methods &methods = *this;
    110110    for( int i=(int)methods.size()-1; i>=0; i-- ){
    111         if( methods[i]->GetUserProc().GetName() == methodName ){
     111        if( methods[i]->GetUserProc().GetName() == methodName && methods[i]->IsNotUse() == false ){
    112112            subs.push_back( &methods[i]->GetUserProc() );
    113113        }
Note: See TracChangeset for help on using the changeset viewer.