Dispatch enter and leave events for ConstantOperatorWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for ConstantOrWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for ConstantPathWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for GlobalVariableWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for IndexAndWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for IndexOperatorWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for IndexOrWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for LocalVariableWriteNode
nodes and continue walking the tree.
Dispatch enter and leave events for MatchLastLineNode
nodes and continue walking the tree.
Reset nil attributes to their default values to make the spec valid
When there is an invalid block with a keyword missing an end right before another end, it is unclear where which keyword is missing the end
Take this example:
class Dog # 1 def bark # 2 puts "woof" # 3 end # 4
However due to github.com/ruby/syntax_suggest/issues/32 the problem line will be identified as:
> class Dog # 1
Because lines 2, 3, and 4 are technically valid code and are expanded first, deemed valid, and hidden. We need to un-hide the matching end line 4. Also work backwards and if there’s a mis-matched keyword, show it too