clang-tools
17.0.0git
|
Simplified description of a clang AST node. More...
#include <Protocol.h>
Public Attributes | |
std::string | role |
The general kind of node, such as "expression" Corresponds to the base AST node type such as Expr. More... | |
std::string | kind |
The specific kind of node this is, such as "BinaryOperator". More... | |
std::string | detail |
Brief additional information, such as "||" for the particular operator. More... | |
std::string | arcana |
A one-line dump of detailed information about the node. More... | |
std::optional< Range > | range |
The range of the original source file covered by this node. More... | |
std::vector< ASTNode > | children |
Nodes nested within this one, such as the operands of a BinaryOperator. More... | |
Simplified description of a clang AST node.
This is clangd's internal representation of C++ code.
Definition at line 1854 of file Protocol.h.
std::string clang::clangd::ASTNode::arcana |
A one-line dump of detailed information about the node.
This includes role/kind/description information, but is rather cryptic. It is similar to the output from clang -Xclang -ast-dump
. May be empty for certain types of nodes.
Definition at line 1869 of file Protocol.h.
std::vector<ASTNode> clang::clangd::ASTNode::children |
Nodes nested within this one, such as the operands of a BinaryOperator.
Definition at line 1874 of file Protocol.h.
std::string clang::clangd::ASTNode::detail |
Brief additional information, such as "||" for the particular operator.
The information included depends on the node kind, and may be empty.
Definition at line 1864 of file Protocol.h.
std::string clang::clangd::ASTNode::kind |
The specific kind of node this is, such as "BinaryOperator".
This is usually a concrete node class (with Expr etc suffix dropped). When there's no hierarchy (e.g. TemplateName), the variant (NameKind).
Definition at line 1861 of file Protocol.h.
std::optional<Range> clang::clangd::ASTNode::range |
The range of the original source file covered by this node.
May be missing for implicit nodes, or those created by macro expansion.
Definition at line 1872 of file Protocol.h.
std::string clang::clangd::ASTNode::role |
The general kind of node, such as "expression" Corresponds to the base AST node type such as Expr.
Definition at line 1857 of file Protocol.h.