class sun.nio.ch.InheritedChannel
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.ch.InheritedChannel
super_class: java.lang.Object
{
private static final int UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int SOCK_STREAM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SOCK_DGRAM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int O_RDONLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int O_WRONLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int O_RDWR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static int devnull;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean haveChannel;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.nio.channels.Channel channel;
descriptor: Ljava/nio/channels/Channel;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/nio/ch/InheritedChannel;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.nio.ch.InheritedChannel.$assertionsDisabled:Z
3: iconst_m1
putstatic sun.nio.ch.InheritedChannel.devnull:I
4: iconst_0
putstatic sun.nio.ch.InheritedChannel.haveChannel:Z
5: aconst_null
putstatic sun.nio.ch.InheritedChannel.channel:Ljava/nio/channels/Channel;
6: invokestatic sun.nio.ch.IOUtil.load:()V
7: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
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 Lsun/nio/ch/InheritedChannel;
private static void detachIOStreams();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.nio.ch.InheritedChannel.devnull:I
iconst_0
invokestatic sun.nio.ch.InheritedChannel.dup2:(II)V
1: getstatic sun.nio.ch.InheritedChannel.devnull:I
iconst_1
invokestatic sun.nio.ch.InheritedChannel.dup2:(II)V
2: getstatic sun.nio.ch.InheritedChannel.devnull:I
iconst_2
invokestatic sun.nio.ch.InheritedChannel.dup2:(II)V
3: goto 6
StackMap locals:
StackMap stack: java.io.IOException
4: astore 0
start local 0 5: new java.lang.InternalError
dup
aload 0
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 6: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 6 0 ioe Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
private static void checkAccess(java.nio.channels.Channel);
descriptor: (Ljava/nio/channels/Channel;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
3: new java.lang.RuntimePermission
dup
ldc "inheritedChannel"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
4: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/nio/channels/Channel;
1 6 1 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
c
private static java.nio.channels.Channel createChannel();
descriptor: ()Ljava/nio/channels/Channel;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=0
0: iconst_0
invokestatic sun.nio.ch.InheritedChannel.dup:(I)I
istore 0
start local 0 1: iload 0
invokestatic sun.nio.ch.InheritedChannel.soType0:(I)I
istore 1
start local 1 2: iload 1
iconst_1
if_icmpeq 5
iload 1
iconst_2
if_icmpeq 5
3: iload 0
invokestatic sun.nio.ch.InheritedChannel.close0:(I)V
4: aconst_null
areturn
5: StackMap locals: int int
StackMap stack:
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
astore 2
start local 2 6: ldc "java.io.FileDescriptor"
7: aload 2
8: invokestatic sun.nio.ch.Reflect.lookupConstructor:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 3
start local 3 9: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
iload 0
invokespecial java.lang.Integer.<init>:(I)V
aastore
astore 4
start local 4 10: aload 3
aload 4
invokestatic sun.nio.ch.Reflect.invoke:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.FileDescriptor
astore 5
start local 5 11: invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
astore 6
start local 6 12: getstatic sun.nio.ch.InheritedChannel.$assertionsDisabled:Z
ifne 13
aload 6
instanceof sun.nio.ch.SelectorProviderImpl
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: int int java.lang.Class[] java.lang.reflect.Constructor java.lang.Object[] java.io.FileDescriptor java.nio.channels.spi.SelectorProvider
StackMap stack:
iload 1
iconst_1
if_icmpne 23
14: iload 0
invokestatic sun.nio.ch.InheritedChannel.peerAddress0:(I)Ljava/net/InetAddress;
astore 8
start local 8 15: aload 8
ifnonnull 18
16: new sun.nio.ch.InheritedChannel$InheritedServerSocketChannelImpl
dup
aload 6
aload 5
invokespecial sun.nio.ch.InheritedChannel$InheritedServerSocketChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;)V
astore 7
start local 7 17: goto 24
end local 7 18: StackMap locals: int int java.lang.Class[] java.lang.reflect.Constructor java.lang.Object[] java.io.FileDescriptor java.nio.channels.spi.SelectorProvider top java.net.InetAddress
StackMap stack:
iload 0
invokestatic sun.nio.ch.InheritedChannel.peerPort0:(I)I
istore 9
start local 9 19: getstatic sun.nio.ch.InheritedChannel.$assertionsDisabled:Z
ifne 20
iload 9
ifgt 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: int
StackMap stack:
new java.net.InetSocketAddress
dup
aload 8
iload 9
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 10
start local 10 21: new sun.nio.ch.InheritedChannel$InheritedSocketChannelImpl
dup
aload 6
aload 5
aload 10
invokespecial sun.nio.ch.InheritedChannel$InheritedSocketChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)V
astore 7
end local 10 end local 9 end local 8 start local 7 22: goto 24
end local 7 23: StackMap locals: int int java.lang.Class[] java.lang.reflect.Constructor java.lang.Object[] java.io.FileDescriptor java.nio.channels.spi.SelectorProvider
StackMap stack:
new sun.nio.ch.InheritedChannel$InheritedDatagramChannelImpl
dup
aload 6
aload 5
invokespecial sun.nio.ch.InheritedChannel$InheritedDatagramChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;)V
astore 7
start local 7 24: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 25 0 fdVal I
2 25 1 st I
6 25 2 paramTypes [Ljava/lang/Class;
9 25 3 ctr Ljava/lang/reflect/Constructor<*>;
10 25 4 args [Ljava/lang/Object;
11 25 5 fd Ljava/io/FileDescriptor;
12 25 6 provider Ljava/nio/channels/spi/SelectorProvider;
17 18 7 c Ljava/nio/channels/Channel;
22 23 7 c Ljava/nio/channels/Channel;
24 25 7 c Ljava/nio/channels/Channel;
15 22 8 ia Ljava/net/InetAddress;
19 22 9 port I
21 22 10 isa Ljava/net/InetSocketAddress;
Exceptions:
throws java.io.IOException
public static synchronized java.nio.channels.Channel getChannel();
descriptor: ()Ljava/nio/channels/Channel;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.nio.ch.InheritedChannel.devnull:I
ifge 2
1: ldc "/dev/null"
iconst_2
invokestatic sun.nio.ch.InheritedChannel.open0:(Ljava/lang/String;I)I
putstatic sun.nio.ch.InheritedChannel.devnull:I
2: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.InheritedChannel.haveChannel:Z
ifne 5
3: invokestatic sun.nio.ch.InheritedChannel.createChannel:()Ljava/nio/channels/Channel;
putstatic sun.nio.ch.InheritedChannel.channel:Ljava/nio/channels/Channel;
4: iconst_1
putstatic sun.nio.ch.InheritedChannel.haveChannel:Z
5: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.InheritedChannel.channel:Ljava/nio/channels/Channel;
ifnull 7
6: getstatic sun.nio.ch.InheritedChannel.channel:Ljava/nio/channels/Channel;
invokestatic sun.nio.ch.InheritedChannel.checkAccess:(Ljava/nio/channels/Channel;)V
7: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.InheritedChannel.channel:Ljava/nio/channels/Channel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
private static native int dup(int);
descriptor: (I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
private static native void dup2(int, int);
descriptor: (II)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
fd2
private static native int open0(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
oflag
private static native void close0(int);
descriptor: (I)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
private static native int soType0(int);
descriptor: (I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fd
private static native java.net.InetAddress peerAddress0(int);
descriptor: (I)Ljava/net/InetAddress;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fd
private static native int peerPort0(int);
descriptor: (I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fd
}
SourceFile: "InheritedChannel.java"
NestMembers:
sun.nio.ch.InheritedChannel$InheritedDatagramChannelImpl sun.nio.ch.InheritedChannel$InheritedServerSocketChannelImpl sun.nio.ch.InheritedChannel$InheritedSocketChannelImpl
InnerClasses:
public InheritedDatagramChannelImpl = sun.nio.ch.InheritedChannel$InheritedDatagramChannelImpl of sun.nio.ch.InheritedChannel
public InheritedServerSocketChannelImpl = sun.nio.ch.InheritedChannel$InheritedServerSocketChannelImpl of sun.nio.ch.InheritedChannel
public InheritedSocketChannelImpl = sun.nio.ch.InheritedChannel$InheritedSocketChannelImpl of sun.nio.ch.InheritedChannel