public abstract class org.jruby.javasupport.JavaSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.javasupport.JavaSupport
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.JavaSupport this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.javasupport.JavaSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/JavaSupport;

  public abstract java.lang.Class loadJavaClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
           Name  Flags
      className  

  public abstract java.lang.Class loadJavaClassVerbose(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      className  

  public abstract java.lang.Class loadJavaClassQuiet(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      className  

  public abstract org.jruby.javasupport.JavaClass getJavaClassFromCache(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/jruby/javasupport/JavaClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      clazz  

  public abstract org.jruby.RubyModule getProxyClassFromCache(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      clazz  

  public abstract void handleNativeException(java.lang.Throwable, java.lang.reflect.Member);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/reflect/Member;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      exception  
      target     

  public abstract org.jruby.javasupport.util.ObjectProxyCache<org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyClass> getObjectProxyCache();
    descriptor: ()Lorg/jruby/javasupport/util/ObjectProxyCache;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/jruby/javasupport/util/ObjectProxyCache<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;>;

  public abstract java.util.Map<java.lang.String, org.jruby.javasupport.JavaClass> getNameClassMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/JavaClass;>;

  public abstract java.lang.Object getJavaObjectVariable(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      o     
      i     

  public abstract void setJavaObjectVariable(java.lang.Object, int, java.lang.Object);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      o     
      i     
      v     

  public abstract org.jruby.RubyModule getJavaModule();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyModule getJavaUtilitiesModule();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyModule getJavaArrayUtilitiesModule();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaObjectClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.javasupport.JavaClass getObjectJavaClass();
    descriptor: ()Lorg/jruby/javasupport/JavaClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setObjectJavaClass(org.jruby.javasupport.JavaClass);
    descriptor: (Lorg/jruby/javasupport/JavaClass;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      objectJavaClass  

  public abstract org.jruby.RubyClass getJavaArrayClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaClassClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaPackageClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyModule getJavaInterfaceTemplate();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyModule getPackageModuleTemplate();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract org.jruby.RubyClass getJavaProxyClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getArrayJavaProxyCreatorClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getConcreteProxyClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getMapJavaProxyClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getArrayProxyClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaFieldClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaMethodClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaConstructorClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getJavaProxyConstructorClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.util.collections.ClassValue<java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>> getStaticAssignedNames();
    descriptor: ()Lorg/jruby/util/collections/ClassValue;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/jruby/util/collections/ClassValue<Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;>;

  public abstract org.jruby.util.collections.ClassValue<java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>> getInstanceAssignedNames();
    descriptor: ()Lorg/jruby/util/collections/ClassValue;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/jruby/util/collections/ClassValue<Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;>;

  public abstract java.util.Map<java.util.Set<?>, org.jruby.javasupport.proxy.JavaProxyClass> getJavaProxyClassCache();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/util/Set<*>;Lorg/jruby/javasupport/proxy/JavaProxyClass;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected abstract org.jruby.javasupport.proxy.JavaProxyClass fetchJavaProxyClass(org.jruby.javasupport.JavaSupport$ProxyClassKey);
    descriptor: (Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      classKey  

  protected abstract org.jruby.javasupport.proxy.JavaProxyClass saveJavaProxyClass(org.jruby.javasupport.JavaSupport$ProxyClassKey, org.jruby.javasupport.proxy.JavaProxyClass);
    descriptor: (Lorg/jruby/javasupport/JavaSupport$ProxyClassKey;Lorg/jruby/javasupport/proxy/JavaProxyClass;)Lorg/jruby/javasupport/proxy/JavaProxyClass;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      classKey  
      klass     

  public abstract void beginProxy(java.lang.Class, org.jruby.RubyModule);
    descriptor: (Ljava/lang/Class;Lorg/jruby/RubyModule;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      cls    
      proxy  

  public abstract void endProxy(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      cls   

  public abstract org.jruby.RubyModule getUnfinishedProxy(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/jruby/RubyModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      cls   
}
SourceFile: "JavaSupport.java"
NestMembers:
  org.jruby.javasupport.JavaSupport$ProxyClassKey
InnerClasses:
  public final ProxyClassKey = org.jruby.javasupport.JavaSupport$ProxyClassKey of org.jruby.javasupport.JavaSupport