clang  3.7.0
Public Types | Public Member Functions | List of all members
clang::LineTableInfo Class Reference

Used to hold and unique data used to represent #line information. More...

#include <SourceManagerInternals.h>

Public Types

typedef std::map< FileID,
std::vector< LineEntry >
>::iterator 
iterator
 

Public Member Functions

void clear ()
 
unsigned getLineTableFilenameID (StringRef Str)
 
const char * getFilename (unsigned ID) const
 
unsigned getNumFilenames () const
 
void AddLineNote (FileID FID, unsigned Offset, unsigned LineNo, int FilenameID)
 
void AddLineNote (FileID FID, unsigned Offset, unsigned LineNo, int FilenameID, unsigned EntryExit, SrcMgr::CharacteristicKind FileKind)
 
const LineEntryFindNearestLineEntry (FileID FID, unsigned Offset)
 Find the line entry nearest to FID that is before it. More...
 
iterator begin ()
 
iterator end ()
 
void AddEntry (FileID FID, const std::vector< LineEntry > &Entries)
 Add a new line entry that has already been encoded into the internal representation of the line table. More...
 

Detailed Description

Used to hold and unique data used to represent #line information.

Definition at line 77 of file SourceManagerInternals.h.

Member Typedef Documentation

typedef std::map<FileID, std::vector<LineEntry> >::iterator clang::LineTableInfo::iterator

Definition at line 117 of file SourceManagerInternals.h.

Member Function Documentation

void LineTableInfo::AddEntry ( FileID  FID,
const std::vector< LineEntry > &  Entries 
)

Add a new line entry that has already been encoded into the internal representation of the line table.

Definition at line 274 of file SourceManager.cpp.

void LineTableInfo::AddLineNote ( FileID  FID,
unsigned  Offset,
unsigned  LineNo,
int  FilenameID 
)

AddLineNote - Add a line note to the line table that indicates that there is a #line at the specified FID/Offset location which changes the presumed location to LineNo/FilenameID.

Definition at line 190 of file SourceManager.cpp.

References clang::SrcMgr::C_User, and clang::LineEntry::get().

void LineTableInfo::AddLineNote ( FileID  FID,
unsigned  Offset,
unsigned  LineNo,
int  FilenameID,
unsigned  EntryExit,
SrcMgr::CharacteristicKind  FileKind 
)

AddLineNote This is the same as the previous version of AddLineNote, but is used for GNU line markers. If EntryExit is 0, then this doesn't change the presumed #include stack. If it is 1, this is a file entry, if it is 2 then this is a file exit. FileKind specifies whether this is a system header or extern C system header.

Definition at line 221 of file SourceManager.cpp.

References clang::LineEntry::get().

iterator clang::LineTableInfo::begin ( )
inline

Definition at line 118 of file SourceManagerInternals.h.

void clang::LineTableInfo::clear ( )
inline

Definition at line 91 of file SourceManagerInternals.h.

Referenced by clang::SourceManager::clearIDTables().

iterator clang::LineTableInfo::end ( )
inline

Definition at line 119 of file SourceManagerInternals.h.

const LineEntry * LineTableInfo::FindNearestLineEntry ( FileID  FID,
unsigned  Offset 
)

Find the line entry nearest to FID that is before it.

If there is no line entry before Offset in FID, returns null.

FindNearestLineEntry - Find the line entry nearest to FID that is before it. If there is no line entry before Offset in FID, return null.

Definition at line 255 of file SourceManager.cpp.

Referenced by clang::SourceManager::getFileCharacteristic(), clang::SourceManager::getPresumedLoc(), and clang::SourceManager::isInMainFile().

const char* clang::LineTableInfo::getFilename ( unsigned  ID) const
inline

Definition at line 98 of file SourceManagerInternals.h.

Referenced by clang::SourceManager::getPresumedLoc().

unsigned LineTableInfo::getLineTableFilenameID ( StringRef  Str)

Definition at line 179 of file SourceManager.cpp.

unsigned clang::LineTableInfo::getNumFilenames ( ) const
inline

Definition at line 102 of file SourceManagerInternals.h.


The documentation for this class was generated from the following files: