jruby / jruby-parser

JRuby's parser customized for IDE usage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ruby 2.0 parser fails to parse lambda arrow syntax with space

codelion opened this issue · comments

It seems like there is an inconsistency introduced in ruby 2.0 regarding the use of lambda syntax. The issue is detailed here

In ruby 2.0 the following is valid (notice the space between -> and (message))

hello_world = -> (message) { puts message }

However in ruby 1.9 it gives an error.

The issue is that in jruby-parser this doesn't parse even with CompatVersion set to 2.0. And in the older versions it won't parse, so the files using this cannot be handled with the jruby-parser.

Removing the space between the arrow and the parentheses would allow jruby-parser to parse these files. But there are uses of this syntax (with spaces) in the wild already, e.g. in slop gem. So, there are many files using this syntax that cannot be handled with jruby-parser.

Hi, just posting on this thread again to try and resurface this and other recent issues I posted about.

I am running into this issue too.

Ran across this issue by chance and remembered the problem. This was actually fixed in JRuby before the JRuby 9000 effort started. I suspect you could apply the patch to this bit of code and you'd be done.