clang-tools
15.0.0git
|
Contains detailed information about a Symbol. More...
#include <Hover.h>
Classes | |
struct | Param |
Represents parameters of a function, a template or a macro. More... | |
struct | PassType |
struct | PrintedType |
Contains pretty-printed type and desugared type. More... | |
Public Member Functions | |
markup::Document | present () const |
Produce a user-readable information. More... | |
Public Attributes | |
llvm::Optional< std::string > | NamespaceScope |
For a variable named Bar, declared in clang::clangd::Foo::getFoo the following fields will hold: More... | |
std::string | LocalScope |
Remaining named contexts in symbol's qualified name, empty string means symbol is not local. More... | |
std::string | Name |
Name of the symbol, does not contain any "::". More... | |
llvm::Optional< Range > | SymRange |
index::SymbolKind | Kind = index::SymbolKind::Unknown |
std::string | Documentation |
std::string | Definition |
Source code containing the definition of the symbol. More... | |
const char * | DefinitionLanguage = "cpp" |
std::string | AccessSpecifier |
Access specifier for declarations inside class/struct/unions, empty for others. More... | |
llvm::Optional< PrintedType > | Type |
Printable variable type. More... | |
llvm::Optional< PrintedType > | ReturnType |
Set for functions and lambdas. More... | |
llvm::Optional< std::vector< Param > > | Parameters |
Set for functions, lambdas and macros with parameters. More... | |
llvm::Optional< std::vector< Param > > | TemplateParameters |
Set for all templates(function, class, variable). More... | |
llvm::Optional< std::string > | Value |
Contains the evaluated value of the symbol if available. More... | |
llvm::Optional< uint64_t > | Size |
Contains the byte-size of fields and types where it's interesting. More... | |
llvm::Optional< uint64_t > | Offset |
Contains the offset of fields within the enclosing class. More... | |
llvm::Optional< uint64_t > | Padding |
Contains the padding following a field within the enclosing class. More... | |
llvm::Optional< Param > | CalleeArgInfo |
llvm::Optional< PassType > | CallPassType |
Contains detailed information about a Symbol.
Especially useful when generating hover responses. It can be rendered as a hover panel, or embedding clients can use the structured information to provide their own UI.
markup::Document clang::clangd::HoverInfo::present | ( | ) | const |
Produce a user-readable information.
Definition at line 1071 of file Hover.cpp.
References clang::clangd::markup::Paragraph::appendCode(), clang::clangd::markup::Paragraph::appendSpace(), clang::clangd::markup::Paragraph::appendText(), Kind, Name, Output, Parameters, ReturnType, and clang::clangd::Unknown.
std::string clang::clangd::HoverInfo::AccessSpecifier |
llvm::Optional<Param> clang::clangd::HoverInfo::CalleeArgInfo |
llvm::Optional<PassType> clang::clangd::HoverInfo::CallPassType |
std::string clang::clangd::HoverInfo::Definition |
const char* clang::clangd::HoverInfo::DefinitionLanguage = "cpp" |
index::SymbolKind clang::clangd::HoverInfo::Kind = index::SymbolKind::Unknown |
std::string clang::clangd::HoverInfo::LocalScope |
std::string clang::clangd::HoverInfo::Name |
llvm::Optional<std::string> clang::clangd::HoverInfo::NamespaceScope |
For a variable named Bar, declared in clang::clangd::Foo::getFoo the following fields will hold:
llvm::Optional<uint64_t> clang::clangd::HoverInfo::Offset |
llvm::Optional<uint64_t> clang::clangd::HoverInfo::Padding |
llvm::Optional<std::vector<Param> > clang::clangd::HoverInfo::Parameters |
llvm::Optional<PrintedType> clang::clangd::HoverInfo::ReturnType |
llvm::Optional<uint64_t> clang::clangd::HoverInfo::Size |
llvm::Optional<std::vector<Param> > clang::clangd::HoverInfo::TemplateParameters |
llvm::Optional<PrintedType> clang::clangd::HoverInfo::Type |
llvm::Optional<std::string> clang::clangd::HoverInfo::Value |