NT4/private/rpc/midl20/include/linenum.hxx
2020-09-30 17:12:29 +02:00

78 lines
1.3 KiB
C++

#ifndef __LINENUM_HXX__
#define __LINENUM_HXX__
#include "midlnode.hxx"
#include "errors.hxx"
extern short FileIndex; // index of current input file (0 if none)
// call this whenever the current input file changes
extern void UpdateCurrentFileTracking();
extern short AddFileToDB( char * pFile );
extern char * FetchFileFromDB( short Index );
/***
*** tracked nodes - with stored file position info
***
*** These nodes may be constructed
***/
// nodes with file position information
class tracked_node
{
private:
short FIndex; // file name index
short FLine; // line number
void SetLine();
public:
// constructor for use by derived classes
tracked_node()
{
if ( FIndex = FileIndex )
{
SetLine();
}
};
// really lightweight constructor
tracked_node( node_skl * dummy)
{
UNUSED( dummy );
}
// clear constructor -- extra param just to force different
tracked_node( void * dummy )
{
UNUSED( dummy );
Init();
}
void Init()
{
FIndex = 0;
FLine = 0;
};
STATUS_T GetLineInfo( char * & pName,
short & Line );
BOOL HasTracking()
{
return (FIndex != 0 );
}
}; // end of class tracked_node
#endif // __LINENUM_HXX__