clang 20.0.0git
|
Models a nested-name-specifier
.
More...
#include "clang/Tooling/Syntax/Nodes.h"
Public Member Functions | |
NestedNameSpecifier () | |
std::vector< NameSpecifier * > | getSpecifiers () |
std::vector< List::ElementAndDelimiter< syntax::NameSpecifier > > | getSpecifiersAndDoubleColons () |
Public Member Functions inherited from clang::syntax::List | |
std::vector< ElementAndDelimiter< Node > > | getElementsAsNodesAndDelimiters () |
Returns the elements and corresponding delimiters. | |
std::vector< Node * > | getElementsAsNodes () |
Returns the elements of the list. | |
clang::tok::TokenKind | getDelimiterTokenKind () const |
Returns the appropriate delimiter for this list. | |
TerminationKind | getTerminationKind () const |
bool | canBeEmpty () const |
Whether this list can be empty in syntactically and semantically correct code. | |
Public Member Functions inherited from clang::syntax::Tree | |
Node * | getFirstChild () |
const Node * | getFirstChild () const |
Node * | getLastChild () |
const Node * | getLastChild () const |
const Leaf * | findFirstLeaf () const |
Leaf * | findFirstLeaf () |
const Leaf * | findLastLeaf () const |
Leaf * | findLastLeaf () |
llvm::iterator_range< ChildIterator > | getChildren () |
llvm::iterator_range< ConstChildIterator > | getChildren () const |
const Node * | findChild (NodeRole R) const |
Find the first node with a corresponding role. | |
Node * | findChild (NodeRole R) |
Public Member Functions inherited from clang::syntax::Node | |
Node (const Node &)=delete | |
Nodes cannot simply be copied without violating tree invariants. | |
Node & | operator= (const Node &)=delete |
Node (Node &&)=delete | |
Idiomatically, nodes are allocated on an Arena and never moved. | |
Node & | operator= (Node &&)=delete |
NodeKind | getKind () const |
NodeRole | getRole () const |
bool | isDetached () const |
Whether the node is detached from a tree, i.e. does not have a parent. | |
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. | |
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. | |
const Tree * | getParent () const |
Tree * | getParent () |
const Node * | getNextSibling () const |
Node * | getNextSibling () |
const Node * | getPreviousSibling () const |
Node * | getPreviousSibling () |
std::string | dump (const TokenManager &SM) const |
Dumps the structure of a subtree. For debugging and testing purposes. | |
std::string | dumpTokens (const TokenManager &SM) const |
Dumps the tokens forming this subtree. | |
void | assertInvariants () const |
Asserts invariants on this node of the tree and its immediate children. | |
void | assertInvariantsRecursive () const |
Runs checkInvariants on all nodes in the subtree. No-op if NDEBUG is set. | |
Static Public Member Functions | |
static bool | classof (const Node *N) |
Static Public Member Functions inherited from clang::syntax::List | |
static bool | classof (const Node *N) |
Static Public Member Functions inherited from clang::syntax::Tree | |
static bool | classof (const Node *N) |
Additional Inherited Members | |
Public Types inherited from clang::syntax::List | |
enum class | TerminationKind { Terminated , MaybeTerminated , Separated } |
Protected Member Functions inherited from clang::syntax::Tree | |
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. | |
Node (const Node &)=delete | |
Nodes cannot simply be copied without violating tree invariants. | |
Node (Node &&)=delete | |
Idiomatically, nodes are allocated on an Arena and never moved. | |
Protected 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. | |
~Node ()=default | |
Nodes are allocated on Arenas; the destructor is never called. | |
Models a nested-name-specifier
.
C++ [expr.prim.id.qual] e.g. the std::vector<int>::
in std::vector<int>::size
.
|
inline |
std::vector< syntax::NameSpecifier * > syntax::NestedNameSpecifier::getSpecifiers | ( | ) |
Definition at line 110 of file Nodes.cpp.
References clang::syntax::List::getElementsAsNodes().
std::vector< syntax::List::ElementAndDelimiter< syntax::NameSpecifier > > syntax::NestedNameSpecifier::getSpecifiersAndDoubleColons | ( | ) |