clang-tools 8.0.0

Public Attributes | List of all members
clang::clangd::SymbolCollector::Options Struct Reference

`#include <SymbolCollector.h>`

Collaboration diagram for clang::clangd::SymbolCollector::Options:
[legend]

## Public Attributes
std::string | FallbackDir
| When symbol paths cannot be resolved to absolute paths (e.g. More...
bool | CollectIncludePath = false
const CanonicalIncludes * | Includes = nullptr
| If set, this is used to map symbol #include path to a potentially different #include path. More...
bool | CountReferences = false
RefKind | RefFilter = RefKind::Unknown
| The symbol ref kinds that will be collected. More...
bool | RefsInHeaders = false
| If set to true, SymbolCollector will collect all refs (from main file and included headers); otherwise, only refs from main file will be collected. More...
SymbolOrigin | Origin = SymbolOrigin::Unknown
bool | CollectMacro = false
| Collect macros. More...
bool | CollectMainFileSymbols = true
| Collect symbols local to main-files, such as static functions and symbols inside an anonymous namespace. More...
std::function< bool(const SourceManager &, FileID)> | FileFilter = nullptr
| If this is set, only collect symbols/references from a file if `FileFilter(SM, FID)` is true. More...

## Detailed Description

Definition at line 46 of file SymbolCollector.h.

## Member Data Documentation

## ◆ CollectIncludePath

bool clang::clangd::SymbolCollector::Options::CollectIncludePath = false

Definition at line 52 of file SymbolCollector.h.

## ◆ CollectMacro

bool clang::clangd::SymbolCollector::Options::CollectMacro = false

Collect macros.

Note that SymbolCollector must be run with preprocessor in order to collect macros. For example, `indexTopLevelDecls` will not index any macro even if this is true.

Definition at line 75 of file SymbolCollector.h.

## ◆ CollectMainFileSymbols

bool clang::clangd::SymbolCollector::Options::CollectMainFileSymbols = true

Collect symbols local to main-files, such as static functions and symbols inside an anonymous namespace.

Definition at line 78 of file SymbolCollector.h.

Referenced by clang::clangd::SymbolCollector::shouldCollectSymbol().

## ◆ CountReferences

bool clang::clangd::SymbolCollector::Options::CountReferences = false

Definition at line 57 of file SymbolCollector.h.

## ◆ FallbackDir

std::string clang::clangd::SymbolCollector::Options::FallbackDir

When symbol paths cannot be resolved to absolute paths (e.g.

files in VFS that does not have absolute path), combine the fallback directory with symbols' paths to get absolute paths. This must be an absolute path.

Definition at line 51 of file SymbolCollector.h.

## ◆ FileFilter

std::function<bool(const SourceManager &, FileID)> clang::clangd::SymbolCollector::Options::FileFilter = nullptr

If this is set, only collect symbols/references from a file if `FileFilter(SM, FID)` is true.

If not set, all files are indexed.

Definition at line 81 of file SymbolCollector.h.

## ◆ Includes

const CanonicalIncludes* clang::clangd::SymbolCollector::Options::Includes = nullptr

If set, this is used to map symbol #include path to a potentially different #include path.

Definition at line 55 of file SymbolCollector.h.

## ◆ Origin

SymbolOrigin clang::clangd::SymbolCollector::Options::Origin = SymbolOrigin::Unknown

Definition at line 70 of file SymbolCollector.h.

## ◆ RefFilter

RefKind clang::clangd::SymbolCollector::Options::RefFilter = RefKind::Unknown

The symbol ref kinds that will be collected.

If not set, SymbolCollector will not collect refs. Note that references of namespace decls are not collected, as they contribute large part of the index, and they are less useful compared with other decls.

Definition at line 63 of file SymbolCollector.h.

## ◆ RefsInHeaders

bool clang::clangd::SymbolCollector::Options::RefsInHeaders = false

If set to true, SymbolCollector will collect all refs (from main file and included headers); otherwise, only refs from main file will be collected.

This flag is only meaningful when RefFilter is set.

Definition at line 68 of file SymbolCollector.h.

The documentation for this struct was generated from the following file:

- SymbolCollector.h