Ignore:
Timestamp:
Aug 23, 2007, 3:20:12 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r290 r296  
    12591259
    12601260            //クラス名を取得
    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) );
    12641268            if(!pobj_c) continue;
    12651269
     
    12811285            /////////////////////////////////////////////////////////
    12821286            // ☆★☆ ジェネリクスサポート ☆★☆
    1283             if( basbuf[i] == '<' )
     1287            BOOST_FOREACH( const std::string &typeParameter, typeParameters )
    12841288            {
    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()) ) );
    12991290            }
    13001291            /////////////////////////////////////////////////////////
     
    13301321                    isInherits = true;
    13311322
    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 );
    13391325
    13401326                    if(lstrcmpi(temporary,pobj_c->GetName().c_str())==0){
Note: See TracChangeset for help on using the changeset viewer.