Ignore:
Timestamp:
Aug 14, 2007, 8:37:08 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler_Common/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/include/Meta.h

    r273 r280  
    7575
    7676    // 静的リンク
    77     void StaticLink( Meta &meta, long dataSectionBaseOffset );
     77    void StaticLink( Meta &meta, long dataSectionBaseOffset, int sourceIndexBase );
    7878
    7979    const NamespaceScopesCollection &GetNamespaces() const
  • trunk/abdev/BasicCompiler_Common/include/NativeCode.h

    r279 r280  
    130130    int lineNum;
    131131    long nativeCodePos;
     132    int sourceIndex;
    132133    long sourceCodePos;
    133134    DWORD codeType;
     
    142143        ar & BOOST_SERIALIZATION_NVP( lineNum );
    143144        ar & BOOST_SERIALIZATION_NVP( nativeCodePos );
     145        ar & BOOST_SERIALIZATION_NVP( sourceIndex );
    144146        ar & BOOST_SERIALIZATION_NVP( sourceCodePos );
    145147        ar & BOOST_SERIALIZATION_NVP( codeType );
     
    147149
    148150public:
    149     SourceLine( int lineNum, int nativeCodePos, int sourceCodePos, DWORD codeType )
     151    SourceLine( int lineNum, int nativeCodePos, int sourceIndex, int sourceCodePos, DWORD codeType )
    150152        : lineNum( lineNum )
    151153        , nativeCodePos( nativeCodePos )
     154        , sourceIndex( sourceIndex )
    152155        , sourceCodePos( sourceCodePos )
    153156        , codeType( codeType )
     
    165168    {
    166169        return nativeCodePos;
     170    }
     171    int GetSourceIndex() const
     172    {
     173        return sourceIndex;
     174    }
     175    void SetSourceIndex( int sourceIndex )
     176    {
     177        this->sourceIndex = sourceIndex;
    167178    }
    168179    long GetSourceCodePos() const
     
    366377
    367378    void ResetDataSectionBaseOffset( long dataSectionBaseOffset );
     379    void ResetSourceIndexes( long sourceIndexBase );
    368380};
  • trunk/abdev/BasicCompiler_Common/include/ObjectModule.h

    r279 r280  
    1313    DataTable dataTable;
    1414
     15private:
    1516    // ソースコード
    16     BasicSource source;
     17    int currentSourceIndex;
     18    BasicSources sources;
    1719
    1820    // XMLシリアライズ用
     
    3032        ar & BOOST_SERIALIZATION_NVP( globalNativeCode );
    3133        ar & BOOST_SERIALIZATION_NVP( dataTable );
    32         ar & BOOST_SERIALIZATION_NVP( source );
     34        ar & BOOST_SERIALIZATION_NVP( currentSourceIndex );
     35        ar & BOOST_SERIALIZATION_NVP( sources );
    3336    }
    3437
    3538public:
    3639    void StaticLink( ObjectModule &objectModule );
     40
     41    int GetCurrentSourceIndex() const
     42    {
     43        return currentSourceIndex;
     44    }
     45    const BasicSource &GetCurrentSource() const
     46    {
     47        return sources[currentSourceIndex];
     48    }
     49    BasicSource &GetCurrentSource()
     50    {
     51        return sources[currentSourceIndex];
     52    }
     53    void SetCurrentSourceIndex( int currentSourceIndex )
     54    {
     55        this->currentSourceIndex = currentSourceIndex;
     56    }
     57    const BasicSource &GetSource( int sourceIndex ) const
     58    {
     59        return sources[sourceIndex];
     60    }
     61    BasicSources &GetSources()
     62    {
     63        return sources;
     64    }
    3765
    3866    bool Read( const std::string &filePath );
  • trunk/abdev/BasicCompiler_Common/include/Source.h

    r279 r280  
    1111
    1212#include <BoostSerializationSupport.h>
    13 
    14 using namespace std;
    15 
    16 struct INCLUDEFILEINFO{
    17     char **ppFileNames;
    18     int FilesNum;
    19     int LineOfFile[MAX_LEN];
    20 };
    2113
    2214class IncludedFilesRelation
     
    8779        buffer = (char *)calloc( 1, 1 );
    8880        length = 0;
     81    }
     82    Text( const Text &text )
     83        : length( text.length )
     84    {
     85        buffer = (char *)malloc( length + 1 );
     86        memcpy( buffer, text.buffer, length );
     87        buffer[length] = 0;
    8988    }
    9089    ~Text(){
     
    195194public:
    196195    BasicSource(){}
     196    BasicSource( const BasicSource &basicSource )
     197        : Text( basicSource )
     198        , includedFilesRelation( basicSource.includedFilesRelation )
     199    {
     200    }
    197201    ~BasicSource(){}
    198202
     
    222226    void Addition( const char *buffer );
    223227
    224     bool GetLineInfo( int sourceCodePos, int &line, std::string &fileName );
     228    bool GetLineInfo( int sourceCodePos, int &line, std::string &fileName ) const;
    225229
    226230    void operator = ( const BasicSource &source ){
     
    238242    }
    239243};
     244typedef std::vector<BasicSource> BasicSources;
Note: See TracChangeset for help on using the changeset viewer.