Changeset 632 in dev for trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
- Timestamp:
- Jun 5, 2008, 10:04:39 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
r603 r632 1 1 #include "stdafx.h" 2 3 4 CClass::CClass( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const std::string &name ) 5 : ClassPrototype( namespaceScopes, name ) 6 , importedNamespaces( importedNamespaces ) 7 , classType( Class ) 8 , pSuperClass( NULL ) 9 , blittableType( Type() ) 10 , isReady( false ) 11 , fixedAlignment( 0 ) 12 , ConstructorMemberSubIndex( -1 ) 13 , DestructorMemberSubIndex( -1 ) 14 , vtblNum( 0 ) 15 , vtbl_offset( -1 ) 16 , comVtblOffset( 0 ) 17 , isCompilingConstructor( false ) 18 , isCompilingDestructor( false ) 19 , cacheSize( 0 ) 20 { 21 } 22 23 CClass::CClass( const NamespaceScopes &namespaceScopes, 24 const NamespaceScopesCollection &importedNamespaces, 25 const std::string &name, 26 ClassType classType, 27 const GenericTypes &formalGenericTypes, 28 const Types &superClassActualTypeParameters, 29 int ConstructorMemberSubIndex, 30 int DestructorMemberSubIndex, 31 int vtblNum, 32 int fixedAlignment ) 33 : ClassPrototype( namespaceScopes, name ) 34 , importedNamespaces( importedNamespaces ) 35 , classType( classType ) 36 , formalGenericTypes( formalGenericTypes ) 37 , pSuperClass( NULL ) 38 , superClassActualTypeParameters( superClassActualTypeParameters ) 39 , blittableType( Type() ) 40 , isReady( false ) 41 , ConstructorMemberSubIndex( ConstructorMemberSubIndex ) 42 , DestructorMemberSubIndex( DestructorMemberSubIndex ) 43 , vtblNum( vtblNum ) 44 , fixedAlignment( fixedAlignment ) 45 , vtbl_offset( -1 ) 46 , comVtblOffset( 0 ) 47 , isCompilingConstructor( false ) 48 , isCompilingDestructor( false ) 49 , cacheSize( 0 ) 50 { 51 } 52 53 CClass::CClass() 54 : ClassPrototype() 55 , importedNamespaces() 56 , classType() 57 , pSuperClass( NULL ) 58 , blittableType( Type() ) 59 , isReady( false ) 60 , fixedAlignment( 0 ) 61 , ConstructorMemberSubIndex( -1 ) 62 , DestructorMemberSubIndex( -1 ) 63 , vtblNum( 0 ) 64 , vtbl_offset( -1 ) 65 , comVtblOffset( 0 ) 66 , isCompilingConstructor( false ) 67 , isCompilingDestructor( false ) 68 , cacheSize( 0 ) 69 { 70 } 71 72 CClass::~CClass() 73 { 74 // 動的メンバ 75 BOOST_FOREACH( Member *member, dynamicMembers ) 76 { 77 delete member; 78 } 79 80 // 静的メンバ 81 BOOST_FOREACH( Member *member, staticMembers ) 82 { 83 delete member; 84 } 85 86 // インターフェイス 87 BOOST_FOREACH( ::Interface *pInterface, interfaces ) 88 { 89 delete pInterface; 90 } 91 92 // テンプレート展開済みのクラス 93 BOOST_FOREACH( ExpandedTemplateClass *pExpandedTemplateClass, expandedTemplateClasses ) 94 { 95 delete pExpandedTemplateClass; 96 } 97 } 2 98 3 99 void CClass::Using() const
Note:
See TracChangeset
for help on using the changeset viewer.