Commit graph

46 commits

Author SHA1 Message Date
Max Brunsfeld
1aaad66a03
Merge pull request #301 from tree-sitter/clock-based-timeouts
Replace operation limit API with a clock-based timeout API
2019-03-14 16:50:44 -07:00
Max Brunsfeld
23dfde067e Get disabled debugging code compiling again
Fixes #303
2019-03-14 16:50:10 -07:00
Max Brunsfeld
59fd8528d4 Avoid division rounding errors w/ clock counts 2019-03-14 15:53:45 -07:00
Max Brunsfeld
006a931ab8 Tests: Prevent array reallocations during ts_stack_print_dot_graph
When debugging a test with 'script/test -D', the DOT-graph generation
code was sometimes causing reallocations that were not captured by the
allocation tracker, because we explicitly disable allocation-tracking
for that method in order to reduce noise when debugging memory leaks.

By growing the relevant array *prior* to turning off allocation
tracking, we can ensure that it is not reallocated within that function,
avoiding false positive memory leak errors.

Fixes #302
2019-03-14 13:59:12 -07:00
Max Brunsfeld
88e3907cc0 Use QueryPerformanceFrequency as clock on windows 2019-03-14 13:42:31 -07:00
Max Brunsfeld
430f8874ea Lib: reduce frequency of clock calls during parsing 2019-03-14 11:52:25 -07:00
Max Brunsfeld
cddb3e416d Replace operation limit API with a clock-based timeout API 2019-03-14 11:13:38 -07:00
Max Brunsfeld
db953312b8
Merge pull request #295 from joshuawarner32/fix-warning
Fix warning about undefined snprintf
2019-03-10 11:38:22 -07:00
Joshua Warner
6f71b8840b Fix warning about undefined snprintf 2019-03-08 21:22:13 -08:00
Joshua Warner
14a483f4c3 Simplify lifetimes in Node::children in the rust bindings 2019-03-08 20:56:24 -08:00
Max Brunsfeld
ae0e89c297 lib: 0.3.9 2019-02-25 12:58:52 -08:00
Max Brunsfeld
2b685658db lib: 0.3.8 2019-02-11 09:46:26 -08:00
Vicent Marti
f487b163bf binding: Add overflow checks when slicing in parse
Because of the way TreeSitter parsers are generated, the parse callback
can ask for a byte offset at the exact end of the byte slice we're
processing, and slicing at the end of the slice in Rust causes a panic,
so we need to explicitly ward against this.
2019-02-11 12:31:40 +01:00
Max Brunsfeld
010d8f9c74 Implement Error for PropertySheetError 2019-02-06 19:43:06 -08:00
Max Brunsfeld
8db1b488e4 Make Node text methods take bytes 2019-02-06 19:42:47 -08:00
Max Brunsfeld
a85ed086cc Define UTF8PROC_STATIC macro in the source
This way, there's one less flag you have to pass when building the
library on windows.
2019-02-06 10:42:29 -08:00
Max Brunsfeld
b925f6e136 Avoid using fall-through in get_changed_ranges
Also, clean up the that function a bit and add a few comments.
2019-02-06 10:24:15 -08:00
Vicent Marti
a8cc082ce2 binding: Make walk_with_properties take an &[u8] 2019-02-06 10:10:55 +01:00
Vicent Marti
9a951c859d lib: Fix importing fdopen in parser.c 2019-02-06 10:10:38 +01:00
Vicent Marti
02bc9b5829 lib: Silence explicit fallthrough warning in GCC 2019-02-06 10:10:18 +01:00
Max Brunsfeld
695b6aff59 lib: fix cargo includes 2019-02-05 12:12:21 -08:00
Max Brunsfeld
0151051392 lib: 0.3.7 2019-02-05 12:05:18 -08:00
Max Brunsfeld
d7bc61cada Include parser header content in library crate 2019-02-05 11:59:34 -08:00
Max Brunsfeld
8edb6927d0 Update docs after Rust conversion 2019-02-05 11:34:01 -08:00
Max Brunsfeld
50281637d7 binding: Make parse methods more convenient
* Rename parse_str to parse and make it polymorphic.
* Rename parse_utf8 to parse_with, since it is now the callback-based
  version of parse
* Add a parse_utf16 method analogous to parse
* Rename existing parse_utf16 method to parse_utf16_with

This brings in the changes from tree-sitter/rust-tree-sitter#5
2019-02-05 10:59:33 -08:00
Max Brunsfeld
efe79889be Port node tests 2019-02-04 20:42:56 -08:00
Max Brunsfeld
6b8483c53c Start work on porting included range unit tests 2019-02-02 22:57:04 -08:00
Max Brunsfeld
d192eda9cf Remove stray word 'runtime' from comment 2019-01-30 21:43:44 -08:00
Max Brunsfeld
213ccfd3a4 Update trees' metadata bits when setting symbol back to word token 2019-01-29 15:30:13 -08:00
Max Brunsfeld
5a12fbd927 Verify changed ranges in randomized tests 2019-01-25 15:20:34 -08:00
Max Brunsfeld
233d616ebf Add random mutation tests 2019-01-25 12:05:21 -08:00
Max Brunsfeld
196339aaa9 Assert no memory leaks by stubbing malloc/free in the test suite 2019-01-21 14:22:35 -08:00
Max Brunsfeld
cbcc61a8cf Get parse command handling multiple files, add --time, --quiet flags 2019-01-17 17:15:10 -08:00
Max Brunsfeld
ef735eb942 Upload binary artifacts from CI builds 2019-01-16 10:12:43 -08:00
Max Brunsfeld
a8292f4fe9 Load all fixture grammars dynamically
This way the build doesn't take forever any time a single grammar has 
been regenerated.
2019-01-15 13:21:48 -08:00
Max Brunsfeld
5c3c1dd0bd Get logging flags working properly with test script 2019-01-15 13:21:48 -08:00
Max Brunsfeld
8f48240bf1 Allow building the C code with static analysis 2019-01-14 14:06:22 -08:00
Max Brunsfeld
272046a250 Reorganize tests - move them all into the CLI crate 2019-01-10 17:11:57 -08:00
Max Brunsfeld
fab4673c14 Get fixture grammars building for library unit tests 2019-01-10 15:48:13 -08:00
Max Brunsfeld
0f2347b318 Just call the C lib 'the library' everywhere, don't call it a 'runtime' 2019-01-10 15:22:39 -08:00
Max Brunsfeld
1dfbe495ed Get property sheet compilation working 2019-01-10 13:12:16 -08:00
Max Brunsfeld
6bd550ca87 Start work on property sheet compilation 2019-01-09 18:10:32 -08:00
Max Brunsfeld
98807d2053 Add debug and debug-graph flags to parse and test commands 2019-01-08 21:03:51 -08:00
Max Brunsfeld
dd416b0955 Update include paths to not reference 'runtime' directory 2019-01-04 17:33:34 -08:00
Max Brunsfeld
47607cecf4 Reorganize repo, add rust CLI and binding code, 2019-01-04 17:31:49 -08:00
Max Brunsfeld
97ca3bc2d1 Add rust tree-sitter runtime binding in lib directory 2019-01-04 17:16:34 -08:00