You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Added
Some performance improvements when converting from the C AST to the Ruby AST.
Two rust crates have been added: yarp-sys and yarp. They are as yet unpublished.
Changed
Escaped newlines in strings and heredocs are now handled more correctly.
Dedenting heredocs that result in empty string nodes will now drop those string nodes from the list.
Beginless and endless ranges in conditional expressions now properly form a flip flop node.
% at the end of files no longer crashes.
Location information has been corrected for if/elsif chains that have no else.
__END__ at the very end of the file was previously parsed as an identifier, but is now correct.
BREAKING: Nodes that reference &&=, ||=, and other writing operators have been consolidated. Previously, they were separate individual nodes. Now they are a tree with the target being the left-hand side and the value being the right-hand side with a joining AndWriteNode, OrWriteNode, or OperatorWriteNode in the middle. This impacts all of the nodes that match this pattern: {ClassVariable,Constant,ConstantPath,GlobalVariable,InstanceVariable,LocalVariable}Operator{And,Or,}WriteNode.
BREAKING: BlockParametersNode, ClassNode, DefNode, LambdaNode, ModuleNode, ParenthesesNode, and SingletonClassNode have had their statements field renamed to body to give a hint that it might not be a StatementsNode (it could also be a BeginNode).