Changeset 640 in dev for trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
- Timestamp:
- Jun 14, 2008, 12:16:27 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/src/Lexical/Class.cpp
r639 r640 869 869 } 870 870 871 bool CClass::Resolve( const ObjectModule &resolver )871 bool CClass::Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors ) 872 872 { 873 873 // 型パラメータ 874 874 BOOST_FOREACH( GenericType &genericType, formalGenericTypes ) 875 875 { 876 genericType.GetType().Resolve( resolver );876 genericType.GetType().Resolve( resolver, resolveErrors ); 877 877 } 878 878 … … 882 882 if( this->pSuperClass->IsNeedResolve() ) 883 883 { 884 this->pSuperClass = resolver.meta.GetClasses().FindEx( *pSuperClass ); 884 const CClass *pTempClass = resolver.meta.GetClasses().FindLike( this->pSuperClass ); 885 if( pTempClass ) 886 { 887 this->pSuperClass = pTempClass; 888 } 889 else 890 { 891 resolveErrors.Add( ResolveError( this->pSuperClass->GetRelationalObjectModuleIndex(), this->pSuperClass->GetFullName() ) ); 892 } 885 893 } 886 894 } … … 889 897 BOOST_FOREACH( Type &superClassActualTypeParameter, superClassActualTypeParameters ) 890 898 { 891 superClassActualTypeParameter.Resolve( resolver );899 superClassActualTypeParameter.Resolve( resolver, resolveErrors ); 892 900 } 893 901 894 902 // Blittable型情報 895 blittableType.Resolve( resolver );903 blittableType.Resolve( resolver, resolveErrors ); 896 904 897 905 // 実装するインターフェイス 898 906 BOOST_FOREACH( ::Interface *pInterface, interfaces ) 899 907 { 900 pInterface->Resolve( resolver );908 pInterface->Resolve( resolver, resolveErrors ); 901 909 } 902 910 … … 904 912 BOOST_FOREACH( Member *pMember, dynamicMembers ) 905 913 { 906 pMember->Resolve( resolver );914 pMember->Resolve( resolver, resolveErrors ); 907 915 } 908 916 … … 910 918 BOOST_FOREACH( Member *pMember, staticMembers ) 911 919 { 912 pMember->Resolve( resolver );920 pMember->Resolve( resolver, resolveErrors ); 913 921 } 914 922 … … 916 924 BOOST_FOREACH( CMethod *pMethod, GetDynamicMethods() ) 917 925 { 918 pMethod->Resolve( resolver );926 pMethod->Resolve( resolver, resolveErrors ); 919 927 } 920 928 … … 922 930 BOOST_FOREACH( CMethod *pMethod, staticMethods ) 923 931 { 924 pMethod->Resolve( resolver );932 pMethod->Resolve( resolver, resolveErrors ); 925 933 } 926 934 … … 928 936 BOOST_FOREACH( ActiveBasic::Common::Lexical::ExpandedTemplateClass *pExpandedTemplateClass, expandedTemplateClasses ) 929 937 { 930 pExpandedTemplateClass->Resolve( resolver );938 pExpandedTemplateClass->Resolve( resolver, resolveErrors ); 931 939 } 932 940
Note:
See TracChangeset
for help on using the changeset viewer.