Normed parser/src/node.c into multiple files

This commit is contained in:
Maieul BOYER 2024-08-31 17:30:30 +00:00
parent 009be4a4b4
commit 36d9d411ba
10 changed files with 242 additions and 165 deletions

View file

@ -6,7 +6,7 @@
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/31 17:16:53 by maiboyer #+# #+# */
/* Updated: 2024/08/31 17:17:09 by maiboyer ### ########.fr */
/* Updated: 2024/08/31 17:26:57 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
@ -14,29 +14,32 @@
#include "parser/language.h"
#include "parser/tree.h"
bool ts_node__is_relevant(TSNode self, bool include_anonymous)
bool ts_node__is_relevant(TSNode self, bool include_anonymous)
{
TSSymbol alias;
Subtree tree;
TSSymbol alias;
Subtree tree;
tree = ts_node__subtree(self);
if (include_anonymous)
return ts_subtree_visible(tree) || ts_node__alias(&self);
return (ts_subtree_visible(tree) || ts_node__alias(&self));
alias = ts_node__alias(&self);
if (alias)
return ts_language_symbol_metadata(self.tree->language, alias).named;
return (ts_language_symbol_metadata(self.tree->language, alias).named);
else
return ts_subtree_visible(tree) && ts_subtree_named(tree);
return (ts_subtree_visible(tree) && ts_subtree_named(tree));
}
t_u32 ts_node__relevant_child_count(TSNode self, bool include_anonymous)
t_u32 ts_node__relevant_child_count(TSNode self, bool include_anonymous)
{
Subtree tree = ts_node__subtree(self);
Subtree tree;
tree = ts_node__subtree(self);
if (ts_subtree_child_count(tree) > 0)
{
if (include_anonymous)
return tree->visible_child_count;
return (tree->visible_child_count);
else
return tree->named_child_count;
return (tree->named_child_count);
}
return 0;
return (0);
}