File: overloads.rb

package info (click to toggle)
jruby 1.5.1-1%2Bdeb6u1
  • links: PTS, VCS
  • area: non-free
  • in suites: squeeze-lts
  • size: 47,024 kB
  • ctags: 74,144
  • sloc: ruby: 398,155; java: 169,506; yacc: 3,782; xml: 2,469; ansic: 415; sh: 279; makefile: 78; tcl: 40
file content (57 lines) | stat: -rw-r--r-- 1,808 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require 'java'

class OverloadedClass
  java_signature "void run(String)"
  def run1(a); end
  
  java_signature "void run(int)"
  def run2(a); end
end

=begin
~/projects/jruby/samples/jrubyc_java ➔ jrubyc --java overloads.rb 
Compiling overloads.rb to class overloads
Generating Java class OverloadedClass to OverloadedClass.java
javac -cp /Users/headius/projects/jruby/lib/jruby.jar:. OverloadedClass.java
Note: OverloadedClass.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

~/projects/jruby/samples/jrubyc_java ➔ cat OverloadedClass.java 
import org.jruby.Ruby;
import org.jruby.RubyObject;
import org.jruby.javasupport.util.RuntimeHelpers;
import org.jruby.runtime.builtin.IRubyObject;
import org.jruby.javasupport.JavaUtil;
import org.jruby.RubyClass;


public class OverloadedClass extends RubyObject  {
  private static final Ruby __ruby__ = Ruby.getGlobalRuntime();
  private static final RubyClass __metaclass__;
  static {
    __ruby__.getLoadService().lockAndRequire("overloads.rb");
    RubyClass metaclass = __ruby__.getClass("OverloadedClass");
    metaclass.setClassAllocator(OverloadedClass.class);
    if (metaclass == null) throw new NoClassDefFoundError("Could not load Ruby class: OverloadedClass");
        __metaclass__ = metaclass;
  }
  public OverloadedClass() {
    super(__ruby__, __metaclass__);
  }

  public void run(String a) {
    IRubyObject ruby_a = JavaUtil.convertJavaToRuby(__ruby__, a);
    IRubyObject ruby_result = RuntimeHelpers.invoke(__ruby__.getCurrentContext(), this, "run1" ,ruby_a);
    
  }



  public void run(int a) {
    IRubyObject ruby_a = JavaUtil.convertJavaToRuby(__ruby__, a);
    IRubyObject ruby_result = RuntimeHelpers.invoke(__ruby__.getCurrentContext(), this, "run2" ,ruby_a);
    
  }

}
=end