tree-sitter/spec
Max Brunsfeld 896254eea5 Fix error in changed ranges calculation
There was an error in the way that we calculate the reference
scope sequences that are used as the basis for assertions about
changed ranges in randomized tests. The error caused some
characters' scopes to not be checked. This corrects the reference
implementation and fixes a previously uncaught bug in the
implementation of `tree_path_get_changed_ranges`.

Previously, when iterating over the old and new trees, we would
only perform comparisons of visible nodes. This resulted in a failure
to do any comparison for portions of the text in which there were
trailing invisible child nodes (e.g. trailing `_line_break` nodes
inside `statement` nodes in the JavaScript grammar).

Now, we additionally perform comparisons at invisible leaf nodes,
based on their lowest visible ancestor.
2017-01-27 23:47:34 -08:00
..
compiler Refactor logic for handling shared internal/external tokens 2016-12-21 10:49:55 -08:00
fixtures Add python error recovery tests 2017-01-08 22:06:36 -08:00
helpers Fix error in changed ranges calculation 2017-01-27 23:47:34 -08:00
integration Add python error recovery tests 2017-01-08 22:06:36 -08:00
runtime Store external token states in the parse stack 2017-01-08 22:06:05 -08:00
spec_helper.h Fix leaked lookahead trees in normal parsing 2016-01-29 17:31:43 -08:00
specs.cc Unify test targets, use externally defined languages as fixtures 2016-01-15 11:19:24 -08:00