class sun.nio.ch.Reflect
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.ch.Reflect
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.Reflect this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.ch.Reflect this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/Reflect;

  private static void setAccessible(java.lang.reflect.AccessibleObject);
    descriptor: (Ljava/lang/reflect/AccessibleObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.AccessibleObject ao
         0: .line 46
            new sun.nio.ch.Reflect$1
            dup
            aload 0 /* ao */
            invokespecial sun.nio.ch.Reflect$1.<init>:(Ljava/lang/reflect/AccessibleObject;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 51
            return
        end local 0 // java.lang.reflect.AccessibleObject ao
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ao  Ljava/lang/reflect/AccessibleObject;
    MethodParameters:
      Name  Flags
      ao    final

  static java.lang.reflect.Constructor<?> lookupConstructor(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String className
        start local 1 // java.lang.Class[] paramTypes
         0: .line 57
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* cl */
        start local 2 // java.lang.Class cl
         1: .line 58
            aload 2 /* cl */
            aload 1 /* paramTypes */
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 3 /* c */
        start local 3 // java.lang.reflect.Constructor c
         2: .line 59
            aload 3 /* c */
            invokestatic sun.nio.ch.Reflect.setAccessible:(Ljava/lang/reflect/AccessibleObject;)V
         3: .line 60
            aload 3 /* c */
         4: areturn
        end local 3 // java.lang.reflect.Constructor c
        end local 2 // java.lang.Class cl
         5: .line 61
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 2 /* x */
        start local 2 // java.lang.ReflectiveOperationException x
         6: .line 62
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 2 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException x
        end local 1 // java.lang.Class[] paramTypes
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0   className  Ljava/lang/String;
            0    7     1  paramTypes  [Ljava/lang/Class;
            1    5     2          cl  Ljava/lang/Class<*>;
            2    5     3           c  Ljava/lang/reflect/Constructor<*>;
            6    7     2           x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
           0     4       5  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
            Name  Flags
      className   
      paramTypes  

  static  invoke(java.lang.reflect.Constructor<?>, []);
    descriptor: (Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.reflect.Constructor c
        start local 1 // java.lang.Object[] args
         0: .line 68
            aload 0 /* c */
            aload 1 /* args */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 71
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 2 /* x */
        start local 2 // java.lang.ReflectiveOperationException x
         3: .line 72
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 2 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException x
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.reflect.Constructor c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  Ljava/lang/reflect/Constructor<*>;
            0    4     1  args  [Ljava/lang/Object;
            3    4     2     x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InstantiationException
           0     1       2  Class java.lang.IllegalAccessException
           0     1       2  Class java.lang.reflect.InvocationTargetException
    Signature: (Ljava/lang/reflect/Constructor<*>;[Ljava/lang/Object;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      c     
      args  

  static java.lang.reflect.Method lookupMethod(java.lang.String, java.lang.String, java.lang.Class[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String className
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.Class[] paramTypes
         0: .line 81
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 82
            aload 3 /* cl */
            aload 1 /* methodName */
            aload 2 /* paramTypes */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* m */
        start local 4 // java.lang.reflect.Method m
         2: .line 83
            aload 4 /* m */
            invokestatic sun.nio.ch.Reflect.setAccessible:(Ljava/lang/reflect/AccessibleObject;)V
         3: .line 84
            aload 4 /* m */
         4: areturn
        end local 4 // java.lang.reflect.Method m
        end local 3 // java.lang.Class cl
         5: .line 85
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 3 /* x */
        start local 3 // java.lang.ReflectiveOperationException x
         6: .line 86
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ReflectiveOperationException x
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0   className  Ljava/lang/String;
            0    7     1  methodName  Ljava/lang/String;
            0    7     2  paramTypes  [Ljava/lang/Class;
            1    5     3          cl  Ljava/lang/Class<*>;
            2    5     4           m  Ljava/lang/reflect/Method;
            6    7     3           x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
           0     4       5  Class java.lang.NoSuchMethodException
    MethodParameters:
            Name  Flags
      className   
      methodName  
      paramTypes  

  static java.lang.Object invoke(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.reflect.Method m
        start local 1 // java.lang.Object ob
        start local 2 // java.lang.Object[] args
         0: .line 92
            aload 0 /* m */
            aload 1 /* ob */
            aload 2 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 93
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 3 /* x */
        start local 3 // java.lang.ReflectiveOperationException x
         3: .line 94
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ReflectiveOperationException x
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object ob
        end local 0 // java.lang.reflect.Method m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     m  Ljava/lang/reflect/Method;
            0    4     1    ob  Ljava/lang/Object;
            0    4     2  args  [Ljava/lang/Object;
            3    4     3     x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       2  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
      Name  Flags
      m     
      ob    
      args  

  static java.lang.Object invokeIO(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.reflect.Method m
        start local 1 // java.lang.Object ob
        start local 2 // java.lang.Object[] args
         0: .line 102
            aload 0 /* m */
            aload 1 /* ob */
            aload 2 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 103
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* x */
        start local 3 // java.lang.IllegalAccessException x
         3: .line 104
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException x
         4: .line 105
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* x */
        start local 3 // java.lang.reflect.InvocationTargetException x
         5: .line 106
            ldc Ljava/io/IOException;
            aload 3 /* x */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 107
            aload 3 /* x */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast java.io.IOException
            athrow
         7: .line 108
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException x
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object ob
        end local 0 // java.lang.reflect.Method m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     m  Ljava/lang/reflect/Method;
            0    8     1    ob  Ljava/lang/Object;
            0    8     2  args  [Ljava/lang/Object;
            3    4     3     x  Ljava/lang/IllegalAccessException;
            5    8     3     x  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      m     
      ob    
      args  

  static java.lang.reflect.Field lookupField(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Field;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String className
        start local 1 // java.lang.String fieldName
         0: .line 114
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* cl */
        start local 2 // java.lang.Class cl
         1: .line 115
            aload 2 /* cl */
            aload 1 /* fieldName */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 3 /* f */
        start local 3 // java.lang.reflect.Field f
         2: .line 116
            aload 3 /* f */
            invokestatic sun.nio.ch.Reflect.setAccessible:(Ljava/lang/reflect/AccessibleObject;)V
         3: .line 117
            aload 3 /* f */
         4: areturn
        end local 3 // java.lang.reflect.Field f
        end local 2 // java.lang.Class cl
         5: .line 118
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 2 /* x */
        start local 2 // java.lang.ReflectiveOperationException x
         6: .line 119
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 2 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException x
        end local 1 // java.lang.String fieldName
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  className  Ljava/lang/String;
            0    7     1  fieldName  Ljava/lang/String;
            1    5     2         cl  Ljava/lang/Class<*>;
            2    5     3          f  Ljava/lang/reflect/Field;
            6    7     2          x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
           0     4       5  Class java.lang.NoSuchFieldException
    MethodParameters:
           Name  Flags
      className  
      fieldName  

  static java.lang.Object get(java.lang.Object, java.lang.reflect.Field);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Field;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object ob
        start local 1 // java.lang.reflect.Field f
         0: .line 125
            aload 1 /* f */
            aload 0 /* ob */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 126
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* x */
        start local 2 // java.lang.IllegalAccessException x
         3: .line 127
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 2 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException x
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.Object ob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    ob  Ljava/lang/Object;
            0    4     1     f  Ljava/lang/reflect/Field;
            3    4     2     x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      ob    
      f     

  static java.lang.Object get(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Field f
         0: .line 132
            aconst_null
            aload 0 /* f */
            invokestatic sun.nio.ch.Reflect.get:(Ljava/lang/Object;Ljava/lang/reflect/Field;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.reflect.Field f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/lang/reflect/Field;
    MethodParameters:
      Name  Flags
      f     

  static void set(java.lang.Object, java.lang.reflect.Field, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Field;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object ob
        start local 1 // java.lang.reflect.Field f
        start local 2 // java.lang.Object val
         0: .line 137
            aload 1 /* f */
            aload 0 /* ob */
            aload 2 /* val */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 138
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         2: astore 3 /* x */
        start local 3 // java.lang.IllegalAccessException x
         3: .line 139
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException x
         4: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object val
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.Object ob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ob  Ljava/lang/Object;
            0    5     1     f  Ljava/lang/reflect/Field;
            0    5     2   val  Ljava/lang/Object;
            3    4     3     x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      ob    
      f     
      val   

  static void setInt(java.lang.Object, java.lang.reflect.Field, int);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Field;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object ob
        start local 1 // java.lang.reflect.Field f
        start local 2 // int val
         0: .line 145
            aload 1 /* f */
            aload 0 /* ob */
            iload 2 /* val */
            invokevirtual java.lang.reflect.Field.setInt:(Ljava/lang/Object;I)V
         1: .line 146
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         2: astore 3 /* x */
        start local 3 // java.lang.IllegalAccessException x
         3: .line 147
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException x
         4: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int val
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.Object ob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ob  Ljava/lang/Object;
            0    5     1     f  Ljava/lang/reflect/Field;
            0    5     2   val  I
            3    4     3     x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      ob    
      f     
      val   

  static void setBoolean(java.lang.Object, java.lang.reflect.Field, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Field;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object ob
        start local 1 // java.lang.reflect.Field f
        start local 2 // boolean val
         0: .line 153
            aload 1 /* f */
            aload 0 /* ob */
            iload 2 /* val */
            invokevirtual java.lang.reflect.Field.setBoolean:(Ljava/lang/Object;Z)V
         1: .line 154
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         2: astore 3 /* x */
        start local 3 // java.lang.IllegalAccessException x
         3: .line 155
            new sun.nio.ch.Reflect$ReflectionError
            dup
            aload 3 /* x */
            invokespecial sun.nio.ch.Reflect$ReflectionError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException x
         4: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean val
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.Object ob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ob  Ljava/lang/Object;
            0    5     1     f  Ljava/lang/reflect/Field;
            0    5     2   val  Z
            3    4     3     x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      ob    
      f     
      val   
}
SourceFile: "Reflect.java"
NestMembers:
  sun.nio.ch.Reflect$1  sun.nio.ch.Reflect$ReflectionError
InnerClasses:
  sun.nio.ch.Reflect$1
  private ReflectionError = sun.nio.ch.Reflect$ReflectionError of sun.nio.ch.Reflect