clang-tools 10.0.0

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

Represents programming constructs like variables, classes, interfaces etc. More...

`#include <Protocol.h>`

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

## Public Attributes
std::string | name
| The name of this symbol. More...
std::string | detail
| More detail for this symbol, e.g the signature of a function. More...
SymbolKind | kind
| The kind of this symbol. More...
bool | deprecated
| Indicates if this symbol is deprecated. More...
Range | range
| The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. More...
Range | selectionRange
| The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. More...
std::vector< DocumentSymbol > | children
| Children of this symbol, e.g. properties of a class. More...

## Detailed Description

Represents programming constructs like variables, classes, interfaces etc.

that appear in a document. Document symbols can be hierarchical and they have two ranges: one that encloses its definition and one that points to its most interesting range, e.g. the range of an identifier.

Definition at line 798 of file Protocol.h.

## Member Data Documentation

## ◆ children

std::vector<DocumentSymbol> clang::clangd::DocumentSymbol::children

Children of this symbol, e.g. properties of a class.

Definition at line 822 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

## ◆ deprecated

bool clang::clangd::DocumentSymbol::deprecated

Indicates if this symbol is deprecated.

Definition at line 809 of file Protocol.h.

## ◆ detail

std::string clang::clangd::DocumentSymbol::detail

More detail for this symbol, e.g the signature of a function.

Definition at line 803 of file Protocol.h.

## ◆ kind

SymbolKind clang::clangd::DocumentSymbol::kind

The kind of this symbol.

Definition at line 806 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

## ◆ name

std::string clang::clangd::DocumentSymbol::name

The name of this symbol.

Definition at line 800 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy(), and clang::clangd::operator<<().

## ◆ range

Range clang::clangd::DocumentSymbol::range

The range enclosing this symbol not including leading/trailing whitespace but everything else like comments.

This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI.

Definition at line 815 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

## ◆ selectionRange

Range clang::clangd::DocumentSymbol::selectionRange

The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.

Must be contained by the `range`.

Definition at line 819 of file Protocol.h.

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

- Protocol.h