/* 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$RubyThread$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.RubyThread$INVOKER$s$0$0$newInstance(singletonClass, Visibility.PUBLIC, "new");
        populateMethod(javaMethod, -1, "newInstance", true, false, org.jruby.RubyThread.class, "newInstance", org.jruby.runtime.builtin.IRubyObject.class, ARG1_ARY_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "new", javaMethod);
        singletonClass.putMethod(runtime, "fork", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$main(singletonClass, Visibility.PUBLIC, "main");
        populateMethod(javaMethod, 0, "main", true, false, org.jruby.RubyThread.class, "main", org.jruby.RubyThread.class, ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "main", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$abort_on_exception_x(singletonClass, Visibility.PUBLIC, "abort_on_exception");
        populateMethod(javaMethod, 0, "abort_on_exception_x", true, false, org.jruby.RubyThread.class, "abort_on_exception_x", org.jruby.RubyBoolean.class, ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "abort_on_exception", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$1$0$report_on_exception_set(singletonClass, Visibility.PUBLIC, "report_on_exception=");
        populateMethod(javaMethod, 1, "report_on_exception_set", true, false, org.jruby.RubyThread.class, "report_on_exception_set", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = singletonClass.putMethod(runtime, "report_on_exception=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$exclusive(singletonClass, Visibility.PUBLIC, "exclusive");
        populateMethod(javaMethod, 0, "exclusive", true, false, org.jruby.RubyThread.class, "exclusive", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "exclusive", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$1$pending_interrupt_p(singletonClass, Visibility.PUBLIC, "pending_interrupt?");
        populateMethod(javaMethod, -1, "pending_interrupt_p", true, false, org.jruby.RubyThread.class, "pending_interrupt_p", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_ARY);
        aliasedMethod = singletonClass.putMethod(runtime, "pending_interrupt?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$list(singletonClass, Visibility.PUBLIC, "list");
        populateMethod(javaMethod, 0, "list", true, false, org.jruby.RubyThread.class, "list", org.jruby.RubyArray.class, ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "list", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$current(singletonClass, Visibility.PUBLIC, "current");
        populateMethod(javaMethod, 0, "current", true, false, org.jruby.RubyThread.class, "current", org.jruby.RubyThread.class, ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "current", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$start(singletonClass, Visibility.PUBLIC, "start");
        populateMethod(javaMethod, -1, "start", true, false, org.jruby.RubyThread.class, "start", org.jruby.RubyThread.class, ARG1_ARY_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "start", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$stop(singletonClass, Visibility.PUBLIC, "stop");
        populateMethod(javaMethod, 0, "stop", true, false, org.jruby.RubyThread.class, "stop", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "stop", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$pass(singletonClass, Visibility.PUBLIC, "pass");
        populateMethod(javaMethod, 0, "pass", true, false, org.jruby.RubyThread.class, "pass", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "pass", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$1$0$abort_on_exception_set_x(singletonClass, Visibility.PUBLIC, "abort_on_exception=");
        populateMethod(javaMethod, 1, "abort_on_exception_set_x", true, false, org.jruby.RubyThread.class, "abort_on_exception_set_x", org.jruby.runtime.builtin.IRubyObject.class, ARG2);
        aliasedMethod = singletonClass.putMethod(runtime, "abort_on_exception=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$report_on_exception(singletonClass, Visibility.PUBLIC, "report_on_exception");
        populateMethod(javaMethod, 0, "report_on_exception", true, false, org.jruby.RubyThread.class, "report_on_exception", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = singletonClass.putMethod(runtime, "report_on_exception", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$1$0$kill(singletonClass, Visibility.PUBLIC, "kill");
        populateMethod(javaMethod, 1, "kill", true, false, org.jruby.RubyThread.class, "kill", org.jruby.runtime.builtin.IRubyObject.class, ARG2_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "kill", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$0$0$exit(singletonClass, Visibility.PUBLIC, "exit");
        populateMethod(javaMethod, 0, "exit", true, false, org.jruby.RubyThread.class, "exit", org.jruby.runtime.builtin.IRubyObject.class, ARG1_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "exit", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$s$1$0$handle_interrupt(singletonClass, Visibility.PUBLIC, "handle_interrupt");
        populateMethod(javaMethod, 1, "handle_interrupt", true, false, org.jruby.RubyThread.class, "handle_interrupt", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2_BLOCK);
        aliasedMethod = singletonClass.putMethod(runtime, "handle_interrupt", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$initialize(cls, Visibility.PRIVATE, "initialize");
        populateMethod(javaMethod, -1, "initialize", false, false, org.jruby.RubyThread.class, "initialize", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0_ARY_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "initialize", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$keys(cls, Visibility.PUBLIC, "keys");
        populateMethod(javaMethod, 0, "keys", false, false, org.jruby.RubyThread.class, "keys", org.jruby.RubyArray.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "keys", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$report_on_exception_set(cls, Visibility.PUBLIC, "report_on_exception=");
        populateMethod(javaMethod, 1, "report_on_exception_set", false, false, org.jruby.RubyThread.class, "report_on_exception_set", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "report_on_exception=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$backtrace(cls, Visibility.PUBLIC, "backtrace");
        populateMethod(javaMethod, -1, "backtrace", false, false, org.jruby.RubyThread.class, "backtrace", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "backtrace", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$wakeup(cls, Visibility.PUBLIC, "wakeup");
        populateMethod(javaMethod, 0, "wakeup", false, false, org.jruby.RubyThread.class, "wakeup", org.jruby.RubyThread.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "wakeup", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$backtrace_locations(cls, Visibility.PUBLIC, "backtrace_locations");
        populateMethod(javaMethod, -1, "backtrace_locations", false, false, org.jruby.RubyThread.class, "backtrace_locations", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "backtrace_locations", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$priority(cls, Visibility.PUBLIC, "priority");
        populateMethod(javaMethod, 0, "priority", false, false, org.jruby.RubyThread.class, "priority", org.jruby.RubyFixnum.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "priority", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$2$0$op_aset(cls, Visibility.PUBLIC, "[]=");
        populateMethod(javaMethod, 2, "op_aset", false, false, org.jruby.RubyThread.class, "op_aset", org.jruby.runtime.builtin.IRubyObject.class, ARG2);
        aliasedMethod = cls.putMethod(runtime, "[]=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$priority_set(cls, Visibility.PUBLIC, "priority=");
        populateMethod(javaMethod, 1, "priority_set", false, false, org.jruby.RubyThread.class, "priority_set", org.jruby.runtime.builtin.IRubyObject.class, ARG1);
        aliasedMethod = cls.putMethod(runtime, "priority=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$op_aref(cls, Visibility.PUBLIC, "[]");
        populateMethod(javaMethod, 1, "op_aref", false, false, org.jruby.RubyThread.class, "op_aref", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "[]", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$thread_variable_p(cls, Visibility.PUBLIC, "thread_variable?");
        populateMethod(javaMethod, 1, "thread_variable_p", false, false, org.jruby.RubyThread.class, "thread_variable_p", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "thread_variable?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$1$pending_interrupt_p(cls, Visibility.PUBLIC, "pending_interrupt?");
        populateMethod(javaMethod, -1, "pending_interrupt_p", false, false, org.jruby.RubyThread.class, "pending_interrupt_p", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0_ARY);
        aliasedMethod = cls.putMethod(runtime, "pending_interrupt?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$3$raise(cls, Visibility.PUBLIC, "raise");
        populateMethod(javaMethod, -1, "raise", false, false, org.jruby.RubyThread.class, "raise", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0_ARY_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "raise", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$safe_level(cls, Visibility.PUBLIC, "safe_level");
        populateMethod(javaMethod, 0, "safe_level", false, false, org.jruby.RubyThread.class, "safe_level", org.jruby.runtime.builtin.IRubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "safe_level", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$setName(cls, Visibility.PUBLIC, "name=");
        populateMethod(javaMethod, 1, "setName", false, false, org.jruby.RubyThread.class, "setName", org.jruby.runtime.builtin.IRubyObject.class, ARG1);
        aliasedMethod = cls.putMethod(runtime, "name=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$kill(cls, Visibility.PUBLIC, "kill");
        populateMethod(javaMethod, 0, "kill", false, false, org.jruby.RubyThread.class, "kill", org.jruby.runtime.builtin.IRubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "kill", javaMethod);
        cls.putMethod(runtime, "exit", javaMethod);
        cls.putMethod(runtime, "terminate", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$2$0$thread_variable_set(cls, Visibility.PUBLIC, "thread_variable_set");
        populateMethod(javaMethod, 2, "thread_variable_set", false, false, org.jruby.RubyThread.class, "thread_variable_set", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG2);
        aliasedMethod = cls.putMethod(runtime, "thread_variable_set", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$thread_variables(cls, Visibility.PUBLIC, "thread_variables");
        populateMethod(javaMethod, 0, "thread_variables", false, false, org.jruby.RubyThread.class, "thread_variables", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "thread_variables", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$value(cls, Visibility.PUBLIC, "value");
        populateMethod(javaMethod, 0, "value", false, false, org.jruby.RubyThread.class, "value", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "value", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$key_p(cls, Visibility.PUBLIC, "key?");
        populateMethod(javaMethod, 1, "key_p", false, false, org.jruby.RubyThread.class, "key_p", org.jruby.RubyBoolean.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "key?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$thread_variable_get(cls, Visibility.PUBLIC, "thread_variable_get");
        populateMethod(javaMethod, 1, "thread_variable_get", false, false, org.jruby.RubyThread.class, "thread_variable_get", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1);
        aliasedMethod = cls.putMethod(runtime, "thread_variable_get", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$1$0$abort_on_exception_set(cls, Visibility.PUBLIC, "abort_on_exception=");
        populateMethod(javaMethod, 1, "abort_on_exception_set", false, false, org.jruby.RubyThread.class, "abort_on_exception_set", org.jruby.runtime.builtin.IRubyObject.class, ARG1);
        aliasedMethod = cls.putMethod(runtime, "abort_on_exception=", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$run(cls, Visibility.PUBLIC, "run");
        populateMethod(javaMethod, 0, "run", false, false, org.jruby.RubyThread.class, "run", org.jruby.runtime.builtin.IRubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "run", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$report_on_exception(cls, Visibility.PUBLIC, "report_on_exception");
        populateMethod(javaMethod, 0, "report_on_exception", false, false, org.jruby.RubyThread.class, "report_on_exception", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "report_on_exception", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$stop_p(cls, Visibility.PUBLIC, "stop?");
        populateMethod(javaMethod, 0, "stop_p", false, false, org.jruby.RubyThread.class, "stop_p", org.jruby.RubyBoolean.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "stop?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$getName(cls, Visibility.PUBLIC, "name");
        populateMethod(javaMethod, 0, "getName", false, false, org.jruby.RubyThread.class, "getName", org.jruby.runtime.builtin.IRubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "name", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$fetch(cls, Visibility.PUBLIC, "fetch");
        populateMethod(javaMethod, -1, "fetch", false, false, org.jruby.RubyThread.class, "fetch", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG1_BLOCK);
        aliasedMethod = cls.putMethod(runtime, "fetch", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$abort_on_exception(cls, Visibility.PUBLIC, "abort_on_exception");
        populateMethod(javaMethod, 0, "abort_on_exception", false, false, org.jruby.RubyThread.class, "abort_on_exception", org.jruby.RubyBoolean.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "abort_on_exception", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$1$join(cls, Visibility.PUBLIC, "join");
        populateMethod(javaMethod, -1, "join", false, false, org.jruby.RubyThread.class, "join", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0_ARY);
        aliasedMethod = cls.putMethod(runtime, "join", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$alive_p(cls, Visibility.PUBLIC, "alive?");
        populateMethod(javaMethod, 0, "alive_p", false, false, org.jruby.RubyThread.class, "alive_p", org.jruby.RubyBoolean.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "alive?", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$group(cls, Visibility.PUBLIC, "group");
        populateMethod(javaMethod, 0, "group", false, false, org.jruby.RubyThread.class, "group", org.jruby.runtime.builtin.IRubyObject.class, ARG0);
        aliasedMethod = cls.putMethod(runtime, "group", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$inspect(cls, Visibility.PUBLIC, "inspect");
        populateMethod(javaMethod, 0, "inspect", false, false, org.jruby.RubyThread.class, "inspect", org.jruby.RubyString.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "inspect", javaMethod);
        javaMethod = new org.jruby.RubyThread$INVOKER$i$0$0$status(cls, Visibility.PUBLIC, "status");
        populateMethod(javaMethod, 0, "status", false, false, org.jruby.RubyThread.class, "status", org.jruby.runtime.builtin.IRubyObject.class, CONTEXT_ARG0);
        aliasedMethod = cls.putMethod(runtime, "status", javaMethod);

        runtime.addBoundMethods("org.jruby.RubyThread", "newInstance", "new", "op_aref", "[]", "abort_on_exception_x", "abort_on_exception", "report_on_exception_set", "report_on_exception=", "report_on_exception_set", "report_on_exception=", "thread_variable_p", "thread_variable?", "pending_interrupt_p", "pending_interrupt?", "pending_interrupt_p", "pending_interrupt?", "backtrace", "backtrace", "start", "start", "setName", "name=", "kill", "kill", "thread_variable_set", "thread_variable_set", "thread_variables", "thread_variables", "key_p", "key?", "thread_variable_get", "thread_variable_get", "abort_on_exception_set_x", "abort_on_exception=", "abort_on_exception_set", "abort_on_exception=", "report_on_exception", "report_on_exception", "report_on_exception", "report_on_exception", "stop_p", "stop?", "getName", "name", "op_aset", "[]=", "alive_p", "alive?", "priority_set", "priority=", "main", "main", "exclusive", "exclusive", "list", "list", "current", "current", "stop", "stop", "pass", "pass", "kill", "kill", "exit", "exit", "handle_interrupt", "handle_interrupt", "initialize", "initialize", "keys", "keys", "wakeup", "wakeup", "backtrace_locations", "backtrace_locations", "priority", "priority", "raise", "raise", "safe_level", "safe_level", "value", "value", "run", "run", "fetch", "fetch", "abort_on_exception", "abort_on_exception", "join", "join", "group", "group", "inspect", "inspect", "status", "status");
    }
    static {
    }
}