Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Prism] Use
putnil
for nil kwargs, not putobject {}
This addresses one of the issues in the `test_kw_splat_nil` failure, but doesn't make the test pass because of other changes that need to be made to Prism directly. One issue was when we have the following code Prism was using `putobject` with an empty hash whereas the parse.y parser used `putnil`. ```ruby :ok.itself(**nil) ``` Before: ``` 0000 putobject :ok ( 1)[Li] 0002 putobject {} 0004 opt_send_without_block <calldata!mid:itself, argc:1, KW_SPLAT> 0006 leave ``` After: ``` == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,17)> 0000 putobject :ok ( 1)[Li] 0002 putnil 0003 opt_send_without_block <calldata!mid:itself, argc:1, KW_SPLAT> 0005 leave ``` Related to ruby/prism#2935.
- Loading branch information