Changeset 723 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp
- Timestamp:
- Aug 15, 2008, 11:31:19 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp
r682 r723 834 834 } 835 835 836 if(lstrcmpi(temporary,pobj_c->GetName().c_str())==0){ 837 compiler.errorMessenger.Output(105,temporary,i); 836 // ジェネリクス構文を分解 837 char className[VN_SIZE]; 838 Jenga::Common::Strings typeParameterStrings; 839 SplitGenericClassInstance( temporary, className, typeParameterStrings ); 840 841 // 型パラメータ文字列から型データを取得 842 Types actualTypeParameters; 843 BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings ) 844 { 845 Type type; 846 compiler.StringToType( typeParameterStr, type ); 847 actualTypeParameters.push_back( type ); 848 } 849 850 if(lstrcmpi(className,pobj_c->GetName().c_str())==0){ 851 compiler.errorMessenger.Output(105,className,i); 838 852 goto Interface_InheritsError; 839 853 } … … 841 855 //継承元クラスを取得 842 856 const CClass *pInheritsClass = compiler.GetObjectModule().meta.FindClassSupportedTypeDef( 843 LexicalAnalyzer::FullNameToSymbol( temporary)857 LexicalAnalyzer::FullNameToSymbol( className ) 844 858 ); 845 859 if( !pInheritsClass ){ 846 compiler.errorMessenger.Output(106, temporary,i);860 compiler.errorMessenger.Output(106,className,i); 847 861 goto Interface_InheritsError; 848 862 } … … 856 870 857 871 //継承させる 858 if( !pobj_c->InheritsClass( *pInheritsClass, Types(), i ) ){872 if( !pobj_c->InheritsClass( *pInheritsClass, actualTypeParameters, i ) ){ 859 873 goto Interface_InheritsError; 860 874 }
Note:
See TracChangeset
for help on using the changeset viewer.