Lines Matching refs:AstNode
39 class AstNode;
41 using NodeTraverser = std::function<void(AstNode *)>;
43 using UpdateNodes = std::variant<AstNode *, std::vector<AstNode *>>;
44 using NodeUpdater = std::function<UpdateNodes(AstNode *)>;
118 class AstNode {
120 explicit AstNode(AstNodeType type) : type_(type) {};
121 virtual ~AstNode() = default;
122 NO_COPY_SEMANTIC(AstNode);
123 NO_MOVE_SEMANTIC(AstNode);
257 AstNode *Parent()
259 return const_cast<AstNode*>(parent_);
262 const AstNode *Parent() const
267 void SetParent(const AstNode *parent)
272 const AstNode *Original() const
277 void SetOriginal(const AstNode *original)
304 const AstNode *parent_ {};
308 const AstNode *original_ {nullptr};