Ignore:
Timestamp:
Oct 6, 2007, 12:56:37 AM (17 years ago)
Author:
dai_9181
Message:

Implements修飾子を作り始めた

File:
1 edited

Legend:

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

    r326 r340  
    398398    return true;
    399399}
     400
     401bool CClass::Implements( const char *interfaceNames, int nowLine )
     402{
     403    Jenga::Common::Strings paramStrs;
     404    SplitParameter( interfaceNames, paramStrs );
     405
     406    // TODO: 実装
     407    return true;
     408}
     409
    400410CMember *CClass::CreateMember( Prototype::Accessibility accessibility, bool isConst, bool isRef, char *buffer, int nowLine )
    401411{
     
    12731283                    break;
    12741284                }
     1285                else if( basbuf[i] == 1 && basbuf[i+1] == ESC_IMPLEMENTS )
     1286                {
     1287                    SetError(137, NULL, i );
     1288                    break;
     1289                }
    12751290
    12761291                sub_address=i;
     
    14121427            }
    14131428            else{
    1414                 bool isInherits = false;
    1415                 if(basbuf[i+1]==1&&basbuf[i+2]==ESC_INHERITS){
    1416                     //継承を行う場合
    1417                     isInherits = true;
    1418 
     1429                if(basbuf[i+1]==1&&basbuf[i+2]==ESC_INHERITS)
     1430                {
     1431                    // クラス継承先が指定されているとき
    14191432                    i += 3;
    14201433                    GetCommandToken( temporary, basbuf, i );
     
    14251438                    }
    14261439                }
    1427 
    1428                 if( !isInherits ){
    1429                     //Objectを継承する
     1440                else
     1441                {
     1442                    // 何の指定もないときはObjectクラスを継承する
    14301443                    lstrcpy( temporary, "Object" );
    14311444                }
    1432 
    14331445                pobj_c->Inherits( temporary, i );
     1446
     1447                if( basbuf[i+1] == 1 && basbuf[i+2] == ESC_IMPLEMENTS )
     1448                {
     1449                    // インターフェイス実装を行う場合
     1450                    i += 3;
     1451                    GetCommandToken( temporary, basbuf, i );
     1452
     1453                    pobj_c->Implements( temporary, i );
     1454                }
    14341455            }
    14351456InheritsError:
     
    14481469                if(basbuf[i]==1&&basbuf[i+1]==ESC_INHERITS){
    14491470                    SetError(111,NULL,i);
     1471                    break;
     1472                }
     1473                else if( basbuf[i] == 1 && basbuf[i+1] == ESC_IMPLEMENTS )
     1474                {
     1475                    SetError(137, NULL, i );
    14501476                    break;
    14511477                }
Note: See TracChangeset for help on using the changeset viewer.