Changeset 204 in dev for trunk/abdev/BasicCompiler_Common


Ignore:
Timestamp:
Jul 3, 2007, 3:49:56 AM (17 years ago)
Author:
dai_9181
Message:

pobj_InheritsClassメンバをprivateにした

Location:
trunk/abdev/BasicCompiler_Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/error.cpp

    r182 r204  
    480480                pobj_tempClass=(CClass *)lpCalcIndex;
    481481                while(pobj_tempClass&&(!IS_LITERAL((LONG_PTR)pobj_tempClass))){
    482                     pobj_tempClass=pobj_tempClass->pobj_InheritsClass;
     482                    pobj_tempClass=&pobj_tempClass->GetSuperClass();
    483483
    484484                    if(lpVarIndex==(LONG_PTR)pobj_tempClass){
  • trunk/abdev/BasicCompiler_Common/src/ClassImpl.cpp

    r199 r204  
    241241
    242242    //継承先のクラスをメンバとして保持する
    243     pobj_InheritsClass = &inheritsClass;
     243    SetSuperClass( &inheritsClass );
    244244
    245245    return true;
     
    807807            else{
    808808                //継承無し
    809                 pobj_c->pobj_InheritsClass=0;
    810 
    811                 //仮想関数の数を初期化
    812                 pobj_c->SetVtblNum( 0 );
     809                if( &pobj_c->GetSuperClass() || pobj_c->GetVtblNum() )
     810                {
     811                    // TODO: ここに来ないことが実証できたらこの分岐は消す
     812                    throw;
     813                }
    813814            }
    814815Interface_InheritsError:
     
    939940
    940941            if( pobj_c->GetName() == "Object" || dwClassType == ESC_TYPE ){
    941                 // 継承無し
    942                 pobj_c->pobj_InheritsClass = NULL;
    943 
    944                 // 仮想関数の数を初期化
    945                 pobj_c->SetVtblNum( 0 );
     942                if( &pobj_c->GetSuperClass() || pobj_c->GetVtblNum() )
     943                {
     944                    // TODO: ここに来ないことが実証できたらこの分岐は消す
     945                    throw;
     946                }
    946947            }
    947948            else{
     
    12431244        }
    12441245
    1245         if( objClass.pobj_InheritsClass ){
     1246        if( objClass.HasSuperClass() ){
    12461247            sprintf( temporary
    12471248                , "tempType=Search(\"%s\",\"%s\")"
     
    12561257                , "tempType.SetBaseType(Search(\"%s\",\"%s\"))"
    12571258                , ""                                // 名前空間 (TODO: 実装)
    1258                 , objClass.pobj_InheritsClass->GetName().c_str()    // 基底クラス名
     1259                , objClass.GetSuperClass().GetName().c_str()    // 基底クラス名
    12591260                );
    12601261
Note: See TracChangeset for help on using the changeset viewer.