15 #ifndef LLVM_CLANG_BASIC_SOURCEMANAGERINTERNALS_H 16 #define LLVM_CLANG_BASIC_SOURCEMANAGERINTERNALS_H 20 #include "llvm/ADT/StringMap.h" 21 #include "llvm/ADT/StringRef.h" 22 #include "llvm/Support/Allocator.h" 88 llvm::StringMap<unsigned, llvm::BumpPtrAllocator> FilenameIDs;
89 std::vector<llvm::StringMapEntry<unsigned>*> FilenamesByID;
93 std::map<FileID, std::vector<LineEntry>> LineEntries;
98 FilenamesByID.clear();
102 unsigned getLineTableFilenameID(StringRef Str);
105 assert(ID < FilenamesByID.size() &&
"Invalid FilenameID");
106 return FilenamesByID[
ID]->getKey();
129 void AddEntry(
FileID FID,
const std::vector<LineEntry> &Entries);
134 #endif // LLVM_CLANG_BASIC_SOURCEMANAGERINTERNALS_H
unsigned IncludeOffset
The offset of the virtual include stack location, which is manipulated by GNU linemarker directives...
Defines the SourceManager interface.
int FilenameID
The ID of the filename identified by this line entry: #line 4 "foo.c".
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
Used to hold and unique data used to represent #line information.
unsigned FileOffset
The offset in this file that the line entry occurs at.
SrcMgr::CharacteristicKind FileKind
Set the 0 if no flags, 1 if a system header,.
const AnnotatedLine * Line
bool operator<(DeclarationName LHS, DeclarationName RHS)
Ordering on two declaration names.
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
Dataflow Directional Tag Classes.
StringRef getFilename(unsigned ID) const
unsigned LineNo
The presumed line number of this line entry: #line 4.
Defines the clang::SourceLocation class and associated facilities.
unsigned getNumFilenames() const
std::map< FileID, std::vector< LineEntry > >::iterator iterator