integration issues with Java classes containing inner classes
-------------------------------------------------------------

                 Key: JRUBY-3000
                 URL: http://jira.codehaus.org/browse/JRUBY-3000
             Project: JRuby
          Issue Type: Bug
          Components: Java Integration
    Affects Versions: JRuby 1.1.4, JRuby 1.1.3
         Environment: JRuby 1.1.4 and 1.1.3 on Sun Java SE build 1.6.0_07-b06 
running on Win2K w/SP4
            Reporter: Jon


Attempting to *{{import}}* a Java class (containing either named or anonymous 
inner classes) from a *{{require}}*'d JAR causes an exception.

Replicate by running the following Ruby code after downloading the 
stringtemplate.jar file included in this distribution 
[http://stringtemplate.org/download.html]

{code:title=jruby_st2.rb|borderStyle=solid}
begin
  raise LoadError, 'missing JRuby' unless RUBY_PLATFORM == 'java'
  require 'java'
  require 'C:/temp/stringtemplate.jar'
rescue LoadError => e
  puts "#{e.message}; exiting..."
  exit -1
end

def purge(e)
  puts e.message
  e.backtrace.each { |i| puts i }
end

begin
  # try to import class with no inner classes
  import 'org.antlr.stringtemplate.AutoIndentWriter'
rescue Exception => e
  purge e
end

begin
  # try to import class with anonymous inner class
  import 'org.antlr.stringtemplate.StringTemplateGroup'
rescue Exception => e
  purge e
end

begin
  # try to import class with 2 named static final classes
  import 'org.antlr.stringtemplate.StringTemplate'
rescue Exception => e
  purge e
end
{code}

Running the above file using *{{jruby jruby_st2.rb}}* gives the following:
{noformat:title=Exception Summary|borderColor=#FF0000}
cannot link Java class org.antlr.stringtemplate.StringTemplateGroup
(eval):1:in `binding'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:67:in 
`eval'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:67:in 
`include_class'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:38:in 
`each'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:38:in 
`include_class'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:81:in 
`java_import'

jruby-st2.rb:44
cannot link Java class org.antlr.stringtemplate.StringTemplate
(eval):1:in `binding'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:67:in 
`eval'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:67:in 
`include_class'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:38:in 
`each'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:38:in 
`include_class'
E:/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/core_ext/object.rb:81:in 
`java_import'

jruby-st2.rb:51
{noformat}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.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