Changeset 141 in dev for BasicCompiler_Common/Class.h


Ignore:
Timestamp:
Jun 15, 2007, 1:12:14 PM (17 years ago)
Author:
dai_9181
Message:

CClass::vtblNumをリファクタリングした。
インターフェイスを継承したとき、Objectクラスがインターフェイスの後ろに配置されてしまうバグを修正(どんなときも、Objectクラスが一番最初に継承されるべき)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Class.h

    r140 r141  
    6565    int ConstructorMemberSubIndex;
    6666    int DestructorMemberSubIndex;
     67    int vtblNum;                    // 仮想関数の数
    6768
    6869    // 静的メソッド
     
    8485    const CClass *pobj_InheritsClass;
    8586
    86     //仮想関数の数
    87     int vtbl_num;
    88 
    8987    //アラインメント値
    9088    int iAlign;
     
    156154    //デストラクタ メソッドを取得
    157155    const CMethod *GetDestructorMethod() const;
     156
     157    // vtblに存在する仮想関数の数
     158    int GetVtblNum() const
     159    {
     160        return vtblNum;
     161    }
     162    void SetVtblNum( int vtblNum )
     163    {
     164        this->vtblNum = vtblNum;
     165    }
     166    void AddVtblNum( int vtblNum )
     167    {
     168        this->vtblNum += vtblNum;
     169    }
     170    bool IsExistVirtualFunctions() const
     171    {
     172        return ( vtblNum > 0 );
     173    }
    158174
    159175    // メンバの総合サイズを取得
Note: See TracChangeset for help on using the changeset viewer.