Changeset 750 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp
- Timestamp:
- Sep 24, 2008, 2:02:16 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp
r732 r750 208 208 209 209 bool result = true; 210 BOOST_FOREACH( Member *pMember, objClass.GetDynamicMembers() ){210 foreach( Member *pMember, objClass.GetDynamicMembers() ){ 211 211 if(pMember->GetType().IsStruct()){ 212 212 //循環参照でないかをチェック … … 332 332 333 333 //メソッド 334 BOOST_FOREACH( const CMethod *pMethod, pobj_c->GetDynamicMethods() )334 foreach( const CMethod *pMethod, pobj_c->GetDynamicMethods() ) 335 335 { 336 336 //基底クラスと重複する場合はオーバーライドを行う … … 363 363 { 364 364 // インターフェイス メソッドのオーバーライド 365 BOOST_FOREACH( ::Interface *pInterface, pobj_c->GetInterfaces() )365 foreach( ::Interface *pInterface, pobj_c->GetInterfaces() ) 366 366 { 367 367 if( interfaceName[0] ) … … 438 438 // 型パラメータ文字列から型データを取得 439 439 Types actualTypeParameters; 440 BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )440 foreach( const std::string &typeParameterStr, typeParameterStrings ) 441 441 { 442 442 Type type; … … 517 517 { 518 518 // まずは継承されたインターフェイスを実装する 519 BOOST_FOREACH( ::Interface *pInheritsInterface, pInterface->GetClass().GetInterfaces() )519 foreach( ::Interface *pInheritsInterface, pInterface->GetClass().GetInterfaces() ) 520 520 { 521 521 // TODO: actualTypeParametersの引渡し … … 532 532 // 基底クラスのメソッドからインターフェイスメソッドを再実装する 533 533 ///////////////////////////////////////////////////////////////// 534 BOOST_FOREACH( CMethod *pMethod, _class.GetDynamicMethods() )534 foreach( CMethod *pMethod, _class.GetDynamicMethods() ) 535 535 { 536 536 DynamicMethod *pMethodForOverride = pInterface->GetDynamicMethods().FindForOverride( pInterface->GetActualTypeParameters(), &pMethod->GetUserProc() ); … … 612 612 SplitParameter( interfaceNames, paramStrs ); 613 613 614 BOOST_FOREACH( const std::string ¶mStr, paramStrs )614 foreach( const std::string ¶mStr, paramStrs ) 615 615 { 616 616 char className[VN_SIZE]; … … 619 619 620 620 Types actualTypeParameters; 621 BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )621 foreach( const std::string &typeParameterStr, typeParameterStrings ) 622 622 { 623 623 Type type; … … 821 821 // 型パラメータ文字列から型データを取得 822 822 Types actualTypeParameters; 823 BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )823 foreach( const std::string &typeParameterStr, typeParameterStrings ) 824 824 { 825 825 Type type; … … 1389 1389 1390 1390 // パラメータのジェネリック型を解決 1391 BOOST_FOREACH( const Parameter *pParam, pBaseMethod->GetUserProc().Params() )1391 foreach( const Parameter *pParam, pBaseMethod->GetUserProc().Params() ) 1392 1392 { 1393 1393 Type type = pParam->IsTypeParameter() … … 1398 1398 pUserProc->GetParameters().push_back( new Parameter( *pParam, type ) ); 1399 1399 } 1400 BOOST_FOREACH( const Parameter *pParam, pBaseMethod->GetUserProc().RealParams() )1400 foreach( const Parameter *pParam, pBaseMethod->GetUserProc().RealParams() ) 1401 1401 { 1402 1402 Type type = pParam->IsTypeParameter() … … 1440 1440 // 実型パラメータに値型が含まれないとき 1441 1441 bool isValueType = false; 1442 BOOST_FOREACH( const Type &actualType, actualTypes )1442 foreach( const Type &actualType, actualTypes ) 1443 1443 { 1444 1444 if( actualType.IsValueType() ) … … 1453 1453 1454 1454 // 展開済みのクラスがあればそれを返す 1455 BOOST_FOREACH( const ExpandedTemplateClass *pExpandedTemplateClass, _class.expandedTemplateClasses )1455 foreach( const ExpandedTemplateClass *pExpandedTemplateClass, _class.expandedTemplateClasses ) 1456 1456 { 1457 1457 if( pExpandedTemplateClass->GetActualTypes().IsEquals( actualTypes ) ) … … 1487 1487 { 1488 1488 Types expandedSuperClassActualTypes; 1489 BOOST_FOREACH( const Type &superClassActualType, _class.GetSuperClassActualTypeParameters() )1489 foreach( const Type &superClassActualType, _class.GetSuperClassActualTypeParameters() ) 1490 1490 { 1491 1491 expandedSuperClassActualTypes.push_back( TemplateExpand_ResolveType( superClassActualType, actualTypes ) ); … … 1497 1497 1498 1498 // インターフェイスのジェネリック型を解決 1499 BOOST_FOREACH( const ::Interface *pInterface, _class.GetInterfaces() )1499 foreach( const ::Interface *pInterface, _class.GetInterfaces() ) 1500 1500 { 1501 1501 const CClass *pExpandedInterfaceClass = TemplateExpand( *const_cast<CClass *>(&pInterface->GetClass()), actualTypes ); … … 1504 1504 1505 1505 // インターフェイス メソッドのジェネリック型を解決 1506 BOOST_FOREACH( const CMethod *pMethod, pInterface->GetDynamicMethods() )1506 foreach( const CMethod *pMethod, pInterface->GetDynamicMethods() ) 1507 1507 { 1508 1508 if( pMethod->GetUserProc().GetParentClassPtr() == &_class ) … … 1533 1533 1534 1534 // メンバのジェネリック型を解決 1535 BOOST_FOREACH( const Member *pMember, _class.GetDynamicMembers() )1535 foreach( const Member *pMember, _class.GetDynamicMembers() ) 1536 1536 { 1537 1537 Type type = pMember->GetType(); … … 1549 1549 1550 1550 // クラス メソッドのジェネリック型を解決 1551 BOOST_FOREACH( const CMethod *pMethod, _class.GetDynamicMethods() )1551 foreach( const CMethod *pMethod, _class.GetDynamicMethods() ) 1552 1552 { 1553 1553 if( pMethod->GetUserProc().GetParentClassPtr() == &_class )
Note:
See TracChangeset
for help on using the changeset viewer.