Changeset 640 in dev for trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h
- Timestamp:
- Jun 14, 2008, 12:16:27 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h
r639 r640 111 111 } 112 112 113 virtual bool Resolve( const ObjectModule &resolver );113 virtual bool Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors ); 114 114 }; 115 115 … … 161 161 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Procedure ); 162 162 ar & boost::serialization::make_nvp("pParentClass", const_cast<CClass *&>(pParentClass) ); 163 ar & boost::serialization::make_nvp("pInterface", const_cast<Interface *&>(pInterface) ); 163 164 164 165 if( ActiveBasic::Common::Environment::IsRemoveExternal() ) … … 173 174 ar & BOOST_SERIALIZATION_NVP( _paramStr ); 174 175 ar & BOOST_SERIALIZATION_NVP( importedNamespaces ); 175 ar & boost::serialization::make_nvp("pInterface", const_cast<Interface *&>(pInterface) );176 176 ar & BOOST_SERIALIZATION_NVP( pMethod ); 177 177 ar & BOOST_SERIALIZATION_NVP( isMacro ); … … 209 209 virtual bool IsDuplication( const UserProc *pUserProc ) const 210 210 { 211 if( this->GetParentClassPtr() == pUserProc->GetParentClassPtr() // 親クラスが等しい 212 && this->pInterface == pUserProc->pInterface // インターフェイスが等しい 213 && pUserProc->IsEqualSymbol( *this ) // 名前空間及び名前が等しい 214 && this->Params().Equals( pUserProc->Params() ) // パラメータが等しい 215 && this->returnType.Equals( pUserProc->returnType ) ) // 戻り値が等しい 211 bool isEqualParentClass = 212 this->HasParentClass() && pUserProc->HasParentClass() 213 ? this->GetParentClassPtr()->Equals( pUserProc->GetParentClassPtr() ) 214 : this->GetParentClassPtr() == pUserProc->GetParentClassPtr(); 215 bool isEqualInterface = 216 this->pInterface && pUserProc->pInterface 217 ? this->pInterface->Equals( pUserProc->pInterface ) 218 : this->pInterface == pUserProc->pInterface; 219 220 if( isEqualParentClass // 親クラスが等しい 221 && isEqualInterface // インターフェイスが等しい 222 && pUserProc->IsEqualSymbol( *this ) // 名前空間及び名前が等しい 223 && this->Params().Equals( pUserProc->Params() ) // パラメータが等しい 224 && this->returnType.Equals( pUserProc->returnType ) ) // 戻り値が等しい 216 225 { 217 226 return true; … … 376 385 const CMethod &GetMethod() const; 377 386 378 virtual bool Resolve( const ObjectModule &resolver );387 virtual bool Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors ); 379 388 380 389 static const UserProc *pGlobalProc; … … 484 493 } 485 494 486 virtual bool Resolve( const ObjectModule &resolver );495 virtual bool Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors ); 487 496 }; 488 497 class DllProcs : public Jenga::Common::Hashmap<DllProc> … … 525 534 } 526 535 527 virtual bool Resolve( const ObjectModule &resolver );536 virtual bool Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors ); 528 537 }; 529 538
Note:
See TracChangeset
for help on using the changeset viewer.