157 lines
3.7 KiB
C++
157 lines
3.7 KiB
C++
// EdIRDbg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "Defines.hpp"
|
|
|
|
#ifdef D_ED_IR_ACTIVE
|
|
|
|
#include "EdIRDbLs.hpp"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// class CPA_EdIR_DebugInfoList
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/****************************************************************************/
|
|
CPA_EdIR_DebugInfoList::CPA_EdIR_DebugInfoList()
|
|
{
|
|
}
|
|
|
|
/****************************************************************************/
|
|
CPA_EdIR_DebugInfoList::~CPA_EdIR_DebugInfoList()
|
|
{
|
|
m_fn_vDestroyAndRemoveAllEntries();
|
|
}
|
|
|
|
/****************************************************************************/
|
|
void CPA_EdIR_DebugInfoList::m_fn_vDestroyAndRemoveAllEntries()
|
|
{
|
|
POSITION pos=GetHeadPosition();
|
|
while(pos!=NULL)
|
|
delete GetNext(pos);
|
|
|
|
RemoveAll();
|
|
}
|
|
|
|
/****************************************************************************/
|
|
CPA_EdIR_DebugInfo *CPA_EdIR_DebugInfoList::m_fn_pclGetDebugInfo(struct tdstNodeInterpret_ *pstNode)
|
|
{
|
|
POSITION pos=GetHeadPosition();
|
|
BOOL bFound=FALSE;
|
|
while(pos!=NULL && !bFound)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=GetAt(pos);
|
|
|
|
if(pclDebugInfo->m_fn_pstGetNode()==pstNode)
|
|
bFound=TRUE;
|
|
else
|
|
GetNext(pos);
|
|
}
|
|
|
|
if(pos!=NULL)
|
|
return GetAt(pos);
|
|
else
|
|
return NULL;
|
|
}
|
|
|
|
/****************************************************************************/
|
|
long CPA_EdIR_DebugInfoList::m_fn_lGetLineNumber(struct tdstNodeInterpret_ *pstNode)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=m_fn_pclGetDebugInfo(pstNode);
|
|
|
|
if(pclDebugInfo!=NULL)
|
|
return pclDebugInfo->m_fn_lGetLineNumber();
|
|
else
|
|
return -1;
|
|
}
|
|
|
|
/****************************************************************************/
|
|
long CPA_EdIR_DebugInfoList::m_fn_lGetColumnNumber(struct tdstNodeInterpret_ *pstNode)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=m_fn_pclGetDebugInfo(pstNode);
|
|
|
|
if(pclDebugInfo!=NULL)
|
|
return pclDebugInfo->m_fn_lGetColumnNumber();
|
|
else
|
|
return -1;
|
|
}
|
|
|
|
/****************************************************************************/
|
|
long CPA_EdIR_DebugInfoList::m_fn_lGetIndex(struct tdstNodeInterpret_ *pstNode)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=m_fn_pclGetDebugInfo(pstNode);
|
|
|
|
if(pclDebugInfo!=NULL)
|
|
return pclDebugInfo->m_fn_lGetIndex();
|
|
else
|
|
return -1;
|
|
}
|
|
|
|
/****************************************************************************/
|
|
CString CPA_EdIR_DebugInfoList::m_fn_csGetBehaviourName(struct tdstNodeInterpret_ *pstNode)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=m_fn_pclGetDebugInfo(pstNode);
|
|
|
|
if(pclDebugInfo!=NULL)
|
|
return pclDebugInfo->m_fn_csGetBehaviourName();
|
|
else
|
|
return "";
|
|
}
|
|
|
|
/****************************************************************************/
|
|
struct tdstNodeInterpret_ *CPA_EdIR_DebugInfoList::m_fn_pstGetNode(long lIndex,CString csBehaviourName)
|
|
{
|
|
POSITION pos=GetHeadPosition();
|
|
BOOL bFound=FALSE;
|
|
while(pos!=NULL && !bFound)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo=GetAt(pos);
|
|
|
|
if((pclDebugInfo->m_fn_csGetBehaviourName()==csBehaviourName) &&
|
|
(pclDebugInfo->m_fn_lGetIndex()>lIndex))
|
|
bFound=TRUE;
|
|
else
|
|
GetNext(pos);
|
|
}
|
|
|
|
if(pos!=NULL)
|
|
return GetAt(pos)->m_fn_pstGetNode();
|
|
else
|
|
return NULL;
|
|
}
|
|
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-05-
|
|
/****************************************************************************/
|
|
BOOL CPA_EdIR_DebugInfoList::m_fn_bExecuted (long lIndex)
|
|
{
|
|
POSITION pos = GetHeadPosition ();
|
|
BOOL bExecuted = FALSE;
|
|
|
|
while (pos)
|
|
{
|
|
CPA_EdIR_DebugInfo *pclDebugInfo = GetNext (pos);
|
|
|
|
if (pclDebugInfo -> m_fn_lGetIndex () > lIndex)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if (pclDebugInfo -> m_fn_lGetIndex () == lIndex)
|
|
{
|
|
bExecuted = TRUE;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return bExecuted;
|
|
}
|
|
//END ROMTEAM Cristi Petrescu 98-05-
|
|
|
|
#endif //D_ED_IR_ACTIVE
|