- Timestamp:
- Aug 14, 2008, 12:46:06 AM (16 years ago)
- Location:
- trunk/ab5.0/abdev
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
r710 r720 67 67 // モジュール名がシンボル名として使えない場合があるので、16進数文字列に変換する 68 68 char temporary[VN_SIZE*2] = ""; 69 for( int i=0; i< originalName.size(); i++ )69 for( int i=0; i<static_cast<int>(originalName.size()); i++ ) 70 70 { 71 71 sprintf( temporary + strlen(temporary), "%2x", originalName[i] ); … … 112 112 Type typeParameterType; 113 113 StringToType( typeParameterStr, typeParameterType ); 114 115 if( this->IsCompilingClass() ) 116 { 117 if( this->pCompilingClass->IsExpanded() && typeParameterType.IsTypeParameter() ) 118 { 119 // 現在コンパイル中のクラスがテンプレート展開済みのクラスで、 120 // 尚且つターゲットとなる型が型パラメータだったとき 121 122 // テンプレート展開情報を用いて型解決を行う 123 this->pCompilingClass->ResolveExpandedClassActualTypeParameter( typeParameterType ); 124 } 125 } 114 126 115 127 genericTypes.push_back( GenericType( "(non support)", typeParameterType ) ); -
trunk/ab5.0/abdev/compiler_x64/Compile_Statement.cpp
r716 r720 513 513 goto ErrorStep; 514 514 } 515 elementTypeName = collectionType.GetActualGenericType(0).GetClass().GetFullName(); 515 516 Type elementType; 517 if( collectionType.GetClass().IsExpanded() ) 518 { 519 // テンプレート展開されたジェネリッククラス 520 elementType = collectionType.GetClass().expandedClassActualTypeParameters[0]; 521 } 522 else 523 { 524 // 通常のジェネリッククラス 525 elementType = collectionType.GetActualGenericType(0); 526 } 527 528 elementTypeName = compiler.TypeToString( elementType ); 516 529 } 517 530 -
trunk/ab5.0/abdev/compiler_x86/Compile_Statement.cpp
r712 r720 650 650 goto ErrorStep; 651 651 } 652 elementTypeName = collectionType.GetActualGenericType(0).GetClass().GetFullName(); 652 653 Type elementType; 654 if( collectionType.GetClass().IsExpanded() ) 655 { 656 // テンプレート展開されたジェネリッククラス 657 elementType = collectionType.GetClass().expandedClassActualTypeParameters[0]; 658 } 659 else 660 { 661 // 通常のジェネリッククラス 662 elementType = collectionType.GetActualGenericType(0); 663 } 664 665 elementTypeName = compiler.TypeToString( elementType ); 653 666 } 654 667
Note:
See TracChangeset
for help on using the changeset viewer.