class SyntaxTree::Parser::PinVisitor

Ugh… I really do not like this class. Basically, ripper doesn’t provide enough information about where pins are located in the tree. It only gives events for ^ ops and var_ref nodes. You have to piece it together yourself.

Note that there are edge cases here that we straight up do not address, because I honestly think it’s going to be faster to write a new parser than to address them. For example, this will not work properly:

foo in ^((bar = 0; bar; baz))

If someone actually does something like that, we’ll have to find another way to make this work.