aboutsummaryrefslogtreecommitdiff
path: root/src/tree_sitter/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tree_sitter/node.c')
-rw-r--r--src/tree_sitter/node.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tree_sitter/node.c b/src/tree_sitter/node.c
index b03e2fc979..576f3ef38e 100644
--- a/src/tree_sitter/node.c
+++ b/src/tree_sitter/node.c
@@ -150,7 +150,9 @@ static inline TSNode ts_node__child(
while (ts_node_child_iterator_next(&iterator, &child)) {
if (ts_node__is_relevant(child, include_anonymous)) {
if (index == child_index) {
- ts_tree_set_cached_parent(self.tree, &child, &self);
+ if (ts_node__is_relevant(self, true)) {
+ ts_tree_set_cached_parent(self.tree, &child, &self);
+ }
return child;
}
index++;