Comments (1)
Seems like it to me. I changed this test to call getChangedRanges()
repeatedly
test/tree_test.js | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/test/tree_test.js b/test/tree_test.js
index fe4729a..77bccfe 100644
--- a/test/tree_test.js
+++ b/test/tree_test.js
@@ -131,15 +131,17 @@ describe("Tree", () => {
"(program (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))"
);
- const ranges = tree1.getChangedRanges(tree2);
- assert.deepEqual(ranges, [
- {
- startIndex: 0,
- endIndex: "abc + defg".length,
- startPosition: { row: 0, column: 0 },
- endPosition: { row: 0, column: "abc + defg".length }
- }
- ]);
+ for (let i = 0; i < 100000000; i++) {
+ const ranges = tree1.getChangedRanges(tree2);
+ assert.deepEqual(ranges, [
+ {
+ startIndex: 0,
+ endIndex: "abc + defg".length,
+ startPosition: { row: 0, column: 0 },
+ endPosition: { row: 0, column: "abc + defg".length }
+ }
+ ]);
+ }
});
it('throws an exception if the argument is not a tree', () => {
opened top -o mem
and ran npm test
and saw the memory climb to gigabytes pretty quickly. After adding the free(ranges)
I didn't see memory climb and the tests still pass.
from node-tree-sitter.
Related Issues (20)
- Getting error no member named 'CreationContext' in 'v8::Function' when installing tree-sitter HOT 1
- Docs for how to transpile one language to another using tree-sitter?
- Module not found Error HOT 1
- Issue installing tree-sitter with pnpm HOT 5
- Not compatible with newer versions of Electron; `prebuild-install` needs updating HOT 1
- Error: compiled against a different Node.js version (108 vs 93) HOT 2
- `prebuild-install` should be in package.json's dev dependencies HOT 3
- ReferenceError: grammar is not defined HOT 1
- Segfault HOT 2
- Can't resolve './build/Debug/tree_sitter_runtime_binding.node' in 'D:\vue-admin-template\node_modules\tree-sitter'
- Module not found Error HOT 1
- [question] How to check whether two SyntaxNodes are the same? HOT 3
- void Tree::GetChangedRanges(const Nan::FunctionCallbackInfo<Value> &info) { const Tree *tree = ObjectWrap::Unwrap<Tree>(info.This()); const Tree *other_tree = UnwrapTree(info[0]); if (!other_tree) { Nan::ThrowTypeError("Argument must be a tree"); return; } uint32_t range_count; TSRange *ranges = ts_tree_get_changed_ranges(tree->tree_, other_tree->tree_, &range_count); Local<Array> result = Nan::New<Array>(); for (size_t i = 0; i < range_count; i++) { Nan::Set(result, i, RangeToJS(ranges[i])); } info.GetReturnValue().Set(result); } HOT 2
- Tree sitter Node bindings segfault when accessing certain properties HOT 5
- Several warnings and lots of ugly output when installing from npm HOT 1
- Prebuild binaries for electron HOT 1
- salt
- .
- Silently fails while importing on VSCode extension debugger HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-tree-sitter.