- Timestamp:
- Oct 9, 2007, 1:51:56 AM (17 years ago)
- Location:
- trunk/abdev
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_Object.cpp
r342 r343 226 226 BOOST_FOREACH( const ::Interface &objInterface, classObj.GetInterfaces() ) 227 227 { 228 BOOST_FOREACH( const CMethod *pMethod, objInterface.Get Class().GetDynamicMethods() )228 BOOST_FOREACH( const CMethod *pMethod, objInterface.GetDynamicMethods() ) 229 229 { 230 230 if( pMethod->IsVirtual() ) -
trunk/abdev/BasicCompiler_Common/include/Class.h
r342 r343 50 50 mutable int vtblOffset; 51 51 public: 52 Interface( const CClass *pInterfaceClass ) 53 : pInterfaceClass( pInterfaceClass ) 54 , vtblOffset( -1 ) 55 { 56 } 52 Interface( const CClass *pInterfaceClass ); 57 53 58 54 const CClass &GetClass() const{ -
trunk/abdev/BasicCompiler_Common/src/Class.cpp
r342 r343 74 74 }; 75 75 CLoopRefCheck *pobj_LoopRefCheck; 76 77 78 Interface::Interface( const CClass *pInterfaceClass ) 79 : pInterfaceClass( pInterfaceClass ) 80 , vtblOffset( -1 ) 81 { 82 //メソッドをコピー 83 BOOST_FOREACH( const CMethod *pBaseMethod, pInterfaceClass->GetDynamicMethods() ) 84 { 85 CMethod *pMethod = new DynamicMethod( *pBaseMethod ); 86 87 // アクセシビリティ 88 if(pBaseMethod->GetAccessibility() == Prototype::Private){ 89 pMethod->SetAccessibility( Prototype::None ); 90 } 91 else{ 92 pMethod->SetAccessibility( pBaseMethod->GetAccessibility() ); 93 } 94 95 //pobj_Inherits 96 // ※継承元のClassIndexをセット(入れ子継承を考慮する) 97 if(pBaseMethod->GetInheritsClassPtr()==0){ 98 pMethod->SetInheritsClassPtr( pInterfaceClass ); 99 } 100 else{ 101 pMethod->SetInheritsClassPtr( pBaseMethod->GetInheritsClassPtr() ); 102 } 103 104 GetDynamicMethods().push_back( pMethod ); 105 } 106 } 76 107 77 108
Note:
See TracChangeset
for help on using the changeset viewer.