Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions tree_sitter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.2.1
- Fix memory management by making NativeFinalizer instances static across all Finalizable classes
- Fix QueryCursor to use correct deletion function (ts_query_cursor_delete)

## 0.2.0
- Update dependencies, and latest version of TreeSitter C bindings.

Expand Down
14 changes: 7 additions & 7 deletions tree_sitter/lib/tree_sitter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ base class Parser implements Finalizable {
late final _language =
_languagePtr.asFunction<ffi.Pointer<TSLanguage> Function()>()();

final _finalizer =
static final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_parser_delete.cast());

/// Creates a new parser with the given shared library and entry point
Expand Down Expand Up @@ -110,7 +110,7 @@ base class Parser implements Finalizable {

final class CancelToken implements Finalizable {
final Pointer<Size> _token;
final _finalizer = NativeFinalizer(free.cast());
static final _finalizer = NativeFinalizer(free.cast());
CancelToken() : _token = calloc<Size>(1) {
_finalizer.attach(this, _token.cast(), detach: this);
}
Expand All @@ -122,7 +122,7 @@ final class CancelToken implements Finalizable {

base class Tree implements Finalizable {
final Pointer<TSTree> tree;
final _finalizer =
static final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_tree_delete.cast());

Tree(this.tree) {
Expand All @@ -142,7 +142,7 @@ base class Tree implements Finalizable {

base class TreeCursor implements Finalizable {
late final Pointer<TSTreeCursor> cursor = malloc<TSTreeCursor>(1);
final _finalizer =
static final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_tree_cursor_delete.cast());
final TSNode node;
TreeCursor(this.node) {
Expand All @@ -153,7 +153,7 @@ base class TreeCursor implements Finalizable {

base class Query implements Finalizable {
late final Pointer<TSQuery> query;
final _finalizer =
static final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_query_delete.cast());
Query(this.query) {
_finalizer.attach(this, query.cast(), detach: this);
Expand Down Expand Up @@ -243,8 +243,8 @@ extension TSApiIntX on int {

base class QueryCursor implements Finalizable {
final Pointer<TSQueryCursor> cursor = treeSitterApi.ts_query_cursor_new();
final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_query_delete.cast());
static final _finalizer =
NativeFinalizer(treeSitterApi.addresses.ts_query_cursor_delete.cast());
QueryCursor() {
_finalizer.attach(this, cursor.cast(), detach: this);
}
Expand Down
2 changes: 1 addition & 1 deletion tree_sitter/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: tree_sitter
description: A tree sitter parsing library
version: 0.2.0
version: 0.2.1
repository: https://github.com/UserNobody14/tree-sitter-dart

environment:
Expand Down