Changeset 296 in dev for trunk/abdev/BasicCompiler_Common/src
- Timestamp:
- Aug 23, 2007, 3:20:12 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/src/Class.cpp
r290 r296 1259 1259 1260 1260 //クラス名を取得 1261 GetIdentifierToken( temporary, basbuf, i ); 1262 1263 CClass *pobj_c = const_cast<CClass *>( this->Find(namespaceScopes, temporary) ); 1261 GetCommandToken( temporary, basbuf, i ); 1262 1263 char className[VN_SIZE]; 1264 std::vector<std::string> typeParameters; 1265 SplitGenericClassInstance( temporary, className, typeParameters ); 1266 1267 CClass *pobj_c = const_cast<CClass *>( this->Find(namespaceScopes, className) ); 1264 1268 if(!pobj_c) continue; 1265 1269 … … 1281 1285 ///////////////////////////////////////////////////////// 1282 1286 // ☆★☆ ジェネリクスサポート ☆★☆ 1283 if( basbuf[i] == '<')1287 BOOST_FOREACH( const std::string &typeParameter, typeParameters ) 1284 1288 { 1285 // 型パラメータを取得 1286 i++; 1287 GetIdentifierToken( temporary, basbuf, i ); 1288 1289 pobj_c->AddFormalGenericType( GenericType( temporary, Type(DEF_OBJECT,*GetObjectClassPtr()) ) ); 1290 1291 if( basbuf[i] == '>' ) 1292 { 1293 i++; 1294 } 1295 else 1296 { 1297 SetError(); 1298 } 1289 pobj_c->AddFormalGenericType( GenericType( typeParameter, Type(DEF_OBJECT,*GetObjectClassPtr()) ) ); 1299 1290 } 1300 1291 ///////////////////////////////////////////////////////// … … 1330 1321 isInherits = true; 1331 1322 1332 for(i+=3,i2=0;;i++,i2++){ 1333 if(IsCommandDelimitation(basbuf[i])){ 1334 temporary[i2]=0; 1335 break; 1336 } 1337 temporary[i2]=basbuf[i]; 1338 } 1323 i += 3; 1324 GetCommandToken( temporary, basbuf, i ); 1339 1325 1340 1326 if(lstrcmpi(temporary,pobj_c->GetName().c_str())==0){
Note:
See TracChangeset
for help on using the changeset viewer.