9#ifndef LLVM_CLANG_LIB_INDEX_FILEINDEXRECORD_H
10#define LLVM_CLANG_LIB_INDEX_FILEINDEXRECORD_H
15#include "llvm/ADT/ArrayRef.h"
16#include "llvm/ADT/SmallVector.h"
30 mutable bool IsSorted =
false;
31 mutable std::vector<DeclOccurrence> Decls;
Defines the clang::SourceLocation class and associated facilities.
Decl - This represents one declaration (or definition), e.g.
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
One of these records is kept for each identifier that is lexed.
Encapsulates the data about a macro definition (e.g.
This class handles loading and caching of source files into memory.
Stores the declaration occurrences seen in a particular source or header file of a translation unit.
void print(llvm::raw_ostream &OS, SourceManager &SM) const
ArrayRef< DeclOccurrence > getDeclOccurrencesSortedByOffset() const
void addMacroOccurence(SymbolRoleSet Roles, unsigned Offset, const IdentifierInfo *Name, const MacroInfo *MI)
Adds an occurrence of the given macro at the supplied Offset.
void addDeclOccurence(SymbolRoleSet Roles, unsigned Offset, const Decl *D, ArrayRef< SymbolRelation > Relations)
Adds an occurrence of the canonical declaration D at the supplied Offset.
void removeHeaderGuardMacros()
Remove any macro occurrences for header guards.
FileIndexRecord(FileID FID, bool IsSystem)
The JSON file list parser is used to communicate input to InstallAPI.