class org.jruby.util.io.FilenoUtil$ReflectiveAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.util.io.FilenoUtil$ReflectiveAccess
  super_class: java.lang.Object
{
  private static final java.lang.Class SEL_CH_IMPL;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=0
         0: .line 188
            ldc Ljava/io/FileDescriptor;
            ldc "sun.nio.ch"
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            invokestatic com.headius.backport9.modules.Modules.addOpens:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         1: .line 189
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: pop
         3: .line 191
            getstatic org.jruby.util.io.FilenoUtil.LOG:Lorg/jruby/util/log/Logger;
            ldc "Native subprocess control requires open access to sun.nio.ch\nPass '--add-opens java.base/sun.nio.ch=org.jruby.dist' or '=org.jruby.core' to enable."
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 198
      StackMap locals:
      StackMap stack:
            ldc "sun.nio.ch.SelChImpl"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* selChImpl */
        start local 1 // java.lang.Class selChImpl
         5: .line 200
            aload 1 /* selChImpl */
            ldc "getFD"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 0 /* getFD */
        start local 0 // java.lang.reflect.Method getFD
         6: .line 201
            aload 0 /* getFD */
            invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
            ifne 15
         7: .line 202
            aconst_null
            astore 0 /* getFD */
         8: .line 204
            goto 15
        end local 0 // java.lang.reflect.Method getFD
      StackMap locals: top java.lang.Class
      StackMap stack: java.lang.Exception
         9: pop
        10: .line 205
            aconst_null
            astore 0 /* getFD */
        start local 0 // java.lang.reflect.Method getFD
        11: .line 207
            goto 15
        end local 1 // java.lang.Class selChImpl
        end local 0 // java.lang.reflect.Method getFD
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: pop
        13: .line 208
            aconst_null
            astore 1 /* selChImpl */
        start local 1 // java.lang.Class selChImpl
        14: .line 209
            aconst_null
            astore 0 /* getFD */
        start local 0 // java.lang.reflect.Method getFD
        15: .line 211
      StackMap locals: java.lang.reflect.Method java.lang.Class
      StackMap stack:
            aload 1 /* selChImpl */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL:Ljava/lang/Class;
        16: .line 212
            aload 0 /* getFD */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL_GET_FD:Ljava/lang/reflect/Method;
        17: .line 217
            ldc "sun.nio.ch.FileChannelImpl"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* fileChannelImpl */
        start local 3 // java.lang.Class fileChannelImpl
        18: .line 219
            aload 3 /* fileChannelImpl */
            ldc "fd"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 2 /* fd */
        start local 2 // java.lang.reflect.Field fd
        19: .line 220
            aload 2 /* fd */
            invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
            ifne 28
        20: .line 221
            aconst_null
            astore 2 /* fd */
        21: .line 223
            goto 28
        end local 2 // java.lang.reflect.Field fd
      StackMap locals: java.lang.reflect.Method java.lang.Class top java.lang.Class
      StackMap stack: java.lang.Exception
        22: pop
        23: .line 224
            aconst_null
            astore 2 /* fd */
        start local 2 // java.lang.reflect.Field fd
        24: .line 226
            goto 28
        end local 3 // java.lang.Class fileChannelImpl
        end local 2 // java.lang.reflect.Field fd
      StackMap locals: java.lang.reflect.Method java.lang.Class
      StackMap stack: java.lang.Exception
        25: pop
        26: .line 227
            aconst_null
            astore 3 /* fileChannelImpl */
        start local 3 // java.lang.Class fileChannelImpl
        27: .line 228
            aconst_null
            astore 2 /* fd */
        start local 2 // java.lang.reflect.Field fd
        28: .line 230
      StackMap locals: java.lang.reflect.Field java.lang.Class
      StackMap stack:
            aload 3 /* fileChannelImpl */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL:Ljava/lang/Class;
        29: .line 231
            aload 2 /* fd */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL_FD:Ljava/lang/reflect/Field;
        30: .line 235
            ldc Ljava/io/FileDescriptor;
            ldc "fd"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 4 /* ffd */
        start local 4 // java.lang.reflect.Field ffd
        31: .line 236
            aload 4 /* ffd */
            invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
            ifne 36
        32: .line 237
            aconst_null
            astore 4 /* ffd */
        33: .line 239
            goto 36
        end local 4 // java.lang.reflect.Field ffd
      StackMap locals:
      StackMap stack: java.lang.Exception
        34: pop
        35: .line 240
            aconst_null
            astore 4 /* ffd */
        start local 4 // java.lang.reflect.Field ffd
        36: .line 242
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            aload 4 /* ffd */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_FD:Ljava/lang/reflect/Field;
        end local 4 // java.lang.reflect.Field ffd
        end local 3 // java.lang.Class fileChannelImpl
        end local 2 // java.lang.reflect.Field fd
        end local 1 // java.lang.Class selChImpl
        end local 0 // java.lang.reflect.Method getFD
        37: .line 249
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            6    9     0            getFD  Ljava/lang/reflect/Method;
           11   12     0            getFD  Ljava/lang/reflect/Method;
           15   37     0            getFD  Ljava/lang/reflect/Method;
            5   12     1        selChImpl  Ljava/lang/Class;
           14   37     1        selChImpl  Ljava/lang/Class;
           19   22     2               fd  Ljava/lang/reflect/Field;
           24   25     2               fd  Ljava/lang/reflect/Field;
           28   37     2               fd  Ljava/lang/reflect/Field;
           18   25     3  fileChannelImpl  Ljava/lang/Class;
           27   37     3  fileChannelImpl  Ljava/lang/Class;
           31   34     4              ffd  Ljava/lang/reflect/Field;
           36   37     4              ffd  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
           5     8       9  Class java.lang.Exception
           4    11      12  Class java.lang.Exception
          18    21      22  Class java.lang.Exception
          17    24      25  Class java.lang.Exception
          30    33      34  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.io.FilenoUtil$ReflectiveAccess this
         0: .line 184
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.util.io.FilenoUtil$ReflectiveAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
}
SourceFile: "FilenoUtil.java"
NestHost: org.jruby.util.io.FilenoUtil
InnerClasses:
  private ReflectiveAccess = org.jruby.util.io.FilenoUtil$ReflectiveAccess of org.jruby.util.io.FilenoUtil