clang-tools  16.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


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 ( )

Definition at line 121 of file Headers.h.

Member Function Documentation

◆ allHeaders()

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

Definition at line 153 of file Headers.h.

◆ collect()

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

Definition at line 229 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

Definition at line 139 of file Headers.h.

References ID.

◆ hasIWYUExport()

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

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 269 of file Headers.cpp.

◆ isSelfContained()

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

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)

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: