clang 10.0.0git

Public Member Functions | Static Public Member Functions | List of all members
clang::syntax::Declaration Class Reference

A declaration that can appear at the top-level. More...

`#include "clang/Tooling/Syntax/Nodes.h"`

Inheritance diagram for clang::syntax::Declaration:
[legend]
Collaboration diagram for clang::syntax::Declaration:
[legend]

## Public Member Functions
| Declaration (NodeKind K)
Public Member Functions inherited from clang::syntax::Tree
Node * | firstChild ()
const Node * | firstChild () const
Leaf * | firstLeaf ()
const Leaf * | firstLeaf () const
Leaf * | lastLeaf ()
const Leaf * | lastLeaf () const
Public Member Functions inherited from clang::syntax::Node
| Node (NodeKind Kind)
| Newly created nodes are detached from a tree, parent and sibling links are set when the node is added as a child to another one. More...
NodeKind | kind () const
NodeRole | role () const
bool | isDetached () const
| Whether the node is detached from a tree, i.e. does not have a parent. More...
bool | isOriginal () const
| Whether the node was created from the AST backed by the source code rather than added later through mutation APIs or created with factory functions. More...
bool | canModify () const
| If this function return false, the tree cannot be modified because there is no reasonable way to produce the corresponding textual replacements. More...
const Tree * | parent () const
Tree * | parent ()
const Node * | nextSibling () const
Node * | nextSibling ()
std::string | dump (const Arena &A) const
| Dumps the structure of a subtree. For debugging and testing purposes. More...
std::string | dumpTokens (const Arena &A) const
| Dumps the tokens forming this subtree. More...
void | assertInvariants () const
| Asserts invariants on this node of the tree and its immediate children. More...
void | assertInvariantsRecursive () const
| Runs checkInvariants on all nodes in the subtree. No-op if NDEBUG is set. More...

## Static Public Member Functions
static bool | classof (const Node *N)
Static Public Member Functions inherited from clang::syntax::Tree
static bool | classof (const Node *N)

## Additional Inherited Members
Protected Member Functions inherited from clang::syntax::Tree
syntax::Node * | findChild (NodeRole R)
| Find the first node with a corresponding role. More...

## Detailed Description

A declaration that can appear at the top-level.

Note that this does not correspond 1-to-1 to clang::Decl. Syntax trees distinguish between top-level declarations (e.g. namespace definitions) and declarators (e.g. variables, typedefs, etc.). Declarators are stored inside SimpleDeclaration.

Definition at line 319 of file Nodes.h.

## Constructor & Destructor Documentation

## ◆ Declaration()

clang::syntax::Declaration::Declaration | ( | NodeKind | K | ) |
| inline

Definition at line 321 of file Nodes.h.

## Member Function Documentation

## ◆ classof()

static bool clang::syntax::Declaration::classof | ( | const Node * | N | ) |
| inline static

Definition at line 322 of file Nodes.h.

References clang::syntax::Node::kind(), clang::syntax::TypeAliasDeclaration, and clang::syntax::UnknownDeclaration.

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

- include/clang/Tooling/Syntax/Nodes.h