Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/11624
|
|
https://github.com/ruby/prism/commit/d0143865c2
|
|
https://github.com/ruby/prism/commit/50372fee5c
|
|
https://github.com/ruby/prism/commit/48f2e8c169
|
|
https://github.com/ruby/prism/commit/58a127cd5d
|
|
https://github.com/ruby/prism/commit/1fbac72485
|
|
the source encoding.
Ruby sets a Symbol literal's encoding to US-ASCII if the symbols consists only of US ASCII code points. Character escapes can also lead a Symbol to have a different encoding than its source's encoding.
https://github.com/ruby/prism/commit/f315660b31
|
|
https://github.com/ruby/prism/commit/55b049ddac
|
|
This doesn't actually fix the encodings for symbols and regex,
unfortunately. But I wanted to get this change in because it is
the last AST change we're going to make before 3.3 is released.
So, if consumers want, they can start to check these flags to
determine the encoding, even though it will be wrong. Then once we
actually set them correctly, everything should work.
https://github.com/ruby/prism/commit/9b35f7e891
|
|
https://github.com/ruby/prism/commit/6e69a81737
|
|
* The same order as in source code.
* CallOrWriteNode, CallOperatorWriteNode, CallAndWriteNode already have
the correct order so it was also inconsistent with them.
https://github.com/ruby/prism/commit/4434e4bc22
|
|
element(s)
This commit puts a SPLAT flag on any ArrayNodes which contain
SplatNode elements
https://github.com/ruby/prism/commit/2fc1e7f181
|
|
Right now when you have a lot of string concats it ends up being
difficult to work with because of the depth of the tree. You end
up descending very far for every string literal that is part of the
concat.
There are already times when we use an interpolated string node to
group together two string segments that are part of the same string
(like when they are interupted by the contents of a heredoc). This
commit takes the same approach and replaces string concats with
interpolated string nodes.
Now that they're a flat list, they should be much easier to work
with. There's still some missing information here that would be
useful to consumers: whether or not there is _actually_ any
interpolation contained in the list. We could remedy this with
another node type that is named something like string list, or we
could add a flag to interpolated string node indicating that there
is interpolation. Either way I want to solve that in a follow-up
commit, since this commit is valuable on its own.
https://github.com/ruby/prism/commit/1e7ae3ad1b
|
|
https://github.com/ruby/prism/commit/160df9a687
|
|
Method calls with keyword splat args compile differently than
without since they merge the keyword arg hash with the keyword splat
hash. We know this information at parse time, so can set a flag
which the compiler can use.
https://github.com/ruby/prism/commit/e5f8a9a3cd
|
|
https://github.com/ruby/prism/commit/21fad0c2ce
|
|
https://github.com/ruby/prism/commit/831d5f4b45
|
|
* https://github.com/ruby/prism/pull/1533
|
|
|