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