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> |
||
|---|---|---|
| .. | ||
| binding_rust | ||
| binding_web | ||
| include/tree_sitter | ||
| lldb_pretty_printers | ||
| src | ||
| .ccls | ||
| Cargo.toml | ||
| LICENSE | ||
| package.nix | ||
| README.md | ||
| tree-sitter.pc.in | ||
Subdirectories
src- C source code for the Tree-sitter libraryinclude- C headers for the Tree-sitter librarybinding_rust- Rust bindings to the Tree-sitter librarybinding_web- JavaScript bindings to the Tree-sitter library, using WebAssembly