| Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/prism/commit/e5f37d1407
|
|
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.
This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.
As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.
https://github.com/ruby/prism/commit/2d87303903
|
|
https://github.com/ruby/prism/commit/77d4056766
|
|
https://github.com/ruby/prism/commit/e327449db6
|
|
https://github.com/ruby/prism/commit/84e22c5581
|
|
https://github.com/ruby/prism/commit/9c648ce615
|
|
https://github.com/ruby/prism/commit/2b6e661bbc
|
|
https://github.com/ruby/prism/commit/3abd09c803
|
|
https://github.com/ruby/prism/commit/ec66feb595
|
|
Moves the common flag bits to the top. This lets us eliminate the `COMMON`
constant, and also allows us to group encoding flags on a nibble so we
can more easily mask them.
https://github.com/ruby/prism/commit/895508659e
|
|
https://github.com/ruby/prism/commit/630af5cb0e
|
|
|
|
|