Changeset 639 in dev for trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
- Timestamp:
- Jun 12, 2008, 11:30:50 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
r637 r639 869 869 } 870 870 871 bool CClass::Resolve() 872 { 873 // TODO: Resolve 871 bool CClass::Resolve( const ObjectModule &resolver ) 872 { 873 // 型パラメータ 874 BOOST_FOREACH( GenericType &genericType, formalGenericTypes ) 875 { 876 genericType.GetType().Resolve( resolver ); 877 } 878 879 // 基底クラス 880 if( this->pSuperClass ) 881 { 882 if( this->pSuperClass->IsNeedResolve() ) 883 { 884 this->pSuperClass = resolver.meta.GetClasses().FindEx( *pSuperClass ); 885 } 886 } 887 888 // 基底クラスの型パラメータ(実パラメータ) 889 BOOST_FOREACH( Type &superClassActualTypeParameter, superClassActualTypeParameters ) 890 { 891 superClassActualTypeParameter.Resolve( resolver ); 892 } 893 894 // Blittable型情報 895 blittableType.Resolve( resolver ); 896 897 // 実装するインターフェイス 898 BOOST_FOREACH( ::Interface *pInterface, interfaces ) 899 { 900 pInterface->Resolve( resolver ); 901 } 902 903 // 動的メンバ 904 BOOST_FOREACH( Member *pMember, dynamicMembers ) 905 { 906 pMember->Resolve( resolver ); 907 } 908 909 // 静的メンバ 910 BOOST_FOREACH( Member *pMember, staticMembers ) 911 { 912 pMember->Resolve( resolver ); 913 } 914 915 // 動的メソッド 916 BOOST_FOREACH( CMethod *pMethod, GetDynamicMethods() ) 917 { 918 pMethod->Resolve( resolver ); 919 } 920 921 // 静的メソッド 922 BOOST_FOREACH( CMethod *pMethod, staticMethods ) 923 { 924 pMethod->Resolve( resolver ); 925 } 926 927 // テンプレート展開後のクラス 928 BOOST_FOREACH( ActiveBasic::Common::Lexical::ExpandedTemplateClass *pExpandedTemplateClass, expandedTemplateClasses ) 929 { 930 pExpandedTemplateClass->Resolve( resolver ); 931 } 932 874 933 return true; 875 934 }
Note:
See TracChangeset
for help on using the changeset viewer.