|
| DeclaratorList () |
|
std::vector< SimpleDeclarator * > | getDeclarators () |
|
std::vector< List::ElementAndDelimiter< syntax::SimpleDeclarator > > | getDeclaratorsAndCommas () |
|
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.
|
|
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) |
|
| 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.
|
|