class java.net.SocketSecrets
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.net.SocketSecrets
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.SocketSecrets this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.net.SocketSecrets this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/SocketSecrets;

  private static <T> void setOption(, java.net.SocketOption<T>, );
    descriptor: (Ljava/lang/Object;Ljava/net/SocketOption;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // java.net.SocketOption name
        start local 2 // java.lang.Object value
         0: .line 39
            aload 0 /* obj */
            instanceof java.net.Socket
            ifeq 3
         1: .line 40
            aload 0 /* obj */
            checkcast java.net.Socket
            invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
            astore 3 /* impl */
        start local 3 // java.net.SocketImpl impl
         2: .line 41
            goto 7
        end local 3 // java.net.SocketImpl impl
      StackMap locals:
      StackMap stack:
         3: aload 0 /* obj */
            instanceof java.net.ServerSocket
            ifeq 6
         4: .line 42
            aload 0 /* obj */
            checkcast java.net.ServerSocket
            invokevirtual java.net.ServerSocket.getImpl:()Ljava/net/SocketImpl;
            astore 3 /* impl */
        start local 3 // java.net.SocketImpl impl
         5: .line 43
            goto 7
        end local 3 // java.net.SocketImpl impl
         6: .line 44
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        start local 3 // java.net.SocketImpl impl
         7: .line 46
      StackMap locals: java.net.SocketImpl
      StackMap stack:
            aload 3 /* impl */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual java.net.SocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)V
         8: .line 47
            return
        end local 3 // java.net.SocketImpl impl
        end local 2 // java.lang.Object value
        end local 1 // java.net.SocketOption name
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0    obj  Ljava/lang/Object;
            0    9     1   name  Ljava/net/SocketOption<TT;>;
            0    9     2  value  TT;
            2    3     3   impl  Ljava/net/SocketImpl;
            5    6     3   impl  Ljava/net/SocketImpl;
            7    9     3   impl  Ljava/net/SocketImpl;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/net/SocketOption<TT;>;TT;)V
    MethodParameters:
       Name  Flags
      obj    
      name   
      value  

  private static <T> T getOption(, java.net.SocketOption<T>);
    descriptor: (Ljava/lang/Object;Ljava/net/SocketOption;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // java.net.SocketOption name
         0: .line 52
            aload 0 /* obj */
            instanceof java.net.Socket
            ifeq 3
         1: .line 53
            aload 0 /* obj */
            checkcast java.net.Socket
            invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
            astore 2 /* impl */
        start local 2 // java.net.SocketImpl impl
         2: .line 54
            goto 7
        end local 2 // java.net.SocketImpl impl
      StackMap locals:
      StackMap stack:
         3: aload 0 /* obj */
            instanceof java.net.ServerSocket
            ifeq 6
         4: .line 55
            aload 0 /* obj */
            checkcast java.net.ServerSocket
            invokevirtual java.net.ServerSocket.getImpl:()Ljava/net/SocketImpl;
            astore 2 /* impl */
        start local 2 // java.net.SocketImpl impl
         5: .line 56
            goto 7
        end local 2 // java.net.SocketImpl impl
         6: .line 57
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        start local 2 // java.net.SocketImpl impl
         7: .line 59
      StackMap locals: java.net.SocketImpl
      StackMap stack:
            aload 2 /* impl */
            aload 1 /* name */
            invokevirtual java.net.SocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
            areturn
        end local 2 // java.net.SocketImpl impl
        end local 1 // java.net.SocketOption name
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   obj  Ljava/lang/Object;
            0    8     1  name  Ljava/net/SocketOption<TT;>;
            2    3     2  impl  Ljava/net/SocketImpl;
            5    6     2  impl  Ljava/net/SocketImpl;
            7    8     2  impl  Ljava/net/SocketImpl;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/net/SocketOption<TT;>;)TT;
    MethodParameters:
      Name  Flags
      obj   
      name  

  private static <T> void setOption(java.net.DatagramSocket, java.net.SocketOption<T>, );
    descriptor: (Ljava/net/DatagramSocket;Ljava/net/SocketOption;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.net.DatagramSocket s
        start local 1 // java.net.SocketOption name
        start local 2 // java.lang.Object value
         0: .line 63
            aload 0 /* s */
            invokevirtual java.net.DatagramSocket.getImpl:()Ljava/net/DatagramSocketImpl;
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual java.net.DatagramSocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)V
         1: .line 64
            return
        end local 2 // java.lang.Object value
        end local 1 // java.net.SocketOption name
        end local 0 // java.net.DatagramSocket s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0      s  Ljava/net/DatagramSocket;
            0    2     1   name  Ljava/net/SocketOption<TT;>;
            0    2     2  value  TT;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/net/DatagramSocket;Ljava/net/SocketOption<TT;>;TT;)V
    MethodParameters:
       Name  Flags
      s      
      name   
      value  

  private static <T> T getOption(java.net.DatagramSocket, java.net.SocketOption<T>);
    descriptor: (Ljava/net/DatagramSocket;Ljava/net/SocketOption;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.DatagramSocket s
        start local 1 // java.net.SocketOption name
         0: .line 67
            aload 0 /* s */
            invokevirtual java.net.DatagramSocket.getImpl:()Ljava/net/DatagramSocketImpl;
            aload 1 /* name */
            invokevirtual java.net.DatagramSocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
            areturn
        end local 1 // java.net.SocketOption name
        end local 0 // java.net.DatagramSocket s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/net/DatagramSocket;
            0    1     1  name  Ljava/net/SocketOption<TT;>;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/net/DatagramSocket;Ljava/net/SocketOption<TT;>;)TT;
    MethodParameters:
      Name  Flags
      s     
      name  
}
SourceFile: "SocketSecrets.java"