public class java.net.Socket implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.net.Socket
super_class: java.lang.Object
{
private boolean created;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean bound;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean connected;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object closeLock;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private boolean shutIn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean shutOut;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
java.net.SocketImpl impl;
descriptor: Ljava/net/SocketImpl;
flags: (0x0000)
private volatile java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.io.OutputStream out;
descriptor: Ljava/io/OutputStream;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.lang.invoke.VarHandle IN;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.VarHandle OUT;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile java.net.SocketImplFactory factory;
descriptor: Ljava/net/SocketImplFactory;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private volatile java.util.Set<java.net.SocketOption<?>> options;
descriptor: Ljava/util/Set;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Set<Ljava/net/SocketOption<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
astore 0
start local 0 1: aload 0
ldc Ljava/net/Socket;
ldc "in"
ldc Ljava/io/InputStream;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.net.Socket.IN:Ljava/lang/invoke/VarHandle;
2: aload 0
ldc Ljava/net/Socket;
ldc "out"
ldc Ljava/io/OutputStream;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.net.Socket.OUT:Ljava/lang/invoke/VarHandle;
end local 0 3: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
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
1 3 0 l Ljava/lang/invoke/MethodHandles$Lookup;
5 6 0 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.net.Socket.created:Z
2: aload 0
iconst_0
putfield java.net.Socket.bound:Z
3: aload 0
iconst_0
putfield java.net.Socket.connected:Z
4: aload 0
iconst_0
putfield java.net.Socket.closed:Z
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.net.Socket.closeLock:Ljava/lang/Object;
6: aload 0
iconst_0
putfield java.net.Socket.shutIn:Z
7: aload 0
iconst_0
putfield java.net.Socket.shutOut:Z
8: aload 0
invokevirtual java.net.Socket.setImpl:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/net/Socket;
public void <init>(java.net.Proxy);
descriptor: (Ljava/net/Proxy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.net.Socket.created:Z
2: aload 0
iconst_0
putfield java.net.Socket.bound:Z
3: aload 0
iconst_0
putfield java.net.Socket.connected:Z
4: aload 0
iconst_0
putfield java.net.Socket.closed:Z
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.net.Socket.closeLock:Ljava/lang/Object;
6: aload 0
iconst_0
putfield java.net.Socket.shutIn:Z
7: aload 0
iconst_0
putfield java.net.Socket.shutOut:Z
8: aload 1
ifnonnull 10
9: new java.lang.IllegalArgumentException
dup
ldc "Invalid Proxy"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.net.Socket java.net.Proxy
StackMap stack:
aload 1
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 11
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
goto 12
11: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.net.ApplicationProxy.create:(Ljava/net/Proxy;)Lsun/net/ApplicationProxy;
12: StackMap locals:
StackMap stack: java.net.Proxy
astore 2
start local 2 13: aload 2
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
astore 3
start local 3 14: aload 3
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 15
aload 3
getstatic java.net.Proxy$Type.HTTP:Ljava/net/Proxy$Type;
if_acmpne 32
15: StackMap locals: java.net.Proxy java.net.Proxy$Type
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 16: aload 2
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
astore 5
start local 5 17: aload 5
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
ifnull 19
18: aload 0
aload 5
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
ldc "Socket"
invokevirtual java.net.Socket.checkAddress:(Ljava/net/InetAddress;Ljava/lang/String;)V
19: StackMap locals: java.lang.SecurityManager java.net.InetSocketAddress
StackMap stack:
aload 4
ifnull 27
20: aload 5
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 22
21: new java.net.InetSocketAddress
dup
aload 5
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
astore 5
22: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 24
23: aload 4
aload 5
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
goto 27
24: StackMap locals:
StackMap stack:
aload 4
aload 5
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
25: aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
26: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
27: StackMap locals:
StackMap stack:
iconst_0
invokestatic java.net.SocketImpl.createPlatformSocketImpl:(Z)Ljava/net/SocketImpl;
astore 6
start local 6 28: aload 0
aload 3
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpne 29
new java.net.SocksSocketImpl
dup
aload 2
aload 6
invokespecial java.net.SocksSocketImpl.<init>:(Ljava/net/Proxy;Ljava/net/SocketImpl;)V
goto 30
29: StackMap locals: java.net.Socket java.net.Proxy java.net.Proxy java.net.Proxy$Type java.lang.SecurityManager java.net.InetSocketAddress java.net.SocketImpl
StackMap stack: java.net.Socket
new java.net.HttpConnectSocketImpl
dup
aload 2
aload 6
aload 0
invokespecial java.net.HttpConnectSocketImpl.<init>:(Ljava/net/Proxy;Ljava/net/SocketImpl;Ljava/net/Socket;)V
30: StackMap locals: java.net.Socket java.net.Proxy java.net.Proxy java.net.Proxy$Type java.lang.SecurityManager java.net.InetSocketAddress java.net.SocketImpl
StackMap stack: java.net.Socket java.net.DelegatingSocketImpl
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
end local 6 end local 5 end local 4 31: goto 40
32: StackMap locals:
StackMap stack:
aload 2
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 39
33: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
astore 4
start local 4 34: aload 4
ifnonnull 37
35: aload 0
iconst_0
invokestatic java.net.SocketImpl.createPlatformSocketImpl:(Z)Ljava/net/SocketImpl;
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
36: goto 40
37: StackMap locals: java.net.SocketImplFactory
StackMap stack:
aload 0
aload 4
invokeinterface java.net.SocketImplFactory.createSocketImpl:()Ljava/net/SocketImpl;
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
end local 4 38: goto 40
39: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid Proxy"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Ljava/net/Socket;
0 41 1 proxy Ljava/net/Proxy;
13 41 2 p Ljava/net/Proxy;
14 41 3 type Ljava/net/Proxy$Type;
16 31 4 security Ljava/lang/SecurityManager;
17 31 5 epoint Ljava/net/InetSocketAddress;
28 31 6 delegate Ljava/net/SocketImpl;
34 38 4 factory Ljava/net/SocketImplFactory;
MethodParameters:
Name Flags
proxy
protected void <init>(java.net.SocketImpl);
descriptor: (Ljava/net/SocketImpl;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.net.Socket.created:Z
2: aload 0
iconst_0
putfield java.net.Socket.bound:Z
3: aload 0
iconst_0
putfield java.net.Socket.connected:Z
4: aload 0
iconst_0
putfield java.net.Socket.closed:Z
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.net.Socket.closeLock:Ljava/lang/Object;
6: aload 0
iconst_0
putfield java.net.Socket.shutIn:Z
7: aload 0
iconst_0
putfield java.net.Socket.shutOut:Z
8: aload 1
invokestatic java.net.Socket.checkPermission:(Ljava/net/SocketImpl;)Ljava/lang/Void;
pop
9: aload 0
aload 1
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/net/Socket;
0 11 1 impl Ljava/net/SocketImpl;
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
impl
private static java.lang.Void checkPermission(java.net.SocketImpl);
descriptor: (Ljava/net/SocketImpl;)Ljava/lang/Void;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
getstatic sun.security.util.SecurityConstants.SET_SOCKETIMPL_PERMISSION:Ljava/net/NetPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 impl Ljava/net/SocketImpl;
3 6 1 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
impl
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 2
1: StackMap locals:
StackMap stack: uninitialized-this
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
2: StackMap locals: uninitialized-this java.lang.String int
StackMap stack: uninitialized-this java.net.InetSocketAddress
aconst_null
iconst_1
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 host Ljava/lang/String;
0 4 2 port I
Exceptions:
throws java.net.UnknownHostException, java.io.IOException
MethodParameters:
Name Flags
host
port
public void <init>(java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: aconst_null
2: StackMap locals: uninitialized-this java.net.InetAddress int
StackMap stack: uninitialized-this java.net.InetSocketAddress
aconst_null
iconst_1
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 address Ljava/net/InetAddress;
0 4 2 port I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
public void <init>(java.lang.String, int, java.net.InetAddress, int);
descriptor: (Ljava/lang/String;ILjava/net/InetAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 2
1: StackMap locals:
StackMap stack: uninitialized-this
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
2: StackMap locals: uninitialized-this java.lang.String int java.net.InetAddress int
StackMap stack: uninitialized-this java.net.InetSocketAddress
new java.net.InetSocketAddress
dup
aload 3
iload 4
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
iconst_1
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 host Ljava/lang/String;
0 4 2 port I
0 4 3 localAddr Ljava/net/InetAddress;
0 4 4 localPort I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
host
port
localAddr
localPort
public void <init>(java.net.InetAddress, int, java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;ILjava/net/InetAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: aconst_null
2: StackMap locals: uninitialized-this java.net.InetAddress int java.net.InetAddress int
StackMap stack: uninitialized-this java.net.InetSocketAddress
new java.net.InetSocketAddress
dup
aload 3
iload 4
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
iconst_1
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 address Ljava/net/InetAddress;
0 4 2 port I
0 4 3 localAddr Ljava/net/InetAddress;
0 4 4 localPort I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
localAddr
localPort
public void <init>(java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 2
1: StackMap locals:
StackMap stack: uninitialized-this
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
2: StackMap locals: uninitialized-this java.lang.String int int
StackMap stack: uninitialized-this java.net.InetSocketAddress
aconst_null
iload 3
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 host Ljava/lang/String;
0 4 2 port I
0 4 3 stream Z
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
host
port
stream
public void <init>(java.net.InetAddress, int, boolean);
descriptor: (Ljava/net/InetAddress;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
ifnull 1
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: aconst_null
2: StackMap locals: uninitialized-this java.net.InetAddress int int
StackMap stack: uninitialized-this java.net.InetSocketAddress
new java.net.InetSocketAddress
dup
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(I)V
iload 3
invokespecial java.net.Socket.<init>:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 host Ljava/net/InetAddress;
0 4 2 port I
0 4 3 stream Z
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
host
port
stream
private void <init>(java.net.SocketAddress, java.net.SocketAddress, boolean);
descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.net.Socket.created:Z
2: aload 0
iconst_0
putfield java.net.Socket.bound:Z
3: aload 0
iconst_0
putfield java.net.Socket.connected:Z
4: aload 0
iconst_0
putfield java.net.Socket.closed:Z
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.net.Socket.closeLock:Ljava/lang/Object;
6: aload 0
iconst_0
putfield java.net.Socket.shutIn:Z
7: aload 0
iconst_0
putfield java.net.Socket.shutOut:Z
8: aload 0
invokevirtual java.net.Socket.setImpl:()V
9: aload 1
ifnonnull 11
10: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
11: StackMap locals: java.net.Socket java.net.SocketAddress java.net.SocketAddress int
StackMap stack:
aload 0
iload 3
invokevirtual java.net.Socket.createImpl:(Z)V
12: aload 2
ifnull 14
13: aload 0
aload 2
invokevirtual java.net.Socket.bind:(Ljava/net/SocketAddress;)V
14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.net.Socket.connect:(Ljava/net/SocketAddress;)V
15: goto 22
StackMap locals:
StackMap stack: java.lang.Exception
16: astore 4
start local 4 17: aload 0
invokevirtual java.net.Socket.close:()V
18: goto 21
StackMap locals: java.net.Socket java.net.SocketAddress java.net.SocketAddress int java.lang.Exception
StackMap stack: java.io.IOException
19: astore 5
start local 5 20: aload 4
aload 5
invokevirtual java.lang.Exception.addSuppressed:(Ljava/lang/Throwable;)V
end local 5 21: StackMap locals:
StackMap stack:
aload 4
athrow
end local 4 22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/net/Socket;
0 23 1 address Ljava/net/SocketAddress;
0 23 2 localAddr Ljava/net/SocketAddress;
0 23 3 stream Z
17 22 4 e Ljava/lang/Exception;
20 21 5 ce Ljava/io/IOException;
Exception table:
from to target type
11 15 16 Class java.io.IOException
11 15 16 Class java.lang.IllegalArgumentException
11 15 16 Class java.lang.SecurityException
17 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
localAddr
stream
void createImpl(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
ifnonnull 2
1: aload 0
invokevirtual java.net.Socket.setImpl:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
iload 1
invokevirtual java.net.SocketImpl.create:(Z)V
3: aload 0
iconst_1
putfield java.net.Socket.created:Z
4: goto 7
StackMap locals:
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: new java.net.SocketException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/Socket;
0 8 1 stream Z
6 7 2 e Ljava/io/IOException;
Exception table:
from to target type
2 4 5 Class java.io.IOException
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
stream
void setImpl(java.net.SocketImpl);
descriptor: (Ljava/net/SocketImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/Socket;
0 2 1 si Ljava/net/SocketImpl;
MethodParameters:
Name Flags
si
void setImpl();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 0
aload 1
invokeinterface java.net.SocketImplFactory.createSocketImpl:()Ljava/net/SocketImpl;
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
3: goto 6
4: StackMap locals: java.net.SocketImplFactory
StackMap stack:
iconst_0
invokestatic java.net.SocketImpl.createPlatformSocketImpl:(Z)Ljava/net/SocketImpl;
astore 2
start local 2 5: aload 0
new java.net.SocksSocketImpl
dup
aload 2
invokespecial java.net.SocksSocketImpl.<init>:(Ljava/net/SocketImpl;)V
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/net/Socket;
1 7 1 factory Ljava/net/SocketImplFactory;
5 6 2 delegate Ljava/net/SocketImpl;
java.net.SocketImpl getImpl();
descriptor: ()Ljava/net/SocketImpl;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.created:Z
ifne 2
1: aload 0
iconst_1
invokevirtual java.net.Socket.createImpl:(Z)V
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public void connect(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual java.net.Socket.connect:(Ljava/net/SocketAddress;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/Socket;
0 2 1 endpoint Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
public void connect(java.net.SocketAddress, int);
descriptor: (Ljava/net/SocketAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "connect: The address can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "connect: timeout can't be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 6
5: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifeq 8
7: new java.net.SocketException
dup
ldc "already connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.InetSocketAddress
ifne 10
9: new java.lang.IllegalArgumentException
dup
ldc "Unsupported address type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.InetSocketAddress
astore 3
start local 3 11: aload 3
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 4
start local 4 12: aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 5
start local 5 13: aload 0
aload 4
ldc "connect"
invokevirtual java.net.Socket.checkAddress:(Ljava/net/InetAddress;Ljava/lang/String;)V
14: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 15: aload 6
ifnull 19
16: aload 3
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 18
17: aload 6
aload 3
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
iload 5
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
goto 19
18: StackMap locals: java.net.Socket java.net.SocketAddress int java.net.InetSocketAddress java.net.InetAddress int java.lang.SecurityManager
StackMap stack:
aload 6
aload 4
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
iload 5
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
19: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.created:Z
ifne 21
20: aload 0
iconst_1
invokevirtual java.net.Socket.createImpl:(Z)V
21: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 3
iload 2
invokevirtual java.net.SocketImpl.connect:(Ljava/net/SocketAddress;I)V
22: aload 0
iconst_1
putfield java.net.Socket.connected:Z
23: aload 0
iconst_1
putfield java.net.Socket.bound:Z
24: return
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
0 25 0 this Ljava/net/Socket;
0 25 1 endpoint Ljava/net/SocketAddress;
0 25 2 timeout I
11 25 3 epoint Ljava/net/InetSocketAddress;
12 25 4 addr Ljava/net/InetAddress;
13 25 5 port I
15 25 6 security Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
timeout
public void bind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isBound:()Z
ifeq 4
3: new java.net.SocketException
dup
ldc "Already bound"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
ifnull 6
aload 1
instanceof java.net.InetSocketAddress
ifne 6
5: new java.lang.IllegalArgumentException
dup
ldc "Unsupported address type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.InetSocketAddress
astore 2
start local 2 7: aload 2
ifnull 9
aload 2
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 9
8: new java.net.SocketException
dup
ldc "Unresolved address"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.net.InetSocketAddress
StackMap stack:
aload 2
ifnonnull 11
10: new java.net.InetSocketAddress
dup
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(I)V
astore 2
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 3
start local 3 12: aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 4
start local 4 13: aload 0
aload 3
ldc "bind"
invokevirtual java.net.Socket.checkAddress:(Ljava/net/InetAddress;Ljava/lang/String;)V
14: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 15: aload 5
ifnull 17
16: aload 5
iload 4
invokevirtual java.lang.SecurityManager.checkListen:(I)V
17: StackMap locals: java.net.InetAddress int java.lang.SecurityManager
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
aload 3
iload 4
invokevirtual java.net.SocketImpl.bind:(Ljava/net/InetAddress;I)V
18: aload 0
iconst_1
putfield java.net.Socket.bound:Z
19: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/net/Socket;
0 20 1 bindpoint Ljava/net/SocketAddress;
7 20 2 epoint Ljava/net/InetSocketAddress;
12 20 3 addr Ljava/net/InetAddress;
13 20 4 port I
15 20 5 security Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bindpoint
private void checkAddress(java.net.InetAddress, java.lang.String);
descriptor: (Ljava/net/InetAddress;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.Inet4Address
ifne 4
aload 1
instanceof java.net.Inet6Address
ifne 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": invalid address type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/Socket;
0 5 1 addr Ljava/net/InetAddress;
0 5 2 op Ljava/lang/String;
MethodParameters:
Name Flags
addr
op
final void postAccept();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.Socket.connected:Z
1: aload 0
iconst_1
putfield java.net.Socket.created:Z
2: aload 0
iconst_1
putfield java.net.Socket.bound:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
public java.net.InetAddress getInetAddress();
descriptor: ()Ljava/net/InetAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getInetAddress:()Ljava/net/InetAddress;
3: areturn
4: StackMap locals:
StackMap stack: java.net.SocketException
pop
5: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
Exception table:
from to target type
2 3 4 Class java.net.SocketException
public java.net.InetAddress getLocalAddress();
descriptor: ()Ljava/net/InetAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isBound:()Z
ifne 2
1: invokestatic java.net.InetAddress.anyLocalAddress:()Ljava/net/InetAddress;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
bipush 15
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.net.InetAddress
astore 1
4: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 5: aload 2
ifnull 7
6: aload 2
aload 1
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
iconst_m1
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
7: StackMap locals: java.net.InetAddress java.lang.SecurityManager
StackMap stack:
aload 1
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 14
8: invokestatic java.net.InetAddress.anyLocalAddress:()Ljava/net/InetAddress;
astore 1
end local 2 9: goto 14
StackMap locals: java.net.Socket java.net.InetAddress
StackMap stack: java.lang.SecurityException
10: pop
11: invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
astore 1
goto 14
12: StackMap locals:
StackMap stack: java.lang.Exception
pop
13: invokestatic java.net.InetAddress.anyLocalAddress:()Ljava/net/InetAddress;
astore 1
14: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/net/Socket;
3 15 1 in Ljava/net/InetAddress;
5 9 2 sm Ljava/lang/SecurityManager;
Exception table:
from to target type
3 9 10 Class java.lang.SecurityException
3 9 12 Class java.lang.Exception
public int getPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getPort:()I
3: ireturn
4: StackMap locals:
StackMap stack: java.net.SocketException
pop
5: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
Exception table:
from to target type
2 3 4 Class java.net.SocketException
public int getLocalPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isBound:()Z
ifne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getLocalPort:()I
3: ireturn
4: StackMap locals:
StackMap stack: java.net.SocketException
pop
5: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
Exception table:
from to target type
2 3 4 Class java.net.SocketException
public java.net.SocketAddress getRemoteSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.net.InetSocketAddress
dup
aload 0
invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
aload 0
invokevirtual java.net.Socket.getPort:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
public java.net.SocketAddress getLocalSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isBound:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.net.InetSocketAddress
dup
aload 0
invokevirtual java.net.Socket.getLocalAddress:()Ljava/net/InetAddress;
aload 0
invokevirtual java.net.Socket.getLocalPort:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
public java.nio.channels.SocketChannel getChannel();
descriptor: ()Ljava/nio/channels/SocketChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
public java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isInputShutdown:()Z
ifeq 6
5: new java.net.SocketException
dup
ldc "Socket input is shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.in:Ljava/io/InputStream;
astore 1
start local 1 7: aload 1
ifnonnull 11
8: new java.net.Socket$SocketInputStream
dup
aload 0
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getInputStream:()Ljava/io/InputStream;
invokespecial java.net.Socket$SocketInputStream.<init>:(Ljava/net/Socket;Ljava/io/InputStream;)V
astore 1
9: getstatic java.net.Socket.IN:Ljava/lang/invoke/VarHandle;
aload 0
aconst_null
aload 1
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/net/Socket;Ljava/lang/Void;Ljava/io/InputStream;)Z
ifne 11
10: aload 0
getfield java.net.Socket.in:Ljava/io/InputStream;
astore 1
11: StackMap locals: java.io.InputStream
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/Socket;
7 12 1 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
public java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isOutputShutdown:()Z
ifeq 6
5: new java.net.SocketException
dup
ldc "Socket output is shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.out:Ljava/io/OutputStream;
astore 1
start local 1 7: aload 1
ifnonnull 11
8: new java.net.Socket$SocketOutputStream
dup
aload 0
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getOutputStream:()Ljava/io/OutputStream;
invokespecial java.net.Socket$SocketOutputStream.<init>:(Ljava/net/Socket;Ljava/io/OutputStream;)V
astore 1
9: getstatic java.net.Socket.OUT:Ljava/lang/invoke/VarHandle;
aload 0
aconst_null
aload 1
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/net/Socket;Ljava/lang/Void;Ljava/io/OutputStream;)Z
ifne 11
10: aload 0
getfield java.net.Socket.out:Ljava/io/OutputStream;
astore 1
11: StackMap locals: java.io.OutputStream
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/Socket;
7 12 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
public void setTcpNoDelay(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_1
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 on Z
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
on
public boolean getTcpNoDelay();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_1
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public void setSoLinger(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifne 5
3: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 128
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
4: goto 10
5: StackMap locals:
StackMap stack:
iload 2
ifge 7
6: new java.lang.IllegalArgumentException
dup
ldc "invalid value for SO_LINGER"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 2
ldc 65535
if_icmple 9
8: ldc 65535
istore 2
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 128
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/net/Socket;
0 11 1 on Z
0 11 2 linger I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
on
linger
public int getSoLinger();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 128
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
astore 1
start local 1 3: aload 1
instanceof java.lang.Integer
ifeq 5
4: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
5: StackMap locals: java.lang.Object
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
3 6 1 o Ljava/lang/Object;
Exceptions:
throws java.net.SocketException
public void sendUrgentData(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.supportsUrgentData:()Z
ifne 2
1: new java.net.SocketException
dup
ldc "Urgent data not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iload 1
invokevirtual java.net.SocketImpl.sendUrgentData:(I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 data I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
public void setOOBInline(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4099
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 on Z
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
on
public boolean getOOBInline();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4099
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public synchronized void setSoTimeout(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "timeout can't be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4102
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
0 6 1 timeout I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
timeout
public synchronized int getSoTimeout();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4102
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
astore 1
start local 1 3: aload 1
instanceof java.lang.Integer
ifeq 5
4: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
5: StackMap locals: java.lang.Object
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
3 6 1 o Ljava/lang/Object;
Exceptions:
throws java.net.SocketException
public synchronized void setSendBufferSize(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "negative send size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 4
3: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4097
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
0 6 1 size I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
size
public synchronized int getSendBufferSize();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4097
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
astore 2
start local 2 4: aload 2
instanceof java.lang.Integer
ifeq 6
5: aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 1
6: StackMap locals: int java.lang.Object
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/net/Socket;
3 7 1 result I
4 7 2 o Ljava/lang/Object;
Exceptions:
throws java.net.SocketException
public synchronized void setReceiveBufferSize(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "invalid receive size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 4
3: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4098
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
0 6 1 size I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
size
public synchronized int getReceiveBufferSize();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
sipush 4098
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
astore 2
start local 2 4: aload 2
instanceof java.lang.Integer
ifeq 6
5: aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 1
6: StackMap locals: int java.lang.Object
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/net/Socket;
3 7 1 result I
4 7 2 o Ljava/lang/Object;
Exceptions:
throws java.net.SocketException
public void setKeepAlive(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
bipush 8
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 on Z
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
on
public boolean getKeepAlive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
bipush 8
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public void setTrafficClass(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
sipush 255
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "tc is not in range 0 -- 255"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 4
3: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_3
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
5: goto 9
StackMap locals:
StackMap stack: java.net.SocketException
6: astore 2
start local 2 7: aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 9
8: aload 2
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/net/Socket;
0 10 1 tc I
7 9 2 se Ljava/net/SocketException;
Exception table:
from to target type
4 5 6 Class java.net.SocketException
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
tc
public int getTrafficClass();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_3
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public void setReuseAddress(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_4
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.net.SocketImpl.setOption:(ILjava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 on Z
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
on
public boolean getReuseAddress();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
iconst_4
invokevirtual java.net.SocketImpl.getOption:(I)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/Socket;
Exceptions:
throws java.net.SocketException
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.closeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield java.net.Socket.created:Z
ifeq 6
5: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.close:()V
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.net.Socket.closed:Z
7: aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/Socket;
Exception table:
from to target type
1 3 9 any
4 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
public void shutdownInput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isInputShutdown:()Z
ifeq 6
5: new java.net.SocketException
dup
ldc "Socket input is already shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.shutdownInput:()V
7: aload 0
iconst_1
putfield java.net.Socket.shutIn:Z
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/Socket;
Exceptions:
throws java.io.IOException
public void shutdownOutput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.isOutputShutdown:()Z
ifeq 6
5: new java.net.SocketException
dup
ldc "Socket output is already shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.shutdownOutput:()V
7: aload 0
iconst_1
putfield java.net.Socket.shutOut:Z
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/Socket;
Exceptions:
throws java.io.IOException
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.isConnected:()Z
ifeq 7
1: new java.lang.StringBuilder
dup
ldc "Socket[addr="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getInetAddress:()Ljava/net/InetAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc ",port="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc ",localport="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getLocalPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: areturn
6: StackMap locals:
StackMap stack: java.net.SocketException
pop
7: StackMap locals:
StackMap stack:
ldc "Socket[unconnected]"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/Socket;
Exception table:
from to target type
0 5 6 Class java.net.SocketException
public boolean isConnected();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.connected:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
public boolean isBound();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.bound:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.closeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield java.net.Socket.closed:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: java.net.Socket java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/Socket;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public boolean isInputShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.shutIn:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
public boolean isOutputShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.shutOut:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
static java.net.SocketImplFactory socketImplFactory();
descriptor: ()Ljava/net/SocketImplFactory;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized void setSocketImplFactory(java.net.SocketImplFactory);
descriptor: (Ljava/net/SocketImplFactory;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
ifnull 2
1: new java.net.SocketException
dup
ldc "factory already defined"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
invokevirtual java.lang.SecurityManager.checkSetFactory:()V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
putstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 fac Ljava/net/SocketImplFactory;
3 7 1 security Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated(since = "17")
MethodParameters:
Name Flags
fac
public void setPerformancePreferences(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/Socket;
0 1 1 connectionTime I
0 1 2 latency I
0 1 3 bandwidth I
MethodParameters:
Name Flags
connectionTime
latency
bandwidth
public <T> java.net.Socket setOption(java.net.SocketOption<T>, T);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/net/Socket;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 3
2: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
aload 1
aload 2
invokevirtual java.net.SocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)V
4: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/Socket;
0 5 1 name Ljava/net/SocketOption<TT;>;
0 5 2 value TT;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;TT;)Ljava/net/Socket;
MethodParameters:
Name Flags
name
value
public <T> T getOption(java.net.SocketOption<T>);
descriptor: (Ljava/net/SocketOption;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual java.net.Socket.isClosed:()Z
ifeq 3
2: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
aload 1
invokevirtual java.net.SocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/Socket;
0 4 1 name Ljava/net/SocketOption<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;)TT;
MethodParameters:
Name Flags
name
public java.util.Set<java.net.SocketOption<?>> supportedOptions();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.options:Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual java.net.SocketImpl.supportedOptions:()Ljava/util/Set;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putfield java.net.Socket.options:Ljava/util/Set;
end local 2 5: goto 8
StackMap locals:
StackMap stack: java.io.IOException
6: pop
7: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield java.net.Socket.options:Ljava/util/Set;
8: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.options:Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/Socket;
1 9 1 so Ljava/util/Set<Ljava/net/SocketOption<*>;>;
4 5 2 impl Ljava/net/SocketImpl;
Exception table:
from to target type
3 5 6 Class java.io.IOException
Signature: ()Ljava/util/Set<Ljava/net/SocketOption<*>;>;
}
SourceFile: "Socket.java"
NestMembers:
java.net.Socket$SocketInputStream java.net.Socket$SocketOutputStream
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Type = java.net.Proxy$Type of java.net.Proxy
private SocketInputStream = java.net.Socket$SocketInputStream of java.net.Socket
private SocketOutputStream = java.net.Socket$SocketOutputStream of java.net.Socket