reman3/Rayman_X/cpa/tempgrp/TIA/Src/EdIRDbLs.cpp

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