diff --git a/lib/bitescript/asm.rb b/lib/bitescript/asm.rb index 6bbdba0..4965a3d 100644 --- a/lib/bitescript/asm.rb +++ b/lib/bitescript/asm.rb @@ -3,16 +3,25 @@ module BiteScript module ASM begin - # try mangled names for the version included with JRuby + # try mangled names for the version included with JRuby <=1.6.0.RC2 java.lang.Class.for_name 'jruby.objectweb.asm.Opcodes' # no error, proceed with mangled name asm_package = Java::jruby.objectweb.asm java_import asm_package.Opcodes rescue Exception - # fall back on standard names - asm_package = org.objectweb.asm - java_import asm_package.Opcodes + begin + # try mangled names for the version included with JRuby >=1.6.0.RC3 + java.lang.Class.for_name 'org.jruby.org.objectweb.asm.Opcodes' + + # no error, proceed with mangled name + asm_package = Java::org.jruby.org.objectweb.asm + java_import asm_package.Opcodes + rescue + # fall back on standard names + asm_package = org.objectweb.asm + java_import asm_package.Opcodes + end end java_import asm_package.Label java_import asm_package.Type