Changeset 637 in dev for trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h
- Timestamp:
- Jun 11, 2008, 10:10:26 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h
r632 r637 1 1 #pragma once 2 2 3 class Procedure : public Symbol 3 class Procedure 4 : public RelationalObjectModuleItem 4 5 { 5 6 public: … … 35 36 trace_for_serialize( "serializing - Procedure" ); 36 37 37 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Symbol);38 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( RelationalObjectModuleItem ); 38 39 ar & BOOST_SERIALIZATION_NVP( kind ); 39 40 ar & BOOST_SERIALIZATION_NVP( isCdecl ); … … 45 46 46 47 public: 47 Procedure( const NamespaceScopes &namespaceScopes, const std::string &name, Kind kind, bool isCdecl )48 : Symbol( namespaceScopes, name)48 Procedure( const Symbol &symbol, Kind kind, bool isCdecl ) 49 : RelationalObjectModuleItem( symbol ) 49 50 , kind( kind ) 50 51 , isCdecl( isCdecl ) … … 91 92 this->sourceCodePosition = sourceCodePosition; 92 93 } 94 virtual void ResetRelationalObjectModuleIndex( const std::vector<int> &relationTable ); 93 95 94 96 const Parameters &Params() const … … 156 158 157 159 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Procedure ); 160 161 if( ActiveBasic::Common::Environment::IsRemoveExternal() ) 162 { 163 if( this->IsExternal() ) 164 { 165 this->NeedResolve(); 166 return; 167 } 168 } 169 158 170 ar & BOOST_SERIALIZATION_NVP( _paramStr ); 159 171 ar & BOOST_SERIALIZATION_NVP( importedNamespaces ); … … 178 190 public: 179 191 180 UserProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const std::string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport );192 UserProc( const Symbol &symbol, const NamespaceScopesCollection &importedNamespaces, Kind kind, bool isMacro, bool isCdecl, bool isExport ); 181 193 UserProc( const UserProc &userProc, const CClass *pParentClass ); 182 194 UserProc(); … … 206 218 } 207 219 220 virtual void ResetRelationalObjectModuleIndex( const std::vector<int> &relationTable ); 221 208 222 /*! 209 223 @brief オーバーライド用に関数同士が等しいかどうかをチェックする … … 360 374 const CMethod &GetMethod() const; 361 375 376 virtual bool Resolve(); 362 377 363 378 static const UserProc *pGlobalProc; … … 389 404 }; 390 405 391 class DllProc : public Procedure, public Jenga::Common::ObjectInHashmap<DllProc> 406 class DllProc 407 : public Procedure 408 , public Jenga::Common::ObjectInHashmap<DllProc> 392 409 { 393 410 std::string dllFileName; … … 403 420 404 421 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Procedure ); 422 423 if( ActiveBasic::Common::Environment::IsRemoveExternal() ) 424 { 425 if( this->IsExternal() ) 426 { 427 this->NeedResolve(); 428 return; 429 } 430 } 431 405 432 ar & BOOST_SERIALIZATION_NVP( dllFileName ); 406 433 ar & BOOST_SERIALIZATION_NVP( alias ); … … 409 436 410 437 public: 411 DllProc( const NamespaceScopes &namespaceScopes, const std::string &name, Kind kind, bool isCdecl, const std::string &dllFileName, const std::string &alias )412 : Procedure( namespaceScopes, name, kind, isCdecl )438 DllProc( const Symbol &symbol, Kind kind, bool isCdecl, const std::string &dllFileName, const std::string &alias ) 439 : Procedure( symbol, kind, isCdecl ) 413 440 , dllFileName( dllFileName ) 414 441 , alias( alias ) … … 454 481 return lookupAddress; 455 482 } 483 484 virtual bool Resolve(); 456 485 }; 457 486 class DllProcs : public Jenga::Common::Hashmap<DllProc> … … 469 498 }; 470 499 471 class ProcPointer : public Procedure 500 class ProcPointer 501 : public Procedure 472 502 { 473 503 // XMLシリアライズ用 … … 483 513 public: 484 514 ProcPointer( Kind kind ) 485 : Procedure( NamespaceScopes(), std::string(), kind, false )515 : Procedure( Symbol( NamespaceScopes(), std::string() ), kind, false ) 486 516 { 487 517 } … … 489 519 { 490 520 } 491 ~ProcPointer(){} 521 ~ProcPointer() 522 { 523 } 524 525 virtual bool Resolve(); 492 526 }; 493 527
Note:
See TracChangeset
for help on using the changeset viewer.