Changeset 728 in dev for trunk/ab5.0/abdev/compiler_x86/Compile_Object.cpp
- Timestamp:
- Aug 21, 2008, 11:02:07 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/compiler_x86/Compile_Object.cpp
r702 r728 108 108 int typeSize = pClass->GetSize(); 109 109 110 if(pClass->IsAbstract()){ 110 if(pClass->IsAbstract()) 111 { 112 std::string tempMessage; 113 BOOST_FOREACH( const CMethod *pMethod, pClass->GetDynamicMethods() ){ 114 if(pMethod->IsVirtual()){ 115 if(pMethod->IsAbstract()){ 116 if( !tempMessage.empty() ) 117 { 118 tempMessage += ", "; 119 } 120 tempMessage += pMethod->GetUserProc().GetName(); 121 } 122 } 123 } 124 125 // インターフェイスのvtbl 126 BOOST_FOREACH( const ::Interface *pInterface, pClass->GetInterfaces() ) 127 { 128 BOOST_FOREACH( const CMethod *pMethod, pInterface->GetDynamicMethods() ){ 129 if(pMethod->IsVirtual()){ 130 if(pMethod->IsAbstract()){ 131 if( !tempMessage.empty() ) 132 { 133 tempMessage += ", "; 134 } 135 tempMessage += pMethod->GetUserProc().GetName(); 136 } 137 } 138 } 139 } 140 111 141 //抽象クラスだったとき 112 compiler.errorMessenger.Output( 125,pClass->GetName(),cp);142 compiler.errorMessenger.Output(-1,"\"%s\" は抽象クラスです。インスタンス化することはできません(抽象メソッド … " + tempMessage + ")。",cp); 113 143 } 114 144
Note:
See TracChangeset
for help on using the changeset viewer.