doc builders (no annotation check support)

This commit is contained in:
ProgramSnail 2023-07-20 22:21:51 +03:00
parent 696a9c3a1a
commit 6682e0beb1
5 changed files with 76 additions and 20 deletions

View file

@ -16,63 +16,69 @@ public:
Node(const TSNode &node, const std::string *source)
: node_(node), source_(source) {}
std::string get_type() { return ts_node_type(node_); }
std::string get_type() const { return ts_node_type(node_); }
std::pair<size_t, size_t> get_start_point() {
std::pair<size_t, size_t> get_start_point() const {
TSPoint point = ts_node_start_point(node_);
return {point.row, point.column};
}
std::pair<size_t, size_t> get_end_point() {
std::pair<size_t, size_t> get_end_point() const {
TSPoint point = ts_node_end_point(node_);
return {point.row, point.column};
}
std::string get_as_sexpression() { return ts_node_string(node_); }
std::string get_as_sexpression() const { return ts_node_string(node_); }
std::string get_value() { // from source
std::string get_value() const { // from source
size_t start = ts_node_start_byte(node_);
size_t end = ts_node_end_byte(node_);
return source_->substr(start, end - start);
}
bool is_null() { return ts_node_is_null(node_); }
bool is_null() const { return ts_node_is_null(node_); }
bool is_named() { return ts_node_is_named(node_); }
bool is_named() const { return ts_node_is_named(node_); }
bool is_missing() { return ts_node_is_missing(node_); }
bool is_missing() const { return ts_node_is_missing(node_); }
bool is_extra() { // comments, etc.
bool is_extra() const { // comments, etc.
return ts_node_is_extra(node_);
}
bool has_error() { return ts_node_has_error(node_); }
bool has_error() const { return ts_node_has_error(node_); }
Node nth_child(size_t n) { return Node(ts_node_child(node_, n), source_); }
Node nth_child(size_t n) const {
return Node(ts_node_child(node_, n), source_);
}
size_t child_count() { return ts_node_child_count(node_); }
size_t child_count() const { return ts_node_child_count(node_); }
Node nth_named_child(size_t n) {
Node nth_named_child(size_t n) const {
return Node(ts_node_named_child(node_, n), source_);
}
size_t named_child_count() { return ts_node_named_child_count(node_); }
size_t named_child_count() const {
return ts_node_named_child_count(node_);
}
Node child_by_field_name(const std::string &name) {
Node child_by_field_name(const std::string &name) const {
return Node(ts_node_child_by_field_name(node_, name.c_str(), name.size()),
source_);
}
Node previous_sibling() {
Node previous_sibling() const {
return Node(ts_node_prev_sibling(node_), source_);
}
Node previous_named_sibling() {
Node previous_named_sibling() const {
return Node(ts_node_prev_named_sibling(node_), source_);
}
Node next_sibling() { return Node(ts_node_next_sibling(node_), source_); }
Node next_sibling() const {
return Node(ts_node_next_sibling(node_), source_);
}
Node next_named_dibling() {
Node next_named_sibling() const {
return Node(ts_node_next_named_sibling(node_), source_);
}