Lines Matching refs:Node
54 class Node {
58 Node(NodeKind Kind);
60 ~Node() = default;
64 Node(const Node &) = delete;
65 Node &operator=(const Node &) = delete;
67 Node(Node &&) = delete;
68 Node &operator=(Node &&) = delete;
93 const Node *getNextSibling() const { return NextSibling; } in getNextSibling()
94 Node *getNextSibling() { return NextSibling; } in getNextSibling()
95 const Node *getPreviousSibling() const { return PreviousSibling; } in getPreviousSibling()
96 Node *getPreviousSibling() { return PreviousSibling; } in getPreviousSibling()
122 Node *NextSibling;
123 Node *PreviousSibling;
132 class Leaf final : public Node {
135 static bool classof(const Node *N);
144 class Tree : public Node {
177 static bool classof(const Node *N);
179 Node *getFirstChild() { return FirstChild; } in getFirstChild()
180 const Node *getFirstChild() const { return FirstChild; } in getFirstChild()
181 Node *getLastChild() { return LastChild; } in getLastChild()
182 const Node *getLastChild() const { return LastChild; } in getLastChild()
195 struct ChildIterator : ChildIteratorBase<ChildIterator, Node> {
199 : ChildIteratorBase<ConstChildIterator, const Node> {
213 const Node *findChild(NodeRole R) const;
214 Node *findChild(NodeRole R) { in findChild()
215 return const_cast<Node *>(const_cast<const Tree *>(this)->findChild(R)); in findChild()
219 using Node::Node;
226 void appendChildLowLevel(Node *Child, NodeRole Role);
228 void prependChildLowLevel(Node *Child, NodeRole Role);
232 void appendChildLowLevel(Node *Child);
233 void prependChildLowLevel(Node *Child);
243 void replaceChildRangeLowLevel(Node *Begin, Node *End, Node *New);
246 Node *FirstChild = nullptr;
247 Node *LastChild = nullptr;
268 static bool classof(const Node *N);
283 std::vector<ElementAndDelimiter<Node>> getElementsAsNodesAndDelimiters();
288 std::vector<Node *> getElementsAsNodes();