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 boolean oldImpl;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static java.net.SocketImplFactory factory;
descriptor: Ljava/net/SocketImplFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
return
LocalVariableTable:
Start End Slot Name Signature
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
iconst_0
putfield java.net.Socket.oldImpl:Z
9: aload 0
invokevirtual java.net.Socket.setImpl:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/net/Socket;
public void <init>(java.net.Proxy);
descriptor: (Ljava/net/Proxy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, 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 0
iconst_0
putfield java.net.Socket.oldImpl:Z
9: aload 1
ifnonnull 11
10: new java.lang.IllegalArgumentException
dup
ldc "Invalid Proxy"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.net.Socket java.net.Proxy
StackMap stack:
aload 1
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 12
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
goto 13
StackMap locals:
StackMap stack:
12: aload 1
invokestatic sun.net.ApplicationProxy.create:(Ljava/net/Proxy;)Lsun/net/ApplicationProxy;
StackMap locals:
StackMap stack: java.net.Proxy
13: astore 2
start local 2 14: aload 2
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpne 30
15: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 16: aload 2
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
astore 4
start local 4 17: aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
ifnull 19
18: aload 0
aload 4
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.net.Proxy java.lang.SecurityManager java.net.InetSocketAddress
StackMap stack:
aload 3
ifnull 27
20: aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 22
21: new java.net.InetSocketAddress
dup
aload 4
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
astore 4
22: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 24
23: aload 3
aload 4
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
goto 27
24: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
25: aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
26: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
27: StackMap locals:
StackMap stack:
aload 0
new java.net.SocksSocketImpl
dup
aload 2
invokespecial java.net.SocksSocketImpl.<init>:(Ljava/net/Proxy;)V
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
28: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 0
invokevirtual java.net.SocketImpl.setSocket:(Ljava/net/Socket;)V
end local 4 end local 3 29: goto 38
30: StackMap locals:
StackMap stack:
aload 2
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 37
31: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
ifnonnull 35
32: aload 0
new java.net.PlainSocketImpl
dup
invokespecial java.net.PlainSocketImpl.<init>:()V
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
33: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 0
invokevirtual java.net.SocketImpl.setSocket:(Ljava/net/Socket;)V
34: goto 38
35: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.Socket.setImpl:()V
36: goto 38
37: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid Proxy"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljava/net/Socket;
0 39 1 proxy Ljava/net/Proxy;
14 39 2 p Ljava/net/Proxy;
16 29 3 security Ljava/lang/SecurityManager;
17 29 4 epoint Ljava/net/InetSocketAddress;
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 0
iconst_0
putfield java.net.Socket.oldImpl:Z
9: aload 1
invokestatic java.net.Socket.checkPermission:(Ljava/net/SocketImpl;)Ljava/lang/Void;
pop
10: aload 0
aload 1
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
11: aload 1
ifnull 14
12: aload 0
invokevirtual java.net.Socket.checkOldImpl:()V
13: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 0
invokevirtual java.net.SocketImpl.setSocket:(Ljava/net/Socket;)V
14: StackMap locals: java.net.Socket java.net.SocketImpl
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/net/Socket;
0 15 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=5, 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
iconst_0
putfield java.net.Socket.oldImpl:Z
9: aload 0
invokevirtual java.net.Socket.setImpl:()V
10: aload 1
ifnonnull 12
11: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
12: 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
13: aload 2
ifnull 15
14: aload 0
aload 2
invokevirtual java.net.Socket.bind:(Ljava/net/SocketAddress;)V
15: StackMap locals:
StackMap stack:
aload 1
ifnull 21
16: aload 0
aload 1
invokevirtual java.net.Socket.connect:(Ljava/net/SocketAddress;)V
17: goto 21
StackMap locals:
StackMap stack: java.io.IOException
18: astore 4
start local 4 19: aload 0
invokevirtual java.net.Socket.close:()V
20: aload 4
athrow
end local 4 21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/net/Socket;
0 22 1 address Ljava/net/SocketAddress;
0 22 2 localAddr Ljava/net/SocketAddress;
0 22 3 stream Z
19 21 4 e Ljava/io/IOException;
Exception table:
from to target type
12 17 18 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
private void checkOldImpl();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
3: new java.net.Socket$1
dup
aload 0
invokespecial java.net.Socket$1.<init>:(Ljava/net/Socket;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield java.net.Socket.oldImpl:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/Socket;
void setImpl();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
ifnull 4
1: aload 0
getstatic java.net.Socket.factory:Ljava/net/SocketImplFactory;
invokeinterface java.net.SocketImplFactory.createSocketImpl:()Ljava/net/SocketImpl;
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
2: aload 0
invokevirtual java.net.Socket.checkOldImpl:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new java.net.SocksSocketImpl
dup
invokespecial java.net.SocksSocketImpl.<init>:()V
putfield java.net.Socket.impl:Ljava/net/SocketImpl;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
ifnull 7
6: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 0
invokevirtual java.net.SocketImpl.setSocket:(Ljava/net/Socket;)V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/Socket;
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
getfield java.net.Socket.oldImpl:Z
ifne 8
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.oldImpl:Z
ifne 23
22: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 3
iload 2
invokevirtual java.net.SocketImpl.connect:(Ljava/net/SocketAddress;I)V
goto 29
23: StackMap locals:
StackMap stack:
iload 2
ifne 28
24: aload 3
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 26
25: aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 4
invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
iload 5
invokevirtual java.net.SocketImpl.connect:(Ljava/lang/String;I)V
goto 29
26: StackMap locals:
StackMap stack:
aload 0
getfield java.net.Socket.impl:Ljava/net/SocketImpl;
aload 4
iload 5
invokevirtual java.net.SocketImpl.connect:(Ljava/net/InetAddress;I)V
27: goto 29
28: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "SocketImpl.connect(addr, timeout)"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.net.Socket.connected:Z
30: aload 0
iconst_1
putfield java.net.Socket.bound:Z
31: 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 32 0 this Ljava/net/Socket;
0 32 1 endpoint Ljava/net/SocketAddress;
0 32 2 timeout I
11 32 3 epoint Ljava/net/InetSocketAddress;
12 32 4 addr Ljava/net/InetAddress;
13 32 5 port I
15 32 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
getfield java.net.Socket.oldImpl:Z
ifne 4
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;
void setCreated();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.Socket.created:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/Socket;
void setBound();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.Socket.bound:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/Socket;
void setConnected();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.Socket.connected:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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.net.NetUtil.doRevealLocalAddress:()Z
ifne 8
5: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 6: aload 2
ifnull 8
7: aload 2
aload 1
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
iconst_m1
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
end local 2 8: StackMap locals: java.net.InetAddress
StackMap stack:
aload 1
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 15
9: invokestatic java.net.InetAddress.anyLocalAddress:()Ljava/net/InetAddress;
astore 1
10: goto 15
StackMap locals:
StackMap stack: java.lang.SecurityException
11: pop
12: invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
astore 1
goto 15
13: StackMap locals:
StackMap stack: java.lang.Exception
pop
14: invokestatic java.net.InetAddress.anyLocalAddress:()Ljava/net/InetAddress;
astore 1
15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/net/Socket;
3 16 1 in Ljava/net/InetAddress;
6 8 2 sm Ljava/lang/SecurityManager;
Exception table:
from to target type
3 10 11 Class java.lang.SecurityException
3 10 13 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=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:
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:
aconst_null
astore 1
start local 1 7: new java.net.Socket$2
dup
aload 0
invokespecial java.net.Socket$2.<init>:(Ljava/net/Socket;)V
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.InputStream
astore 1
9: goto 12
StackMap locals: java.net.Socket java.io.InputStream
StackMap stack: java.security.PrivilegedActionException
10: astore 2
start local 2 11: aload 2
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/net/Socket;
7 13 1 is Ljava/io/InputStream;
11 12 2 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
7 9 10 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException
public java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
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:
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:
aconst_null
astore 1
start local 1 7: new java.net.Socket$3
dup
aload 0
invokespecial java.net.Socket$3.<init>:(Ljava/net/Socket;)V
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.OutputStream
astore 1
9: goto 12
StackMap locals: java.net.Socket java.io.OutputStream
StackMap stack: java.security.PrivilegedActionException
10: astore 2
start local 2 11: aload 2
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/net/Socket;
7 13 1 os Ljava/io/OutputStream;
11 12 2 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
7 9 10 Class java.security.PrivilegedActionException
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=5, 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
new java.lang.Boolean
dup
iload 1
invokespecial java.lang.Boolean.<init>:(Z)V
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
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
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=5, 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
new java.lang.Integer
dup
iload 1
invokespecial java.lang.Integer.<init>:(I)V
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=5, 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
new java.lang.Integer
dup
iload 1
invokespecial java.lang.Integer.<init>:(I)V
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=5, 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
new java.lang.Integer
dup
iload 1
invokespecial java.lang.Integer.<init>:(I)V
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=5, locals=2, 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
new java.lang.Integer
dup
iload 1
invokespecial java.lang.Integer.<init>:(I)V
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 tc I
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
ifne 1
aload 0
getfield java.net.Socket.oldImpl:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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
ifne 1
aload 0
getfield java.net.Socket.oldImpl:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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;
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
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
}
SourceFile: "Socket.java"
NestMembers:
java.net.Socket$1 java.net.Socket$2 java.net.Socket$3
InnerClasses:
public final Type = java.net.Proxy$Type of java.net.Proxy
java.net.Socket$1
java.net.Socket$2
java.net.Socket$3