File: overloads.rb

package info (click to toggle)
jruby 9.3.9.0%2Bds-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,856 kB
  • sloc: ruby: 517,823; java: 260,094; xml: 31,930; ansic: 5,777; yacc: 4,973; sh: 1,163; makefile: 105; jsp: 48; tcl: 40; exp: 11
file content (57 lines) | stat: -rw-r--r-- 1,772 bytes parent folder | download | duplicates (5)
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.runtime.Helpers;
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().require("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 = Helpers.invoke(__ruby__.getCurrentContext(), this, "run1" ,ruby_a);
    
  }



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

}
=end