Skip to content
  • Kevin Newton's avatar
    cdb74d74
    [ruby/prism] Change numbered parameters · cdb74d74
    Kevin Newton authored
    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
    cdb74d74
    [ruby/prism] Change numbered parameters
    Kevin Newton authored
    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
Loading