unparser
unparser copied to clipboard
Turn Ruby AST into semantically equivalent Ruby source
Hi Markus! Weird things happen when there are interpolations within interpolations. ``` $ unparser -ve '"#{"#{true ? "1 " : "2"} "}"' (string) Original-Source: "#{"#{true ? "1 " : "2"}...
Hey @mbj :) This is the approach I came up with for emitting output locations. I made only a small number of the necessary changes. I'd like to ask for...
I find it difficult to know what triggered an error. I understand `unparser` does not want to depend on locations, but it would be helpful to have a source line......
Errors
A few files that generate errors with `unparser`, but have ok syntax according to `ruby -c`: https://github.com/acrmp/foodcritic/blob/master/features/support/cookbook_helpers.rb https://github.com/acrmp/foodcritic/blob/master/lib/foodcritic/notifications.rb https://github.com/acrmp/foodcritic/blob/master/lib/foodcritic/rules/fc022.rb https://github.com/acrmp/foodcritic/blob/master/lib/foodcritic/rules/fc025.rb https://github.com/acrmp/foodcritic/blob/master/lib/foodcritic/rules/fc044.rb https://github.com/acrmp/foodcritic/blob/master/lib/foodcritic/rules/fc047.rb https://github.com/activeadmin/activeadmin/blob/master/features/step_definitions/filesystem_steps.rb https://github.com/activemerchant/active_merchant/blob/master/lib/active_merchant/billing/credit_card.rb https://github.com/activemerchant/active_merchant/blob/master/lib/active_merchant/billing/gateways/balanced.rb https://github.com/activemerchant/active_merchant/blob/master/lib/active_merchant/billing/response.rb https://github.com/activemerchant/active_merchant/blob/master/test/remote/gateways/remote_inspire_test.rb https://github.com/activemerchant/active_merchant/blob/master/test/unit/gateways/eway_rapid_test.rb https://github.com/activemerchant/active_merchant/blob/master/test/unit/gateways/first_pay_test.rb https://github.com/activemerchant/active_merchant/blob/master/test/unit/gateways/payment_express_test.rb...
There is lvar scope specific syntax to be emitted on certain AST constructs. It appears unparser (and rubocop) do not thread `=> expression` as an assignment at this point, miscalculating...
- This can help detect unused test setup on an ongoing basis and also helps me by giving me a bigger corpus of `rspectre` users.
Found this while importing your tests into YARP. On this line: https://github.com/mbj/unparser/blob/8260882beae39cd3d88a29625d07dd31bbc66ece/test/corpus/literal/pattern.rb#L20 It's actually a syntax error. ```ruby case foo in {"#{"a"}": 1} end ``` Running `ruby -c` gives: ```...
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8. Release notes Sourced from rexml's releases. REXML 3.2.8 - 2024-05-16 Fixes Suppressed a warning REXML 3.2.7 - 2024-05-16 Improvements Improve parse performance by using...