/* 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$ext$jruby$JRubyLibrary$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.ext.jruby.JRubyLibrary$INVOKER$s$1$0$dereference(cls, Visibility.PUBLIC, "dereference");
        populateMethod(javaMethod, 1, "dereference", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "dereference", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "dereference", javaMethod);
        cls.putMethod(runtime, "deref", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "dereference", moduleMethod);
        singletonClass.putMethod(runtime, "deref", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$subclasses(cls, Visibility.PUBLIC, "subclasses");
        populateMethod(javaMethod, -1, "subclasses", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "subclasses", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "subclasses", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "subclasses", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$0$runtime(cls, Visibility.PUBLIC, "runtime");
        populateMethod(javaMethod, 0, "runtime", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "runtime", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "runtime", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "runtime", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$0$with_current_runtime_as_global(cls, Visibility.PUBLIC, "with_current_runtime_as_global");
        populateMethod(javaMethod, 0, "with_current_runtime_as_global", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "with_current_runtime_as_global", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "with_current_runtime_as_global", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "with_current_runtime_as_global", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$1$0$reference0(cls, Visibility.PUBLIC, "reference0");
        populateMethod(javaMethod, 1, "reference0", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "reference0", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "reference0", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "reference0", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$3$parse(cls, Visibility.PUBLIC, "parse");
        populateMethod(javaMethod, -1, "parse", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "parse", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_ARY_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "parse", javaMethod);
        cls.putAlias("ast_for", aliasedMethod, "parse");
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "parse", moduleMethod);
        singletonClass.putAlias("ast_for", aliasedMethod, "parse");
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$3$compile_ir(cls, Visibility.PUBLIC, "compile_ir");
        populateMethod(javaMethod, -1, "compile_ir", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "compile_ir", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_ARY_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "compile_ir", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "compile_ir", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$1$set_context_class_loader(cls, Visibility.PUBLIC, "set_context_class_loader");
        populateMethod(javaMethod, -1, "set_context_class_loader", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "set_context_class_loader", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_ARY);
        aliasedMethod = cls.putMethod(runtime, "set_context_class_loader", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "set_context_class_loader", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$1$0$reference(cls, Visibility.PUBLIC, "reference");
        populateMethod(javaMethod, 1, "reference", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "reference", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "reference", javaMethod);
        cls.putMethod(runtime, "ref", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "reference", moduleMethod);
        singletonClass.putMethod(runtime, "ref", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$1$0$identity_hash(cls, Visibility.PUBLIC, "identity_hash");
        populateMethod(javaMethod, 1, "identity_hash", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "identity_hash", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "identity_hash", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "identity_hash", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$3$compile(cls, Visibility.PUBLIC, "compile");
        populateMethod(javaMethod, -1, "compile", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "compile", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_ARY_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "compile", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "compile", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$1$0$set_security_restricted(cls, Visibility.PUBLIC, "security_restricted=");
        populateMethod(javaMethod, 1, "set_security_restricted", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "set_security_restricted", org.jruby.runtime.builtin.IRubyObject.class, ARG2);
        aliasedMethod = cls.putMethod(runtime, "security_restricted=", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "security_restricted=", moduleMethod);
        javaMethod = new org.jruby.ext.jruby.JRubyLibrary$INVOKER$s$0$0$is_security_restricted(cls, Visibility.PUBLIC, "security_restricted?");
        populateMethod(javaMethod, 0, "is_security_restricted", true, false, org.jruby.ext.jruby.JRubyLibrary.class, "is_security_restricted", org.jruby.RubyBoolean.class, ARG1);
        aliasedMethod = cls.putMethod(runtime, "security_restricted?", javaMethod);
        moduleMethod = populateModuleMethod(cls, javaMethod);
        aliasedMethod = singletonClass.putMethod(runtime, "security_restricted?", moduleMethod);

        runtime.addBoundMethods("org.jruby.ext.jruby.JRubyLibrary", "dereference", "dereference", "reference", "reference", "compile", "compile", "set_security_restricted", "security_restricted=", "parse", "parse", "is_security_restricted", "security_restricted?", "compile_ir", "compile_ir", "subclasses", "subclasses", "runtime", "runtime", "with_current_runtime_as_global", "with_current_runtime_as_global", "reference0", "reference0", "set_context_class_loader", "set_context_class_loader", "identity_hash", "identity_hash");
    }
    static {
    }
}