Ruby: put AST node locations in a single table #7875
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should make
getLocation()
on generated nodes faster.I generated the upgrade/downgrade scripts with some quick hacks to the generator program, and only hand-edited the results for formatting. That means reviewers should feel confident that, for the upgrades/downgrades, they only need to check:
{ruby,erb}_ast_node_parent
<->{ruby,erb}_ast_node_info
upgrades/downgrades.{ruby,erb}_tokeninfo
modifications*_def
table modifications.I tested them by:
--search-path=main-extractor-pack:ql
so that they would use an extractor frommain
and upgrade the dbs on the fly.main
, upgrading it, then downgrading it, and checking that all the relations in the original and downgraded databases were byte-for-byte identical.