Changeset 672 in dev for trunk/ab5.0/abdev/ab_common
- Timestamp:
- Jun 29, 2008, 2:08:44 AM (16 years ago)
- Location:
- trunk/ab5.0/abdev/ab_common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/include/Lexical/Class.h
r640 r672 83 83 public: 84 84 ActiveBasic::Common::Lexical::ExpandedTemplateClasses expandedTemplateClasses; 85 Types expandedClassActualTypeParameters; 85 86 86 87 // XMLシリアライズ用 … … 117 118 ar & BOOST_SERIALIZATION_NVP( fixedAlignment ); 118 119 ar & BOOST_SERIALIZATION_NVP( expandedTemplateClasses ); 120 ar & BOOST_SERIALIZATION_NVP( expandedClassActualTypeParameters ); 119 121 } 120 122 … … 131 133 int DestructorMemberSubIndex, 132 134 int vtblNum, 133 int fixedAlignment ); 135 int fixedAlignment, 136 const Types &expandedClassActualTypeParameters ); 134 137 CClass(); 135 138 ~CClass(); … … 399 402 } 400 403 404 // 展開時の型パラメータ情報 405 bool IsExpanded() const 406 { 407 return !expandedClassActualTypeParameters.empty(); 408 } 409 void ResolveExpandedClassActualTypeParameter( Type &type ) const; 410 401 411 // メンバの総合サイズを取得 402 412 private: -
trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
r640 r672 30 30 int DestructorMemberSubIndex, 31 31 int vtblNum, 32 int fixedAlignment ) 32 int fixedAlignment, 33 const Types &expandedClassActualTypeParameters ) 33 34 : ClassPrototype( symbol ) 34 35 , importedNamespaces( importedNamespaces ) … … 43 44 , vtblNum( vtblNum ) 44 45 , fixedAlignment( fixedAlignment ) 46 , expandedClassActualTypeParameters( expandedClassActualTypeParameters ) 45 47 , vtbl_offset( -1 ) 46 48 , comVtblOffset( 0 ) … … 379 381 } 380 382 383 void CClass::ResolveExpandedClassActualTypeParameter( Type &type ) const 384 { 385 if( !this->IsExpanded() ) 386 { 387 _ASSERTE( false ); 388 } 389 390 if( !type.IsTypeParameter() ) 391 { 392 // 型パラメータではない場合 393 return; 394 } 395 396 type = expandedClassActualTypeParameters[type.GetFormalTypeIndex()]; 397 } 398 381 399 //サイズを取得 382 400 int CClass::GetSize() const
Note:
See TracChangeset
for help on using the changeset viewer.