I'm trying to take a look at the Ruby 1.8.7 effort, but when I build
the project from the 187 branch ($ ant clean jar), I run into the same
issue that Joseph Athman reported on this list:
###############
_gmc_internal_:
[echo] Generating invokers...
[echo] Compiling populators...
[javac] Compiling 168 source files to
/Users/colin/oss/jruby-187/build/classes/jruby
[javac]
/Users/colin/oss/jruby-187/src_gen/org$jruby$RubyArray$Populator.java:171:
cannot find symbol
[javac] symbol : class RubyArray$i_method_multi$RUBYINVOKER$pop
[javac] location: package org.jruby
[javac] javaMethod = new
org.jruby.RubyArray$i_method_multi$RUBYINVOKER$pop(cls,
Visibility.PUBLIC);
[javac] ^
[javac] 1 error
BUILD FAILED
###############
In response to Charles' questions from the original thread, the
classfile
build/classes/jruby/org/jruby/RubyArray$i_method_multi$RUBYINVOKER$pop.class
is missing
(build/classes/jruby/org/jruby/RubyArray$i_method_multi$RUBYINVOKER$pop19.class
is there, though).
The build does work fine on the master branch (I'm working from the
Kenai repo, as referenced at
http://www.nabble.com/Helping-out-on-1.8.7-support-td24769846.html ),
and specs are all passing there (ant clean jar spec-short).
There are only a few differences regarding "pop" between the two
branches (all in RubyArray.java):
$ git diff master..187
################
@@ -1140,7 +1155,7 @@ public class RubyArray extends RubyObject
implements List {
/** rb_ary_pop
*
*/
- @JRubyMethod(name = "pop", compat = CompatVersion.RUBY1_8)
+ @JRubyMethod(name = "pop")
public IRubyObject pop(ThreadContext context) {
modifyCheck();
@@ -1161,15 +1176,10 @@ public class RubyArray extends RubyObject
implements List {
}
}
- @JRubyMethod(name = "pop", compat = CompatVersion.RUBY1_9)
- public IRubyObject pop19(ThreadContext context) {
- return pop(context);
- }
-
- @JRubyMethod(name = "pop", compat = CompatVersion.RUBY1_9)
+ @JRubyMethod(name = "pop")
public IRubyObject pop19(ThreadContext context, IRubyObject num) {
modifyCheck();
- RubyArray result = makeSharedFirst(context, num, true);
+ RubyArray result = makeSharedFirst(context, num, true,
context.getRuntime().getArray());
realLength -= result.realLength;
return result;
}
@@ -2569,19 +2583,20 @@ public class RubyArray extends RubyObject
implements List {
}
if (stack.realLength == 0) break;
memo.remove(ary);
- tmp = stack.pop19(context);
+ tmp = stack.pop(context);
i = (int)((RubyFixnum)tmp).getLongValue();
- ary = (RubyArray)stack.pop19(context);
+ ary = (RubyArray)stack.pop(context);
}
return modified;
}
################
Any ideas?
- Colin
--
Colin Jones
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email