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: 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: goto 4
StackMap locals:
StackMap stack: java.lang.RuntimeException
2: pop
3: 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: StackMap locals:
StackMap stack:
ldc "sun.nio.ch.SelChImpl"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
start local 1 5: aload 1
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
start local 0 6: aload 0
invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
ifne 15
7: aconst_null
astore 0
8: goto 15
end local 0 StackMap locals: top java.lang.Class
StackMap stack: java.lang.Exception
9: pop
10: aconst_null
astore 0
start local 0 11: goto 15
end local 1 end local 0 StackMap locals:
StackMap stack: java.lang.Exception
12: pop
13: aconst_null
astore 1
start local 1 14: aconst_null
astore 0
start local 0 15: StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack:
aload 1
putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL:Ljava/lang/Class;
16: aload 0
putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.SEL_CH_IMPL_GET_FD:Ljava/lang/reflect/Method;
17: ldc "sun.nio.ch.FileChannelImpl"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 18: aload 3
ldc "fd"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 19: aload 2
invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
ifne 28
20: aconst_null
astore 2
21: goto 28
end local 2 StackMap locals: java.lang.reflect.Method java.lang.Class top java.lang.Class
StackMap stack: java.lang.Exception
22: pop
23: aconst_null
astore 2
start local 2 24: goto 28
end local 3 end local 2 StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack: java.lang.Exception
25: pop
26: aconst_null
astore 3
start local 3 27: aconst_null
astore 2
start local 2 28: StackMap locals: java.lang.reflect.Field java.lang.Class
StackMap stack:
aload 3
putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL:Ljava/lang/Class;
29: aload 2
putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_CHANNEL_IMPL_FD:Ljava/lang/reflect/Field;
30: ldc Ljava/io/FileDescriptor;
ldc "fd"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 4
start local 4 31: aload 4
invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
ifne 36
32: aconst_null
astore 4
33: goto 36
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
34: pop
35: aconst_null
astore 4
start local 4 36: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 4
putstatic org.jruby.util.io.FilenoUtil$ReflectiveAccess.FILE_DESCRIPTOR_FD:Ljava/lang/reflect/Field;
end local 4 end local 3 end local 2 end local 1 end local 0 37: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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