Ignore:
Timestamp:
May 10, 2008, 6:28:58 PM (17 years ago)
Author:
dai_9181
Message:

vtblOffsetの内部保持型をintに統一。

Location:
trunk/ab5.0/abdev/BasicCompiler_Common
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/Class.h

    r587 r593  
    431431   
    432432private:
    433     long vtbl_offset;
    434     long comVtblOffset;
    435     long vtblMasterListOffset;
     433    int vtbl_offset;
     434    int comVtblOffset;
     435    int vtblMasterListOffset;
    436436public:
    437437    std::vector<long> vtblMasterList;
    438     LONG_PTR GetVtblOffset() const
     438    int GetVtblOffset() const
    439439    {
    440440        return vtbl_offset;
     
    444444        this->vtbl_offset = vtblOffset;
    445445    }
    446     long GetComVtblOffset() const
     446    int GetComVtblOffset() const
    447447    {
    448448        return comVtblOffset;
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/Interface.h

    r513 r593  
    4242{
    4343    const CClass *pInterfaceClass;
    44     mutable LONG_PTR vtblOffset;
     44    mutable int vtblOffset;
    4545
    4646    // 型パラメータ(実パラメータ)
     
    7575        return *pInterfaceClass;
    7676    }
    77     LONG_PTR GetVtblOffset() const
     77    int GetVtblOffset() const
    7878    {
    7979        return vtblOffset;
    8080    }
    81     void SetVtblOffset( LONG_PTR vtblOffset ) const
     81    void SetVtblOffset( int vtblOffset ) const
    8282    {
    8383        this->vtblOffset = vtblOffset;
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/VtblGenerator.h

    r587 r593  
    88public:
    99    // vtblを一時的に生成
    10     static LONG_PTR GenerateVTablePart( const Methods &methods );
     10    static int GenerateVTablePart( const Methods &methods );
    1111    static void GenerateFullVTables( CClass &_class );
    1212    static void GenerateVTablesForAllClasses( Classes &classes );
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/VtblGenerator.cpp

    r587 r593  
    33using namespace ActiveBasic::Compiler;
    44
    5 LONG_PTR VtblGenerator::GenerateVTablePart( const Methods &methods )
     5int VtblGenerator::GenerateVTablePart( const Methods &methods )
    66{
    77    const UserProc **ppsi = (const UserProc **)malloc(methods.GetVtblNum()*sizeof(UserProc *));
     
    2929    }
    3030
    31     LONG_PTR vtableDataTableOffset = compiler.GetObjectModule().dataTable.AddBinary( (void *)ppsi, methods.GetVtblNum()*sizeof(LONG_PTR) );
     31    int vtableDataTableOffset = compiler.GetObjectModule().dataTable.AddBinary( (void *)ppsi, methods.GetVtblNum()*sizeof(LONG_PTR) );
    3232
    3333    for( int i=0; i < methods.GetVtblNum(); i++ )
     
    6161
    6262    // 自身のクラスのvtblを生成
    63     LONG_PTR thisClassVtblOffset = GenerateVTablePart( _class.GetDynamicMethods() );
     63    int thisClassVtblOffset = GenerateVTablePart( _class.GetDynamicMethods() );
    6464    _class.SetVtblOffset( thisClassVtblOffset );
    6565    _class.vtblMasterList.push_back( thisClassVtblOffset );
     
    6868    BOOST_FOREACH( const ::Interface *pInterface, _class.GetInterfaces() )
    6969    {
    70         LONG_PTR tempVtblOffset = GenerateVTablePart( pInterface->GetDynamicMethods() );
     70        int tempVtblOffset = GenerateVTablePart( pInterface->GetDynamicMethods() );
    7171        _class.vtblMasterList.push_back( tempVtblOffset );
    7272
Note: See TracChangeset for help on using the changeset viewer.