final class com.sun.naming.internal.VersionHelper12 extends com.sun.naming.internal.VersionHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.naming.internal.VersionHelper12
  super_class: com.sun.naming.internal.VersionHelper
{
  private static final boolean noPackageAccessWithTCCL;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String TRUST_URL_CODEBASE_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.object.trustURLCodebase"

  private static final java.lang.String trustURLCodebase;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 59
            ldc "true"
         1: .line 61
            new com.sun.naming.internal.VersionHelper12$1
            dup
            invokespecial com.sun.naming.internal.VersionHelper12$1.<init>:()V
         2: .line 60
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
         3: .line 59
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putstatic com.sun.naming.internal.VersionHelper12.noPackageAccessWithTCCL:Z
         4: .line 84
            new com.sun.naming.internal.VersionHelper12$2
            dup
            invokespecial com.sun.naming.internal.VersionHelper12$2.<init>:()V
         5: .line 83
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         6: .line 82
            putstatic com.sun.naming.internal.VersionHelper12.trustURLCodebase:Ljava/lang/String;
         7: .line 94
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.naming.internal.VersionHelper12 this
         0: .line 70
            aload 0 /* this */
            invokespecial com.sun.naming.internal.VersionHelper.<init>:()V
         1: .line 71
            return
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/naming/internal/VersionHelper12;

  public java.lang.Class loadClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.String className
         0: .line 74
            aload 0 /* this */
            aload 1 /* className */
            aload 0 /* this */
            invokevirtual com.sun.naming.internal.VersionHelper12.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual com.sun.naming.internal.VersionHelper12.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String className
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/naming/internal/VersionHelper12;
            0    1     1  className  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
           Name  Flags
      className  

  java.lang.Class loadClass(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.String className
        start local 2 // java.lang.ClassLoader cl
         0: .line 104
            aload 1 /* className */
            iconst_1
            aload 2 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
         1: .line 105
            aload 3 /* cls */
            invokestatic com.sun.naming.internal.VersionHelper12.checkPackageAccess:(Ljava/lang/Class;)V
         2: .line 106
            aload 3 /* cls */
            areturn
        end local 3 // java.lang.Class cls
        end local 2 // java.lang.ClassLoader cl
        end local 1 // java.lang.String className
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/naming/internal/VersionHelper12;
            0    3     1  className  Ljava/lang/String;
            0    3     2         cl  Ljava/lang/ClassLoader;
            1    3     3        cls  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
           Name  Flags
      className  
      cl         

  public java.lang.Class loadClass(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String codebase
         0: .line 115
            ldc "true"
            getstatic com.sun.naming.internal.VersionHelper12.trustURLCodebase:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 116
            aload 0 /* this */
            invokevirtual com.sun.naming.internal.VersionHelper12.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* parent */
        start local 3 // java.lang.ClassLoader parent
         2: .line 118
            aload 2 /* codebase */
            invokestatic com.sun.naming.internal.VersionHelper12.getUrlArray:(Ljava/lang/String;)[Ljava/net/URL;
            aload 3 /* parent */
            invokestatic java.net.URLClassLoader.newInstance:([Ljava/net/URL;Ljava/lang/ClassLoader;)Ljava/net/URLClassLoader;
         3: .line 117
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         4: .line 120
            aload 0 /* this */
            aload 1 /* className */
            aload 4 /* cl */
            invokevirtual com.sun.naming.internal.VersionHelper12.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
        end local 4 // java.lang.ClassLoader cl
        end local 3 // java.lang.ClassLoader parent
         5: .line 122
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String codebase
        end local 1 // java.lang.String className
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/naming/internal/VersionHelper12;
            0    6     1  className  Ljava/lang/String;
            0    6     2   codebase  Ljava/lang/String;
            2    5     3     parent  Ljava/lang/ClassLoader;
            4    5     4         cl  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.net.MalformedURLException
    MethodParameters:
           Name  Flags
      className  
      codebase   

  static void checkPackageAccess(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.Class cls
         0: .line 133
            getstatic com.sun.naming.internal.VersionHelper12.noPackageAccessWithTCCL:Z
            ifeq 2
         1: .line 134
            return
         2: .line 137
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 138
            aload 1 /* sm */
            ifnull 17
         4: .line 139
            aload 0 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 11
         5: .line 140
            aload 0 /* cls */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: java.lang.Class java.lang.SecurityManager top int int java.lang.Class[]
      StackMap stack:
         6: aload 5
            iload 3
            aaload
            astore 2 /* intf */
        start local 2 // java.lang.Class intf
         7: .line 141
            aload 2 /* intf */
            invokestatic com.sun.naming.internal.VersionHelper12.checkPackageAccess:(Ljava/lang/Class;)V
        end local 2 // java.lang.Class intf
         8: .line 140
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 6
        10: .line 143
            return
        11: .line 146
      StackMap locals: java.lang.Class java.lang.SecurityManager
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
        12: .line 147
            aload 2 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
        13: .line 148
            iload 3 /* i */
            iconst_m1
            if_icmpeq 17
        14: .line 149
            new com.sun.naming.internal.VersionHelper12$3
            dup
            aload 1 /* sm */
            aload 2 /* name */
            iload 3 /* i */
            invokespecial com.sun.naming.internal.VersionHelper12$3.<init>:(Ljava/lang/SecurityManager;Ljava/lang/String;I)V
        15: .line 154
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        16: .line 149
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        end local 3 // int i
        end local 2 // java.lang.String name
        17: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0   cls  Ljava/lang/Class<*>;
            3   18     1    sm  Ljava/lang/SecurityManager;
            7    8     2  intf  Ljava/lang/Class<*>;
           12   17     2  name  Ljava/lang/String;
           13   17     3     i  I
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      cls   

  java.lang.String getJndiProperty(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // int i
         0: .line 161
            new com.sun.naming.internal.VersionHelper12$4
            dup
            aload 0 /* this */
            iload 1 /* i */
            invokespecial com.sun.naming.internal.VersionHelper12$4.<init>:(Lcom/sun/naming/internal/VersionHelper12;I)V
         1: .line 160
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int i
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/naming/internal/VersionHelper12;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     final

  java.lang.String[] getJndiProperties();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.naming.internal.VersionHelper12 this
         0: .line 175
            new com.sun.naming.internal.VersionHelper12$5
            dup
            aload 0 /* this */
            invokespecial com.sun.naming.internal.VersionHelper12$5.<init>:(Lcom/sun/naming/internal/VersionHelper12;)V
         1: .line 174
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.Properties
            astore 1 /* sysProps */
        start local 1 // java.util.Properties sysProps
         2: .line 185
            aload 1 /* sysProps */
            ifnonnull 4
         3: .line 186
            aconst_null
            areturn
         4: .line 188
      StackMap locals: java.util.Properties
      StackMap stack:
            getstatic com.sun.naming.internal.VersionHelper12.PROPS:[Ljava/lang/String;
            arraylength
            anewarray java.lang.String
            astore 2 /* jProps */
        start local 2 // java.lang.String[] jProps
         5: .line 189
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 190
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* jProps */
            iload 3 /* i */
            aload 1 /* sysProps */
            getstatic com.sun.naming.internal.VersionHelper12.PROPS:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
         8: .line 189
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            getstatic com.sun.naming.internal.VersionHelper12.PROPS:[Ljava/lang/String;
            arraylength
            if_icmplt 7
        end local 3 // int i
        10: .line 192
            aload 2 /* jProps */
            areturn
        end local 2 // java.lang.String[] jProps
        end local 1 // java.util.Properties sysProps
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/naming/internal/VersionHelper12;
            2   11     1  sysProps  Ljava/util/Properties;
            5   11     2    jProps  [Ljava/lang/String;
            6   10     3         i  I

  java.io.InputStream getResourceAsStream(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.Class c
        start local 2 // java.lang.String name
         0: .line 197
            new com.sun.naming.internal.VersionHelper12$6
            dup
            aload 0 /* this */
            aload 1 /* c */
            aload 2 /* name */
            invokespecial com.sun.naming.internal.VersionHelper12$6.<init>:(Lcom/sun/naming/internal/VersionHelper12;Ljava/lang/Class;Ljava/lang/String;)V
         1: .line 196
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.InputStream
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class c
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/naming/internal/VersionHelper12;
            0    2     1     c  Ljava/lang/Class;
            0    2     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     final
      name  final

  java.io.InputStream getJavaHomeLibStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.String filename
         0: .line 207
            new com.sun.naming.internal.VersionHelper12$7
            dup
            aload 0 /* this */
            aload 1 /* filename */
            invokespecial com.sun.naming.internal.VersionHelper12$7.<init>:(Lcom/sun/naming/internal/VersionHelper12;Ljava/lang/String;)V
         1: .line 206
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.InputStream
            areturn
        end local 1 // java.lang.String filename
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/naming/internal/VersionHelper12;
            0    2     1  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  final

  javax.naming.NamingEnumeration getResources(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.naming.internal.VersionHelper12 this
        start local 1 // java.lang.ClassLoader cl
        start local 2 // java.lang.String name
         0: .line 231
            new com.sun.naming.internal.VersionHelper12$8
            dup
            aload 0 /* this */
            aload 1 /* cl */
            aload 2 /* name */
            invokespecial com.sun.naming.internal.VersionHelper12$8.<init>:(Lcom/sun/naming/internal/VersionHelper12;Ljava/lang/ClassLoader;Ljava/lang/String;)V
         1: .line 230
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.util.Enumeration
            astore 3 /* urls */
        start local 3 // java.util.Enumeration urls
         2: .line 239
            goto 5
        end local 3 // java.util.Enumeration urls
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         3: astore 4 /* e */
        start local 4 // java.security.PrivilegedActionException e
         4: .line 240
            aload 4 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 4 // java.security.PrivilegedActionException e
        start local 3 // java.util.Enumeration urls
         5: .line 242
      StackMap locals: java.util.Enumeration
      StackMap stack:
            new com.sun.naming.internal.VersionHelper12$InputStreamEnumeration
            dup
            aload 0 /* this */
            aload 3 /* urls */
            invokespecial com.sun.naming.internal.VersionHelper12$InputStreamEnumeration.<init>:(Lcom/sun/naming/internal/VersionHelper12;Ljava/util/Enumeration;)V
            areturn
        end local 3 // java.util.Enumeration urls
        end local 2 // java.lang.String name
        end local 1 // java.lang.ClassLoader cl
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/naming/internal/VersionHelper12;
            0    6     1    cl  Ljava/lang/ClassLoader;
            0    6     2  name  Ljava/lang/String;
            2    3     3  urls  Ljava/util/Enumeration;
            5    6     3  urls  Ljava/util/Enumeration;
            4    5     4     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cl    final
      name  final

  java.lang.ClassLoader getContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.naming.internal.VersionHelper12 this
         0: .line 256
            new com.sun.naming.internal.VersionHelper12$9
            dup
            aload 0 /* this */
            invokespecial com.sun.naming.internal.VersionHelper12$9.<init>:(Lcom/sun/naming/internal/VersionHelper12;)V
         1: .line 255
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
        end local 0 // com.sun.naming.internal.VersionHelper12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/naming/internal/VersionHelper12;
}
SourceFile: "VersionHelper12.java"
NestMembers:
  com.sun.naming.internal.VersionHelper12$1  com.sun.naming.internal.VersionHelper12$2  com.sun.naming.internal.VersionHelper12$3  com.sun.naming.internal.VersionHelper12$4  com.sun.naming.internal.VersionHelper12$5  com.sun.naming.internal.VersionHelper12$6  com.sun.naming.internal.VersionHelper12$7  com.sun.naming.internal.VersionHelper12$8  com.sun.naming.internal.VersionHelper12$9  com.sun.naming.internal.VersionHelper12$InputStreamEnumeration  com.sun.naming.internal.VersionHelper12$InputStreamEnumeration$1
InnerClasses:
  com.sun.naming.internal.VersionHelper12$1
  com.sun.naming.internal.VersionHelper12$2
  com.sun.naming.internal.VersionHelper12$3
  com.sun.naming.internal.VersionHelper12$4
  com.sun.naming.internal.VersionHelper12$5
  com.sun.naming.internal.VersionHelper12$6
  com.sun.naming.internal.VersionHelper12$7
  com.sun.naming.internal.VersionHelper12$8
  com.sun.naming.internal.VersionHelper12$9
  InputStreamEnumeration = com.sun.naming.internal.VersionHelper12$InputStreamEnumeration of com.sun.naming.internal.VersionHelper12