Lines Matching refs:root_node
334 void push_subnode(TreeNode *&root_node, TreeNode *node) { in push_subnode() argument
335 if (!root_node) { in push_subnode()
336 root_node = node; in push_subnode()
338 } else if (are_nodes_equal(root_node, node)) { in push_subnode()
343 if (!has_children(root_node)) { in push_subnode()
347 if (is_look_like_left_sibling(root_node, node)) in push_subnode()
348 push_subnode(root_node->m_left, node); in push_subnode()
350 push_subnode(root_node->m_right, node); in push_subnode()
354 if (has_left_child(root_node)) { in push_subnode()
355 if (is_subnode(root_node->m_left, node)) { in push_subnode()
356 push_subnode(root_node->m_left, node); in push_subnode()
359 push_subnode(root_node->m_right, node); in push_subnode()
363 CHECK_MESSAGE(root_node->m_right != nullptr, "Right child is nullptr but must be present"); in push_subnode()
364 if (is_subnode(root_node->m_right, node)) { in push_subnode()
365 push_subnode(root_node->m_right, node); in push_subnode()
368 push_subnode(root_node->m_left, node); in push_subnode()
374 bool is_look_like_left_sibling(TreeNode *root_node, TreeNode *node) { in is_look_like_left_sibling() argument
375 if (root_node->m_range_begin == node->m_range_begin) in is_look_like_left_sibling()
377 CHECK_MESSAGE(root_node->m_range_end == node->m_range_end, nullptr); in is_look_like_left_sibling()
383 bool is_subnode(TreeNode *root_node, TreeNode *node) { in is_subnode() argument
384 return root_node->m_range_begin <= node->m_range_begin && in is_subnode()
385 node->m_range_end <= root_node->m_range_end; in is_subnode()