1#ifndef TREE_SITTER_TREE_H_
 2#define TREE_SITTER_TREE_H_
 3
 4#include "./subtree.h"
 5
 6#ifdef __cplusplus
 7extern "C" {
 8#endif
 9
10typedef struct {
11  const Subtree *child;
12  const Subtree *parent;
13  Length position;
14  TSSymbol alias_symbol;
15} ParentCacheEntry;
16
17struct TSTree {
18  Subtree root;
19  const TSLanguage *language;
20  TSRange *included_ranges;
21  unsigned included_range_count;
22};
23
24TSTree *ts_tree_new(Subtree root, const TSLanguage *language, const TSRange *, unsigned);
25TSNode ts_node_new(const TSTree *, const Subtree *, Length, TSSymbol);
26
27#ifdef __cplusplus
28}
29#endif
30
31#endif  // TREE_SITTER_TREE_H_