clang-tools 19.0.0git
Classes | Public Attributes | List of all members
clang::clangd::TypeHierarchyItem Struct Reference

#include <Protocol.h>

Classes

struct  ResolveParams
 Used to resolve a client provided item back. More...
 

Public Attributes

std::string name
 The name of this item.
 
SymbolKind kind
 The kind of this item.
 
std::optional< std::string > detail
 More detail for this item, e.g. the signature of a function.
 
URIForFile uri
 The resource identifier of this item.
 
Range range
 The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g.
 
Range selectionRange
 The range that should be selected and revealed when this symbol is being picked, e.g.
 
ResolveParams data
 A data entry field that is preserved between a type hierarchy prepare and supertypes or subtypes requests.
 
bool deprecated = false
 true if the hierarchy item is deprecated.
 
std::optional< std::vector< TypeHierarchyItem > > parents
 This is a clangd exntesion.
 
std::optional< std::vector< TypeHierarchyItem > > children
 If this type hierarchy item is resolved, it contains the direct children of the current item.
 

Detailed Description

Definition at line 1495 of file Protocol.h.

Member Data Documentation

◆ children

std::optional<std::vector<TypeHierarchyItem> > clang::clangd::TypeHierarchyItem::children

If this type hierarchy item is resolved, it contains the direct children of the current item.

Could be empty if the item does not have any descendants. If not defined, the children have not been resolved. This is a clangd exntesion.

Definition at line 1539 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), clang::clangd::resolveTypeHierarchy(), and clang::clangd::serializeTHIForExtension().

◆ data

ResolveParams clang::clangd::TypeHierarchyItem::data

A data entry field that is preserved between a type hierarchy prepare and supertypes or subtypes requests.

It could also be used to identify the type hierarchy in the server, helping improve the performance on resolving supertypes and subtypes.

Definition at line 1526 of file Protocol.h.

Referenced by clang::clangd::fillSuperTypes(), clang::clangd::fromJSON(), clang::clangd::resolveTypeHierarchy(), clang::clangd::serializeTHIForExtension(), clang::clangd::subTypes(), clang::clangd::superTypes(), and clang::clangd::toJSON().

◆ deprecated

bool clang::clangd::TypeHierarchyItem::deprecated = false

true if the hierarchy item is deprecated.

Otherwise, false. This is a clangd exntesion.

Definition at line 1530 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), and clang::clangd::serializeTHIForExtension().

◆ detail

std::optional<std::string> clang::clangd::TypeHierarchyItem::detail

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

Definition at line 1503 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), clang::clangd::serializeTHIForExtension(), and clang::clangd::toJSON().

◆ kind

SymbolKind clang::clangd::TypeHierarchyItem::kind

The kind of this item.

Definition at line 1500 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), clang::clangd::serializeTHIForExtension(), and clang::clangd::toJSON().

◆ name

std::string clang::clangd::TypeHierarchyItem::name

◆ parents

std::optional<std::vector<TypeHierarchyItem> > clang::clangd::TypeHierarchyItem::parents

This is a clangd exntesion.

Definition at line 1533 of file Protocol.h.

Referenced by clang::clangd::fillSuperTypes(), clang::clangd::fromJSON(), and clang::clangd::serializeTHIForExtension().

◆ range

Range clang::clangd::TypeHierarchyItem::range

The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g.

comments and code.

Definition at line 1510 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), clang::clangd::serializeTHIForExtension(), and clang::clangd::toJSON().

◆ selectionRange

Range clang::clangd::TypeHierarchyItem::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 1514 of file Protocol.h.

Referenced by clang::clangd::fromJSON(), clang::clangd::serializeTHIForExtension(), and clang::clangd::toJSON().

◆ uri

URIForFile clang::clangd::TypeHierarchyItem::uri

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