marko asplund created JRUBY-6643:
------------------------------------

             Summary: jrubyc AOT Java compilation doesn't identify failure cause
                 Key: JRUBY-6643
                 URL: https://jira.codehaus.org/browse/JRUBY-6643
             Project: JRuby
          Issue Type: Improvement
          Components: Compiler
    Affects Versions: JRuby 1.6.7
            Reporter: marko asplund


I'm trying to compile a Ruby script to Java source using jrubyc.
The compilation fails and i'd like to be able to identify the piece of script 
code that causes the compiler to fail.
The compiler error message doesn't currently provide enough information for 
identifying the erroneous line from the compiler
error output.

jrubyc --verbose --java ruby

Failure during compilation of file src/main/ruby/foo.rb:
org.jruby.parser.ParserSyntaxException: syntax error, unexpected QUESTION
org/jruby/parser/JavaSignatureParser.java:324:in `yyerror'
org/jruby/parser/JavaSignatureParser.java:431:in `yyparse'
org/jruby/parser/JavaSignatureParser.java:28:in `parse'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:142:in 
`build_signature'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:219:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_args_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_args_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:231:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_defn_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_defn_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:263:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_newline_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_newline_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:259:in 
`ClassNodeWalker'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/builtin/java/java.util.rb:7:in `each'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:259:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_block_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_block_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:225:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_class_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_class_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:263:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_newline_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_newline_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:259:in 
`ClassNodeWalker'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/builtin/java/java.util.rb:7:in `each'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:259:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_block_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_block_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:270:in 
`ClassNodeWalker'
org/jruby/RubyKernel.java:2045:in `instance_eval'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:35:in 
`visit_root_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:179:in 
`with_node'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:34:in 
`visit_root_node'
org/jruby/RubyProc.java:270:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler/java_class.rb:8:in 
`generate_java'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler.rb:138:in 
`compile_files_with_options'
org/jruby/RubyProc.java:270:in `call'
org/jruby/RubyProc.java:220:in `call'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler.rb:208:in 
`compile_files_with_options'
org/jruby/RubyArray.java:1615:in `each'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler.rb:207:in 
`compile_files_with_options'
org/jruby/RubyArray.java:1615:in `each'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler.rb:198:in 
`compile_files_with_options'
/opt/jruby-1.6.7/lib/ruby/site_ruby/shared/jruby/compiler.rb:90:in 
`compile_argv'
/opt/jruby-1.6.7/bin/jrubyc:5:in `(root)'
Compilation FAILED: 1 error(s) encountered

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to