clang-tools 8.0.0

Classes | Public Types | Public Attributes | List of all members
clang::clangd::Symbol Struct Reference

`#include <Index.h>`

Collaboration diagram for clang::clangd::Symbol:
[legend]

## Classes
struct | IncludeHeaderWithReferences

## Public Types
enum | SymbolFlag : uint8_t { None = 0, IndexedForCodeCompletion = 1 << 0, Deprecated = 1 << 1, ImplementationDetail = 1 << 2, VisibleOutsideFile = 1 << 3 }

## Public Attributes
SymbolID | ID
index::SymbolInfo | SymInfo
llvm::StringRef | Name
llvm::StringRef | Scope
SymbolLocation | Definition
SymbolLocation | CanonicalDeclaration
unsigned | References = 0
SymbolOrigin | Origin = SymbolOrigin::Unknown
| Where this symbol came from. Usually an index provides a constant value. More...
llvm::StringRef | Signature
| A brief description of the symbol that can be appended in the completion candidate list. More...
llvm::StringRef | CompletionSnippetSuffix
| What to insert when completing this symbol, after the symbol name. More...
llvm::StringRef | Documentation
| Documentation including comment for the symbol declaration. More...
llvm::StringRef | ReturnType
| Type when this symbol is used in an expression. More...
llvm::StringRef | Type
| Raw representation of the OpaqueType of the symbol, used for scoring purposes. More...
llvm::SmallVector< IncludeHeaderWithReferences, 1 > | IncludeHeaders
| One Symbol can potentially be incuded via different headers. More...
SymbolFlag | Flags = SymbolFlag::None

## Detailed Description

Definition at line 160 of file Index.h.

## Member Enumeration Documentation

## ◆ SymbolFlag

enum clang::clangd::Symbol::SymbolFlag : uint8_t

Enumerator
None |
IndexedForCodeCompletion | Whether or not this symbol is meant to be used for the code completion. See also isIndexedForCodeCompletion(). Note that we don't store completion information (signature, snippet, type, inclues) if the symbol is not indexed for code completion.
Deprecated | Indicates if the symbol is deprecated.
ImplementationDetail |
VisibleOutsideFile |

Definition at line 233 of file Index.h.

## Member Data Documentation

## ◆ CanonicalDeclaration

SymbolLocation clang::clangd::Symbol::CanonicalDeclaration

Definition at line 180 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::SymbolRelevanceSignals::merge(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ CompletionSnippetSuffix

llvm::StringRef clang::clangd::Symbol::CompletionSnippetSuffix

What to insert when completing this symbol, after the symbol name.

This is in LSP snippet syntax (e.g. "({$0})" for a no-args function). (When snippets are disabled, the symbol name alone is used). Only set when the symbol is indexed for completion.

Definition at line 194 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ Definition

SymbolLocation clang::clangd::Symbol::Definition

Definition at line 171 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ Documentation

llvm::StringRef clang::clangd::Symbol::Documentation

Documentation including comment for the symbol declaration.

Definition at line 196 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ Flags

SymbolFlag clang::clangd::Symbol::Flags = SymbolFlag::None

Definition at line 248 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::SymbolQualitySignals::merge(), and clang::clangd::mergeSymbol().

## ◆ ID

SymbolID clang::clangd::Symbol::ID

Definition at line 162 of file Index.h.

Referenced by clang::clangd::SymbolSlab::Builder::insert(), llvm::yaml::MappingTraits< Symbol >::mapping(), and clang::clangd::mergeSymbol().

## ◆ IncludeHeaders

llvm::SmallVector<IncludeHeaderWithReferences, 1> clang::clangd::Symbol::IncludeHeaders

One Symbol can potentially be incuded via different headers.

- If we haven't seen a definition, this covers all declarations.
- If we have seen a definition, this covers declarations visible from any definition. Only set when the symbol is indexed for completion.

Definition at line 231 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ Name

llvm::StringRef clang::clangd::Symbol::Name

Definition at line 166 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::operator<<(), and clang::clangd::visitStrings().

## ◆ Origin

SymbolOrigin clang::clangd::Symbol::Origin = SymbolOrigin::Unknown

Where this symbol came from. Usually an index provides a constant value.

Definition at line 185 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), and clang::clangd::mergeSymbol().

## ◆ References

unsigned clang::clangd::Symbol::References = 0

Definition at line 183 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::quality().

## ◆ ReturnType

llvm::StringRef clang::clangd::Symbol::ReturnType

Type when this symbol is used in an expression.

(Short display form). e.g. return type of a function, or type of a variable. Only set when the symbol is indexed for completion.

Definition at line 200 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ Scope

llvm::StringRef clang::clangd::Symbol::Scope

Definition at line 168 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::SymbolRelevanceSignals::merge(), clang::clangd::operator<<(), and clang::clangd::visitStrings().

## ◆ Signature

llvm::StringRef clang::clangd::Symbol::Signature

A brief description of the symbol that can be appended in the completion candidate list.

For example, "(X x, Y y) const" is a function signature. Only set when the symbol is indexed for completion.

Definition at line 189 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

## ◆ SymInfo

index::SymbolInfo clang::clangd::Symbol::SymInfo

Definition at line 164 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), and clang::clangd::SymbolRelevanceSignals::merge().

## ◆ Type

llvm::StringRef clang::clangd::Symbol::Type

Raw representation of the OpaqueType of the symbol, used for scoring purposes.

Only set when the symbol is indexed for completion.

Definition at line 205 of file Index.h.

Referenced by llvm::yaml::MappingTraits< Symbol >::mapping(), clang::clangd::mergeSymbol(), and clang::clangd::visitStrings().

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

- Index.h