/* THIS FILE IS GENERATED. DO NOT EDIT */
package org.jruby.gen;

import org.jruby.Ruby;
import org.jruby.RubyModule;
import org.jruby.RubyClass;
import org.jruby.anno.TypePopulator;
import org.jruby.internal.runtime.methods.JavaMethod;
import org.jruby.internal.runtime.methods.DynamicMethod;
import org.jruby.runtime.Arity;
import org.jruby.runtime.Visibility;
import org.jruby.runtime.MethodIndex;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Generated;

@Generated("org.jruby.anno.AnnotationBinder")
@SuppressWarnings("deprecation")
public class org$jruby$javasupport$proxy$JavaProxyClass$POPULATOR extends TypePopulator {
    public void populate(RubyModule cls, Class clazz) {
        JavaMethod javaMethod;
        DynamicMethod moduleMethod, aliasedMethod;
        RubyClass singletonClass = cls.getSingletonClass();
        Ruby runtime = cls.getRuntime();
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$s$1$0$get_with_class(singletonClass, Visibility.PUBLIC, "get_with_class");
        populateMethod(javaMethod, 1, "get_with_class", true, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "get_with_class", org.jruby.RubyObject.class, ARG2);
        aliasedMethod = singletonClass.putMethod(runtime, "get_with_class", javaMethod);
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$s$1$0$get(singletonClass, Visibility.PUBLIC, "get");
        populateMethod(javaMethod, 1, "get", true, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "get", org.jruby.RubyObject.class, ARG2);
        aliasedMethod = singletonClass.putMethod(runtime, "get", javaMethod);
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$i$0$0$interfaces(cls, Visibility.PUBLIC, "interfaces");
        populateMethod(javaMethod, 0, "interfaces", false, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "interfaces", org.jruby.RubyArray.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "interfaces", javaMethod);
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$i$0$0$superclass(cls, Visibility.PUBLIC, "superclass");
        populateMethod(javaMethod, 0, "superclass", false, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "superclass", org.jruby.RubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "superclass", javaMethod);
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$i$0$0$constructors(cls, Visibility.PUBLIC, "constructors");
        populateMethod(javaMethod, 0, "constructors", false, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "constructors", org.jruby.RubyArray.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "constructors", javaMethod);
        javaMethod = new org.jruby.javasupport.proxy.JavaProxyClass$INVOKER$i$0$0$methods(cls, Visibility.PUBLIC, "methods");
        populateMethod(javaMethod, 0, "methods", false, false, org.jruby.javasupport.proxy.JavaProxyClass.class, "methods", org.jruby.RubyArray.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "methods", javaMethod);

        runtime.addBoundMethods("org.jruby.javasupport.proxy.JavaProxyClass", "get_with_class", "get_with_class", "get", "get", "interfaces", "interfaces", "superclass", "superclass", "constructors", "constructors", "methods", "methods");
    }
    static {
    }
}