Ignore:
Timestamp:
May 5, 2008, 10:41:25 AM (17 years ago)
Author:
dai_9181
Message:

Overrideメソッド内で発生したエラーのエラーメッセージ表示処理は呼び出し元で行うようにした。

File:
1 edited

Legend:

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

    r557 r558  
    185185}
    186186
    187 void CClass::Implements( const CClass &interfaceClass, const Types &actualTypeParameters, int nowLine )
     187void CClass::Implements( const CClass &interfaceClass, const Types &actualTypeParameters, std::vector<DynamicMethod::OverrideResult> &overrideResults )
    188188{
    189189    ::Interface *pDestInterface = new ::Interface( &interfaceClass, actualTypeParameters );
     
    197197    BOOST_FOREACH( CMethod *pMethod, GetDynamicMethods() )
    198198    {
    199         CMethod *pMethodForOverride = pDestInterface->GetDynamicMethods().FindForOverride( pDestInterface->GetActualTypeParameters(), &pMethod->GetUserProc() );
     199        DynamicMethod *pMethodForOverride = pDestInterface->GetDynamicMethods().FindForOverride( pDestInterface->GetActualTypeParameters(), &pMethod->GetUserProc() );
    200200        if( pMethodForOverride )
    201201        {
    202             pMethodForOverride->Override( &pMethod->GetUserProc(), pMethod->GetAccessibility(), false );
     202            DynamicMethod::OverrideResult result;
     203            result.enumType = pMethodForOverride->Override( &pMethod->GetUserProc(), pMethod->GetAccessibility(), false );
     204            result.pMethod = pMethod;
     205            overrideResults.push_back( result );
    203206
    204207            // 実装元になるメソッドは呼び出し不可にしておく(オーバーロードの解決から除外する)
Note: See TracChangeset for help on using the changeset viewer.