24 return self->stack.size > 0
25 ?
self->stack.contents[
self->stack.size - 1].tree
30 return self->stack.size > 0
31 ?
self->stack.contents[
self->stack.size - 1].byte_offset
51 if (self->stack.size == 0)
return;
56 .tree = ts_subtree_children(tree)[next_index],
57 .child_index = next_index,
58 .byte_offset = byte_offset,
66 .tree = ts_subtree_children(last_entry.tree)[0],
68 .byte_offset = last_entry.byte_offset,
#define array_push(self, element)
#define array_delete(self)
#define array_clear(self)
static void reusable_node_advance(ReusableNode *self)
static uint32_t reusable_node_byte_offset(ReusableNode *self)
static bool reusable_node_descend(ReusableNode *self)
static Subtree reusable_node_tree(ReusableNode *self)
static void reusable_node_advance_past_leaf(ReusableNode *self)
static void reusable_node_delete(ReusableNode *self)
static void reusable_node_reset(ReusableNode *self, Subtree tree)
static void reusable_node_clear(ReusableNode *self)
static ReusableNode reusable_node_new(void)
Subtree last_external_token
Subtree ts_subtree_last_external_token(Subtree tree)
static bool ts_subtree_has_external_tokens(Subtree self)
static uint32_t ts_subtree_total_bytes(Subtree self)
static uint32_t ts_subtree_child_count(Subtree self)
static struct stack stack[MAX_INCLUDE]