Ignore:
Timestamp:
Aug 5, 2007, 3:47:49 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r261 r263  
    2525//With情報
    2626WITHINFO WithInfo;
     27
     28//デバッグ用行番号情報
     29SourceLines oldSourceLines;
    2730
    2831
     
    8083
    8184void NextLine(void){
    82     extern HANDLE hHeap;
    83     extern int MaxLineInfoNum;
    84     extern LINEINFO *pLineInfo;
    85     if(MaxLineInfoNum){
    86         extern int obp;
    87         if(pLineInfo[MaxLineInfoNum-1].TopObp==obp){
    88             pLineInfo[MaxLineInfoNum-1].TopCp=cp;
     85    extern int obp;
     86
     87    extern SourceLines oldSourceLines;
     88    if( oldSourceLines.size() )
     89    {
     90        if( oldSourceLines.back().GetNativeCodePos() == obp )
     91        {
     92            oldSourceLines.back().SetSourceCodePos( cp );
    8993            return;
    9094        }
    9195    }
    92     pLineInfo=(LINEINFO *)HeapReAlloc(hHeap,0,pLineInfo,(MaxLineInfoNum+1)*sizeof(LINEINFO));
    93     pLineInfo[MaxLineInfoNum].TopCp=cp;
    94     extern int obp;
    95     pLineInfo[MaxLineInfoNum].TopObp=obp;
    9696
    9797    extern BOOL bDebugSupportProc;
    9898    extern BOOL bSystemProc;
    99     pLineInfo[MaxLineInfoNum].dwCodeType=0;
    100     if(bDebugSupportProc)
    101         pLineInfo[MaxLineInfoNum].dwCodeType|=CODETYPE_DEBUGPROC;
    102     if(bSystemProc)
    103         pLineInfo[MaxLineInfoNum].dwCodeType|=CODETYPE_SYSTEMPROC;
    104 
    105     MaxLineInfoNum++;
     99    DWORD sourceLineType = 0;
     100    if( bDebugSupportProc )
     101    {
     102        sourceLineType |= CODETYPE_DEBUGPROC;
     103    }
     104    if( bSystemProc )
     105    {
     106        sourceLineType |= CODETYPE_SYSTEMPROC;
     107    }
     108    oldSourceLines.push_back( SourceLine( (long)oldSourceLines.size(), obp, cp, sourceLineType ) );
    106109}
    107110
     
    334337                breakpoint;
    335338            }
    336 #if defined(_DEBUG)
    337339            else
    338340            {
     341//#if defined(_DEBUG)
    339342                breakpoint;
    340             }
    341 #endif
     343//#endif
     344            }
    342345            break;
    343346
     
    637640
    638641            NextLine();
     642            compiler.codeGenerator.NextSourceLine();
    639643
    640644            if(Command[0]==1){
Note: See TracChangeset for help on using the changeset viewer.