Ignore:
Timestamp:
Oct 21, 2007, 3:37:31 PM (17 years ago)
Author:
dai_9181
Message:

インターフェイス実装周りの仕様整備

File:
1 edited

Legend:

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

    r352 r353  
    573573
    574574    //関数ハッシュへ登録
    575     UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Add( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0) );
     575    char interfaceName[VN_SIZE] = "";
     576    UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().AddUserProc( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0), interfaceName );
    576577    if(!pUserProc) return;
    577578
     
    657658        BOOST_FOREACH( ::Interface *pInterface, pobj_c->GetInterfaces() )
    658659        {
     660            if( interfaceName[0] )
     661            {
     662                if( pInterface->GetClass().GetName() != interfaceName )
     663                {
     664                    // 指定されたインターフェイス名と整合しないとき
     665                    continue;
     666                }
     667            }
     668
    659669            CMethod *pMethodForOverride = pInterface->GetDynamicMethods().FindForOverride( pUserProc );
    660670            if( pMethodForOverride )
     
    665675            }
    666676        }
     677    }
     678
     679    if( interfaceName[0] )
     680    {
     681        SetError(139,interfaceName,nowLine);
    667682    }
    668683
Note: See TracChangeset for help on using the changeset viewer.