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.invoke.MethodHandles$Lookup LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.function.Predicate<java.lang.Object> SEL_CH_IMPL;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/Object;>;

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

  private static final java.util.function.Function<java.lang.Object, java.io.FileDescriptor> SEL_CH_IMPL_GET_FD;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/Object;Ljava/io/FileDescriptor;>;

  private static final java.util.function.Predicate<java.lang.Object> FILE_CHANNEL_IMPL;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/Object;>;

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

  private static final java.util.function.Function<java.lang.Object, java.io.FileDescriptor> FILE_CHANNEL_IMPL_GET_FD;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/Object;Ljava/io/FileDescriptor;>;

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

  private static final java.util.function.ObjIntConsumer<java.io.FileDescriptor> FILE_DESCRIPTOR_SET_FILENO;
    descriptor: Ljava/util/function/ObjIntConsumer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/ObjIntConsumer<Ljava/io/FileDescriptor;>;

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

  private static final java.util.function.ToIntFunction<java.io.FileDescriptor> FILE_DESCRIPTOR_GET_FILENO;
    descriptor: Ljava/util/function/ToIntFunction;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/ToIntFunction<Ljava/io/FileDescriptor;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=8, args_size=0
         0: .line 196
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         1: .line 200
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/util/io/FilenoUtil$ReflectiveAccess.selChImplGetFD(Ljava/lang/Object;)Ljava/io/FileDescriptor; (6)
                  (Ljava/lang/Object;)Ljava/io/FileDescriptor;
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL_GET_FD:Ljava/util/function/Function;
         2: .line 203
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/util/io/FilenoUtil$ReflectiveAccess.fileChannelImplGetFD(Ljava/lang/Object;)Ljava/io/FileDescriptor; (6)
                  (Ljava/lang/Object;)Ljava/io/FileDescriptor;
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL_GET_FD:Ljava/util/function/Function;
         3: .line 205
            invokedynamic accept()Ljava/util/function/ObjIntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;I)V
                  org/jruby/util/io/FilenoUtil$ReflectiveAccess.fileDescriptorSetFileno(Ljava/io/FileDescriptor;I)V (6)
                  (Ljava/io/FileDescriptor;I)V
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_SET_FILENO:Ljava/util/function/ObjIntConsumer;
         4: .line 207
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  org/jruby/util/io/FilenoUtil$ReflectiveAccess.fileDescriptorGetFileno(Ljava/io/FileDescriptor;)I (6)
                  (Ljava/io/FileDescriptor;)I
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_GET_FILENO:Ljava/util/function/ToIntFunction;
         5: .line 210
            aconst_null
            astore 0 /* selChImplGetFD */
        start local 0 // java.lang.invoke.MethodHandle selChImplGetFD
         6: .line 211
            aconst_null
            astore 1 /* isSelChImpl */
        start local 1 // java.util.function.Predicate isSelChImpl
         7: .line 214
            ldc "sun.nio.ch.SelChImpl"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* selChImpl */
        start local 2 // java.lang.Class selChImpl
         8: .line 216
            aload 2 /* selChImpl */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Ljava/lang/Class;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/Class.isInstance(Ljava/lang/Object;)Z (5)
                  (Ljava/lang/Object;)Z
            astore 1 /* isSelChImpl */
         9: .line 218
            aload 2 /* selChImpl */
            ldc "getFD"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* getFD */
        start local 4 // java.lang.reflect.Method getFD
        10: .line 220
            aload 4 /* getFD */
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            invokestatic org.jruby.javasupport.JavaUtil.getHandleSafe:(Ljava/lang/reflect/Method;Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 0 /* selChImplGetFD */
        end local 4 // java.lang.reflect.Method getFD
        end local 2 // java.lang.Class selChImpl
        11: .line 221
            goto 13
      StackMap locals: java.lang.invoke.MethodHandle java.util.function.Predicate
      StackMap stack: java.lang.Throwable
        12: pop
        13: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* isSelChImpl */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL:Ljava/util/function/Predicate;
        14: .line 226
            aload 0 /* selChImplGetFD */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL_GET_FD_HANDLE:Ljava/lang/invoke/MethodHandle;
        15: .line 228
            aconst_null
            astore 2 /* isFileChannelImpl */
        start local 2 // java.util.function.Predicate isFileChannelImpl
        16: .line 229
            aconst_null
            astore 3 /* fileChannelGetFD */
        start local 3 // java.lang.invoke.MethodHandle fileChannelGetFD
        17: .line 232
            ldc "sun.nio.ch.FileChannelImpl"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* fileChannelImpl */
        start local 4 // java.lang.Class fileChannelImpl
        18: .line 234
            aload 4 /* fileChannelImpl */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Ljava/lang/Class;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/Class.isInstance(Ljava/lang/Object;)Z (5)
                  (Ljava/lang/Object;)Z
            astore 2 /* isFileChannelImpl */
        19: .line 236
            aload 4 /* fileChannelImpl */
            ldc "fd"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 6 /* fd */
        start local 6 // java.lang.reflect.Field fd
        20: .line 238
            aload 6 /* fd */
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            invokestatic org.jruby.javasupport.JavaUtil.getGetterSafe:(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* fileChannelGetFD */
        end local 6 // java.lang.reflect.Field fd
        end local 4 // java.lang.Class fileChannelImpl
        21: .line 239
            goto 23
      StackMap locals: java.lang.invoke.MethodHandle java.util.function.Predicate java.util.function.Predicate java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Throwable
        22: pop
        23: .line 243
      StackMap locals:
      StackMap stack:
            aload 2 /* isFileChannelImpl */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL:Ljava/util/function/Predicate;
        24: .line 244
            aload 3 /* fileChannelGetFD */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL_GET_FD_HANDLE:Ljava/lang/invoke/MethodHandle;
        25: .line 246
            aconst_null
            astore 4 /* fdGetFileno */
        start local 4 // java.lang.invoke.MethodHandle fdGetFileno
        26: .line 247
            aconst_null
            astore 5 /* fdSetFileno */
        start local 5 // java.lang.invoke.MethodHandle fdSetFileno
        27: .line 250
            ldc Ljava/io/FileDescriptor;
            ldc "fd"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 6 /* fd */
        start local 6 // java.lang.reflect.Field fd
        28: .line 252
            aload 6 /* fd */
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            invokestatic org.jruby.javasupport.JavaUtil.getGetterSafe:(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fdGetFileno */
        29: .line 253
            aload 6 /* fd */
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            invokestatic org.jruby.javasupport.JavaUtil.getSetterSafe:(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* fdSetFileno */
        end local 6 // java.lang.reflect.Field fd
        30: .line 254
            goto 32
      StackMap locals: java.lang.invoke.MethodHandle java.util.function.Predicate java.util.function.Predicate java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Throwable
        31: pop
        32: .line 258
      StackMap locals:
      StackMap stack:
            aload 4 /* fdGetFileno */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_GET_FILENO_HANDLE:Ljava/lang/invoke/MethodHandle;
        33: .line 259
            aload 5 /* fdSetFileno */
            putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_SET_FILENO_HANDLE:Ljava/lang/invoke/MethodHandle;
        34: .line 261
            aload 0 /* selChImplGetFD */
            ifnull 35
            aload 3 /* fileChannelGetFD */
            ifnull 35
            aload 4 /* fdGetFileno */
            ifnonnull 42
        35: .line 263
      StackMap locals:
      StackMap stack:
            ldc Lorg/jruby/util/io/FilenoUtil$ReflectiveAccess;
            invokestatic com.headius.backport9.modules.Modules.getModule:(Ljava/lang/Class;)Lcom/headius/backport9/modules/Module;
            astore 6 /* module */
        start local 6 // com.headius.backport9.modules.Module module
        36: .line 264
            aload 6 /* module */
            invokeinterface com.headius.backport9.modules.Module.getName:()Ljava/lang/String;
            astore 7 /* moduleName */
        start local 7 // java.lang.String moduleName
        37: .line 265
            aload 7 /* moduleName */
            ifnonnull 39
        38: .line 266
            ldc "ALL-UNNAMED"
            astore 7 /* moduleName */
        39: .line 268
      StackMap locals: com.headius.backport9.modules.Module java.lang.String
      StackMap stack:
            getstatic org.jruby.util.io.FilenoUtil.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Native subprocess control requires open access to the JDK IO subsystem\nPass '--add-opens java.base/sun.nio.ch="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 269
            aload 7 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " --add-opens java.base/java.io="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' to enable."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
        41: .line 268
            invokeinterface org.jruby.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 7 // java.lang.String moduleName
        end local 6 // com.headius.backport9.modules.Module module
        end local 5 // java.lang.invoke.MethodHandle fdSetFileno
        end local 4 // java.lang.invoke.MethodHandle fdGetFileno
        end local 3 // java.lang.invoke.MethodHandle fileChannelGetFD
        end local 2 // java.util.function.Predicate isFileChannelImpl
        end local 1 // java.util.function.Predicate isSelChImpl
        end local 0 // java.lang.invoke.MethodHandle selChImplGetFD
        42: .line 271
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            6   42     0     selChImplGetFD  Ljava/lang/invoke/MethodHandle;
            7   42     1        isSelChImpl  Ljava/util/function/Predicate;
            8   11     2          selChImpl  Ljava/lang/Class;
           10   11     4              getFD  Ljava/lang/reflect/Method;
           16   42     2  isFileChannelImpl  Ljava/util/function/Predicate;
           17   42     3   fileChannelGetFD  Ljava/lang/invoke/MethodHandle;
           18   21     4    fileChannelImpl  Ljava/lang/Class;
           20   21     6                 fd  Ljava/lang/reflect/Field;
           26   42     4        fdGetFileno  Ljava/lang/invoke/MethodHandle;
           27   42     5        fdSetFileno  Ljava/lang/invoke/MethodHandle;
           28   30     6                 fd  Ljava/lang/reflect/Field;
           36   42     6             module  Lcom/headius/backport9/modules/Module;
           37   42     7         moduleName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7    11      12  Class java.lang.Throwable
          17    21      22  Class java.lang.Throwable
          27    30      31  Class java.lang.Throwable

  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 195
            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;

  private static java.io.FileDescriptor fileChannelImplGetFD(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/io/FileDescriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 275
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL_GET_FD_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* obj */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/io/FileDescriptor;
         1: areturn
         2: .line 276
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         3: .line 277
            aload 1 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
         4: .line 278
            aconst_null
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   obj  Ljava/lang/Object;
            3    5     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      obj   

  private static int fileDescriptorGetFileno(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.FileDescriptor obj
         0: .line 284
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_GET_FILENO_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* obj */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/io/FileDescriptor;)I
         1: ireturn
         2: .line 285
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         3: .line 286
            aload 1 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
         4: .line 287
            iconst_m1
            ireturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.io.FileDescriptor obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   obj  Ljava/io/FileDescriptor;
            3    5     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      obj   

  private static void fileDescriptorSetFileno(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.FileDescriptor obj
        start local 1 // int i
         0: .line 293
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_SET_FILENO_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* obj */
            iload 1 /* i */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/io/FileDescriptor;I)V
         1: .line 294
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         3: .line 295
            aload 2 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t
         4: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int i
        end local 0 // java.io.FileDescriptor obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   obj  Ljava/io/FileDescriptor;
            0    5     1     i  I
            3    4     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      obj   
      i     

  private static java.io.FileDescriptor selChImplGetFD(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/io/FileDescriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 301
            getstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL_GET_FD_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* obj */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/io/FileDescriptor;
         1: areturn
         2: .line 302
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         3: .line 303
            aload 1 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
         4: .line 304
            aconst_null
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   obj  Ljava/lang/Object;
            3    5     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      obj   
}
SourceFile: "FilenoUtil.java"
NestHost: org.jruby.util.io.FilenoUtil
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private ReflectiveAccess = org.jruby.util.io.FilenoUtil$ReflectiveAccess of org.jruby.util.io.FilenoUtil