Commit graph

25 commits

Author SHA1 Message Date
Amaan Qureshi 22cda59a19 lib: clean up strict aliasing fixes in array.h 2026-02-08 11:09:31 +01:00
Will Lillis 5177b3dc26 fix(lib): address strict aliasing violations with Array type
Altering the `Array` type itself isn't feasible, as this causes
unacceptable breakage with existing parsers that depend on it. Instead,
pass in individual `Array` fields for to various `_array__*` functions.

Any time the `contents` of an array may be modified (`free`d, `realloc`d,
etc), return the potentially new address out by value. This prevents any
strict aliasing violations as we're no longer writing to a type-casted
pointer.

Co-authored-by: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
2026-01-24 14:18:40 -05:00
ObserverOfTime 881c54e462 fix(lib): handle compiler warnings 2024-10-19 02:57:08 +00:00
Amaan Qureshi 28972f916a fix(lib): silence warnings with -Wpedantic 2024-09-27 12:58:26 -04:00
Amaan Qureshi 30fd71f5ac fix(lib): avoid possible UB of calling memset on a null ptr when 0 is passed into array_grow_by 2024-03-13 00:02:53 -04:00
ObserverOfTime 22c85c6139 refactor(array): use pragma GCC in clang too 2024-02-29 01:50:04 -05:00
Amaan Qureshi a31f084b1b fix: ignore unused variables in the array macros 2024-02-26 14:05:16 -05:00
Amaan Qureshi f1eecf9786 feat: expose the allocator and array header files for external scanners 2024-02-26 09:43:13 -05:00
Andrew Hlynskyi 67a5dbdd93 fix: dealloc calls on zero pointers 2023-09-03 06:53:18 +03:00
Amaan Qureshi 13f6ec2b0c
fix: rename shadowed variables from -Wshadow warnings and apply some useful clang-tidy warnings 2023-07-19 18:12:26 -04:00
Matt 98b8226c70
Remove unnecessary cast 2022-09-21 20:17:30 -04:00
Matt 8751fa0853
Add explicit casting for array capacities 2022-09-21 15:52:44 -04:00
Max Brunsfeld c2c63baf5b query: Fix escape sequence parsing in anonymous node patterns
Fixes #776
Fixes #760
2020-10-28 13:55:13 -07:00
Max Brunsfeld d533d1f076 Allocate parent nodes together with their child array 2020-10-23 12:15:44 -07:00
Max Brunsfeld 31a22fc627 In array.h, add comments and sort functions more logically 2020-09-02 10:02:34 -07:00
Max Brunsfeld 315f87bbff Remove unnecessary parameter from sorted array functions 2020-08-24 12:07:57 -07:00
Max Brunsfeld 645aacb1e7 Optimize query analysis using binary search 2020-06-26 15:40:34 -07:00
Max Brunsfeld e3cf5df039 Use actual step indices when walking subgraphs 2020-06-25 15:06:27 -07:00
Max Brunsfeld 4c2f36a07b Mark steps as definite on query construction
* Add a ts_query_pattern_is_definite API, just for debugging this
* Store state_count on TSLanguage structs, to allow for scanning parse tables
2020-06-25 15:06:27 -07:00
Max Brunsfeld ee7c29346a Small cleanup 2020-01-29 16:48:36 -08:00
Max Brunsfeld 08021301c7 wasm: Fix descendants of type error
Fixes #394
2019-07-29 17:18:47 -07:00
Max Brunsfeld f00b310908 wasm: Implement Node.descendantsOfType 2019-07-17 08:58:46 -07: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 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