clang-tools  15.0.0git
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
clang::clangd::IncludeStructure Class Reference

#include <Headers.h>

Collaboration diagram for clang::clangd::IncludeStructure:
Collaboration graph
[legend]

Classes

class  RecordHeaders
 

Public Types

enum  HeaderID : unsigned
 

Public Member Functions

 IncludeStructure ()
 
void collect (const CompilerInstance &CI)
 
llvm::Optional< HeaderIDgetID (const FileEntry *Entry) const
 
HeaderID getOrCreateID (FileEntryRef Entry)
 
StringRef getRealPath (HeaderID ID) const
 
bool isSelfContained (HeaderID ID) const
 
bool hasIWYUExport (HeaderID ID) const
 
llvm::ArrayRef< std::string > allHeaders () const
 
llvm::DenseMap< HeaderID, unsigned > includeDepth (HeaderID Root=MainFileID) const
 

Public Attributes

llvm::DenseMap< HeaderID, SmallVector< HeaderID > > IncludeChildren
 
llvm::DenseMap< tooling::stdlib::Header, llvm::SmallVector< HeaderID > > StdlibHeaders
 
std::vector< InclusionMainFileIncludes
 

Static Public Attributes

static const HeaderID MainFileID = HeaderID(0u)
 

Detailed Description

Definition at line 119 of file Headers.h.

Member Enumeration Documentation

◆ HeaderID

Definition at line 134 of file Headers.h.

Constructor & Destructor Documentation

◆ IncludeStructure()

clang::clangd::IncludeStructure::IncludeStructure ( )
inline

Definition at line 121 of file Headers.h.

Member Function Documentation

◆ allHeaders()

llvm::ArrayRef<std::string> clang::clangd::IncludeStructure::allHeaders ( ) const
inline

Definition at line 153 of file Headers.h.

◆ collect()

void clang::clangd::IncludeStructure::collect ( const CompilerInstance &  CI)

Definition at line 235 of file Headers.cpp.

◆ getID()

llvm::Optional< IncludeStructure::HeaderID > clang::clangd::IncludeStructure::getID ( const FileEntry *  Entry) const

◆ getOrCreateID()

IncludeStructure::HeaderID clang::clangd::IncludeStructure::getOrCreateID ( FileEntryRef  Entry)

◆ getRealPath()

StringRef clang::clangd::IncludeStructure::getRealPath ( HeaderID  ID) const
inline

Definition at line 139 of file Headers.h.

References ID.

◆ hasIWYUExport()

bool clang::clangd::IncludeStructure::hasIWYUExport ( HeaderID  ID) const
inline

Definition at line 148 of file Headers.h.

References ID.

◆ includeDepth()

llvm::DenseMap< IncludeStructure::HeaderID, unsigned > clang::clangd::IncludeStructure::includeDepth ( HeaderID  Root = MainFileID) const

Definition at line 275 of file Headers.cpp.

◆ isSelfContained()

bool clang::clangd::IncludeStructure::isSelfContained ( HeaderID  ID) const
inline

Definition at line 144 of file Headers.h.

References ID.

Member Data Documentation

◆ IncludeChildren

llvm::DenseMap<HeaderID, SmallVector<HeaderID> > clang::clangd::IncludeStructure::IncludeChildren

◆ MainFileID

const HeaderID clang::clangd::IncludeStructure::MainFileID = HeaderID(0u)
static

Definition at line 173 of file Headers.h.

Referenced by getOrCreateID().

◆ MainFileIncludes

std::vector<Inclusion> clang::clangd::IncludeStructure::MainFileIncludes

◆ StdlibHeaders

llvm::DenseMap<tooling::stdlib::Header, llvm::SmallVector<HeaderID> > clang::clangd::IncludeStructure::StdlibHeaders

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