fix!: delete ASTNode and references #9014
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.
The basics
The details
Resolves
Fixes #9010
Fixes the last piece of RaspberryPiFoundation/blockly-keyboard-experimentation#430 by removing the last references to stack cursors.
Proposed Changes
Deletes the ASTNode class and all references to it.
Updates a helper in
marker.tsto act on a passed-in node.Reason for Changes
This is cleanup after #8892. That change added a new interface,
INavigable, and converted code that usedASTNodeto act onINavigablesinstead.ASTNodeoriginally existed to provide a thin layer between the navigation code and navigable objects (fields, rendered connections, rendered blocks, etc). The navigation side of the work is now done through standard navigation policies, and inspecting the contents of a navigable can be done by usinginstanceofand then actual properties. This last may not have been possible whenASTNodewas created, because we were in a JavaScript world.Test Coverage
Ran local tests and linked against keyboard experimentation with RaspberryPiFoundation/blockly-keyboard-experimentation#505 applied. Ran tests there and also manually checked that I could build and run the plugin and navigate code in the test page.
Documentation
Breaking change: Deletes the
ASTNodeclass. See #8828 for the alternative.Additional Information
Cleanup!