Ignore:
Timestamp:
Aug 14, 2007, 8:37:08 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r279 r280  
    4444}
    4545
    46 void CFileBreakPoint::update(char *nativeCodeBuffer){
     46void CFileBreakPoint::update(char *nativeCodeBuffer)
     47{
    4748    int FileNum;
    48     for(FileNum=0;FileNum<compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileCounts();FileNum++){
    49         if(lstrcmpi(compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFilePathFromFileNumber(FileNum).c_str(),lpszFileName)==0) break;
    50     }
    51     if( FileNum == compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileCounts() )
     49    const IncludedFilesRelation *pIncludedFilesRelation = NULL;
     50    BOOST_FOREACH( const BasicSource &source, compiler.GetObjectModule().GetSources() )
     51    {
     52        pIncludedFilesRelation = &source.GetIncludedFilesRelation();
     53
     54        for(FileNum=0;FileNum<pIncludedFilesRelation->GetFileCounts();FileNum++)
     55        {
     56            if(lstrcmpi(pIncludedFilesRelation->GetFilePathFromFileNumber(FileNum).c_str(),lpszFileName)==0) break;
     57        }
     58        if( FileNum == pIncludedFilesRelation->GetFileCounts() )
     59        {
     60            pIncludedFilesRelation = NULL;
     61        }
     62        else
     63        {
     64            break;
     65        }
     66    }
     67
     68    if( !pIncludedFilesRelation )
     69    {
     70        Jenga::Throw( "CFileBreakPoint::update内で不正な処理" );
     71        return;
     72    }
     73
     74    int i;
     75    for(i=0;;i++){
     76        if( pIncludedFilesRelation->GetFileNumber( i ) == FileNum
     77            || pIncludedFilesRelation->GetFileNumber( i ) == -1 )
     78        {
     79            break;
     80        }
     81    }
     82    if( pIncludedFilesRelation->GetFileNumber( i ) == -1 )
    5283    {
    5384        return;
    5485    }
    5586
    56     int i;
    57     for(i=0;;i++){
    58         if( compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileNumber( i ) == FileNum
    59             || compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileNumber( i ) == -1 )
    60         {
    61             break;
    62         }
    63     }
    64     if( compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileNumber( i ) == -1 )
    65     {
    66         return;
    67     }
    68 
    6987    int FileBaseLine;
    7088    FileBaseLine=i;
     
    7290    int i2,nCount=0;
    7391    for(i2=0;;i2++){
    74         if( compiler.GetObjectModule().source.GetIncludedFilesRelation().GetFileNumber( FileBaseLine+i2 ) == -1 )
     92        if( pIncludedFilesRelation->GetFileNumber( FileBaseLine+i2 ) == -1 )
    7593        {
    7694            //ソースコードの終端行
Note: See TracChangeset for help on using the changeset viewer.