public class org.jruby.ext.socket.RubyUNIXSocket extends org.jruby.ext.socket.RubyBasicSocket
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.socket.RubyUNIXSocket
  super_class: org.jruby.ext.socket.RubyBasicSocket
{
  private static org.jruby.runtime.ObjectAllocator UNIXSOCKET_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected static final int F_GETFL;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final int F_SETFL;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final int O_NONBLOCK;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$SocketOption;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$SocketLevel;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 73
            new org.jruby.ext.socket.RubyUNIXSocket$1
            dup
            invokespecial org.jruby.ext.socket.RubyUNIXSocket$1.<init>:()V
            putstatic org.jruby.ext.socket.RubyUNIXSocket.UNIXSOCKET_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         1: .line 396
            getstatic jnr.constants.platform.Fcntl.F_GETFL:Ljnr/constants/platform/Fcntl;
            invokevirtual jnr.constants.platform.Fcntl.intValue:()I
            putstatic org.jruby.ext.socket.RubyUNIXSocket.F_GETFL:I
         2: .line 397
            getstatic jnr.constants.platform.Fcntl.F_SETFL:Ljnr/constants/platform/Fcntl;
            invokevirtual jnr.constants.platform.Fcntl.intValue:()I
            putstatic org.jruby.ext.socket.RubyUNIXSocket.F_SETFL:I
         3: .line 399
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.ext.socket.RubyUNIXSocket.O_NONBLOCK:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void createUNIXSocket(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 80
            aload 0 /* runtime */
            ldc "UNIXSocket"
            aload 0 /* runtime */
            ldc "BasicSocket"
            invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            getstatic org.jruby.ext.socket.RubyUNIXSocket.UNIXSOCKET_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* rb_cUNIXSocket */
        start local 1 // org.jruby.RubyClass rb_cUNIXSocket
         1: .line 81
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            ldc "UNIXsocket"
            aload 1 /* rb_cUNIXSocket */
            invokevirtual org.jruby.RubyClass.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 83
            aload 1 /* rb_cUNIXSocket */
            ldc Lorg/jruby/ext/socket/RubyUNIXSocket;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         3: .line 84
            return
        end local 1 // org.jruby.RubyClass rb_cUNIXSocket
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0         runtime  Lorg/jruby/Ruby;
            1    4     1  rb_cUNIXSocket  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
         0: .line 87
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.ext.socket.RubyBasicSocket.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 88
            return
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2     type  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  public static org.jruby.runtime.builtin.IRubyObject for_fd(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject _fileno
         0: .line 92
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 93
            aload 2 /* _fileno */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 4 /* fileno */
        start local 4 // int fileno
         2: .line 95
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            astore 5 /* klass */
        start local 5 // org.jruby.RubyClass klass
         3: .line 96
            aload 0 /* context */
            aload 5 /* klass */
            ldc "allocate"
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.socket.RubyUNIXSocket
            astore 6 /* unixSocket */
        start local 6 // org.jruby.ext.socket.RubyUNIXSocket unixSocket
         4: .line 97
            iload 4 /* fileno */
            invokestatic jnr.unixsocket.UnixSocketChannel.fromFD:(I)Ljnr/unixsocket/UnixSocketChannel;
            astore 7 /* channel */
        start local 7 // jnr.unixsocket.UnixSocketChannel channel
         5: .line 98
            aload 6 /* unixSocket */
            aload 3 /* runtime */
            aload 7 /* channel */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)V
         6: .line 99
            aload 6 /* unixSocket */
            areturn
        end local 7 // jnr.unixsocket.UnixSocketChannel channel
        end local 6 // org.jruby.ext.socket.RubyUNIXSocket unixSocket
        end local 5 // org.jruby.RubyClass klass
        end local 4 // int fileno
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject _fileno
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0     context  Lorg/jruby/runtime/ThreadContext;
            0    7     1        recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     2     _fileno  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3     runtime  Lorg/jruby/Ruby;
            2    7     4      fileno  I
            3    7     5       klass  Lorg/jruby/RubyClass;
            4    7     6  unixSocket  Lorg/jruby/ext/socket/RubyUNIXSocket;
            5    7     7     channel  Ljnr/unixsocket/UnixSocketChannel;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      _fileno  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 104
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* path */
            iconst_0
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_unixsock:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
         1: .line 106
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      path     

  public org.jruby.runtime.builtin.IRubyObject path(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 111
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject addr(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 116
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 118
            aload 2 /* runtime */
            aload 2 /* runtime */
            ldc "AF_UNIX"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            1    2     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject peeraddr(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 123
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 124
            aload 0 /* this */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.getUnixRemoteSocket:()Ljnr/unixsocket/UnixSocketAddress;
            invokevirtual jnr.unixsocket.UnixSocketAddress.path:()Ljava/lang/String;
            astore 3 /* _path */
        start local 3 // java.lang.String _path
         2: .line 125
            aload 3 /* _path */
            ifnonnull 3
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            goto 4
      StackMap locals: org.jruby.Ruby java.lang.String
      StackMap stack:
         3: aload 2 /* runtime */
            aload 3 /* _path */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         4: astore 4 /* path */
        start local 4 // org.jruby.RubyString path
         5: .line 126
            aload 2 /* runtime */
            aload 2 /* runtime */
            ldc "AF_UNIX"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            aload 4 /* path */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.RubyString path
        end local 3 // java.lang.String _path
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    6     2  runtime  Lorg/jruby/Ruby;
            2    6     3    _path  Ljava/lang/String;
            5    6     4     path  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject recvfrom(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 131
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 133
            aload 2 /* args */
            iconst_0
            aaload
            astore 4 /* _length */
        start local 4 // org.jruby.runtime.builtin.IRubyObject _length
         2: .line 136
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 5
         3: .line 137
            aload 2 /* args */
            iconst_1
            aaload
            astore 5 /* _flags */
        start local 5 // org.jruby.runtime.builtin.IRubyObject _flags
         4: .line 138
            goto 6
        end local 5 // org.jruby.runtime.builtin.IRubyObject _flags
         5: .line 139
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* _flags */
        start local 5 // org.jruby.runtime.builtin.IRubyObject _flags
         6: .line 145
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            astore 4 /* _length */
         7: .line 147
            aload 5 /* _flags */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
         8: .line 149
            goto 10
         9: .line 150
      StackMap locals:
      StackMap stack:
            aload 5 /* _flags */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            pop
        10: .line 153
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
        11: .line 154
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* _length */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.recv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
        12: .line 155
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.peeraddr:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
        13: .line 153
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject _flags
        end local 4 // org.jruby.runtime.builtin.IRubyObject _length
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3  runtime  Lorg/jruby/Ruby;
            2   14     4  _length  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     5   _flags  Lorg/jruby/runtime/builtin/IRubyObject;
            6   14     5   _flags  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"recvfrom"}, required = 1, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject send_io(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 160
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 161
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 4 /* posix */
        start local 4 // jnr.posix.POSIX posix
         2: .line 162
            aload 0 /* this */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 5 /* fptr */
        start local 5 // org.jruby.util.io.OpenFile fptr
         3: .line 165
            aload 2 /* arg */
            aload 1 /* context */
            ldc "kind_of?"
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 6
         4: .line 166
            aload 2 /* arg */
            checkcast org.jruby.RubyIO
            invokevirtual org.jruby.RubyIO.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getFileno:()I
            istore 6 /* fd */
        start local 6 // int fd
         5: .line 167
            goto 10
        end local 6 // int fd
      StackMap locals: org.jruby.Ruby jnr.posix.POSIX org.jruby.util.io.OpenFile
      StackMap stack:
         6: aload 2 /* arg */
            aload 1 /* context */
            ldc "kind_of?"
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFixnum:()Lorg/jruby/RubyClass;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 9
         7: .line 168
            aload 2 /* arg */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getIntValue:()I
            istore 6 /* fd */
        start local 6 // int fd
         8: .line 169
            goto 10
        end local 6 // int fd
         9: .line 170
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            ldc "neither IO nor file descriptor"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 6 // int fd
        10: .line 173
      StackMap locals: int
      StackMap stack:
            iload 6 /* fd */
            invokestatic org.jruby.util.io.FilenoUtil.isFake:(I)Z
            ifeq 12
        11: .line 174
            aload 3 /* runtime */
            ldc "file descriptor is not native"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        12: .line 177
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 8
            astore 7 /* dataBytes */
        start local 7 // byte[] dataBytes
        13: .line 178
            aload 7 /* dataBytes */
            iconst_0
            iconst_0
            bastore
        14: .line 180
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.allocateMsgHdr:()Ljnr/posix/MsgHdr;
            astore 8 /* outMessage */
        start local 8 // jnr.posix.MsgHdr outMessage
        15: .line 182
            iconst_1
            anewarray java.nio.ByteBuffer
            astore 9 /* outIov */
        start local 9 // java.nio.ByteBuffer[] outIov
        16: .line 183
            aload 9 /* outIov */
            iconst_0
            aload 7 /* dataBytes */
            arraylength
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            aastore
        17: .line 184
            aload 9 /* outIov */
            iconst_0
            aaload
            aload 7 /* dataBytes */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        18: .line 185
            aload 9 /* outIov */
            iconst_0
            aaload
            invokestatic com.headius.backport9.buffer.Buffers.flipBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
        19: .line 187
            aload 8 /* outMessage */
            aload 9 /* outIov */
            invokeinterface jnr.posix.MsgHdr.setIov:([Ljava/nio/ByteBuffer;)V
        20: .line 189
            aload 8 /* outMessage */
            iconst_4
            invokeinterface jnr.posix.MsgHdr.allocateControl:(I)Ljnr/posix/CmsgHdr;
            astore 10 /* outControl */
        start local 10 // jnr.posix.CmsgHdr outControl
        21: .line 190
            aload 10 /* outControl */
            getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.intValue:()I
            invokeinterface jnr.posix.CmsgHdr.setLevel:(I)V
        22: .line 191
            aload 10 /* outControl */
            iconst_1
            invokeinterface jnr.posix.CmsgHdr.setType:(I)V
        23: .line 193
            iconst_4
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 11 /* fdBuf */
        start local 11 // java.nio.ByteBuffer fdBuf
        24: .line 194
            aload 11 /* fdBuf */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
        25: .line 195
            aload 11 /* fdBuf */
            iconst_0
            iload 6 /* fd */
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        26: .line 196
            aload 10 /* outControl */
            aload 11 /* fdBuf */
            invokeinterface jnr.posix.CmsgHdr.setData:(Ljava/nio/ByteBuffer;)V
        27: .line 198
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.lock:()Z
            istore 12 /* locked */
        start local 12 // boolean locked
        28: .line 200
            goto 31
        29: .line 201
      StackMap locals: org.jruby.ext.socket.RubyUNIXSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.posix.POSIX org.jruby.util.io.OpenFile int byte[] jnr.posix.MsgHdr java.nio.ByteBuffer[] jnr.posix.CmsgHdr java.nio.ByteBuffer int
      StackMap stack:
            aload 5 /* fptr */
            aload 1 /* context */
            invokevirtual org.jruby.util.io.OpenFile.waitWritable:(Lorg/jruby/runtime/ThreadContext;)Z
            ifne 31
        30: .line 202
            aload 3 /* runtime */
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.errno:()I
            ldc "sendmsg(2)"
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        31: .line 200
      StackMap locals:
      StackMap stack:
            aload 4 /* posix */
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getFileno:()I
            aload 8 /* outMessage */
            iconst_0
            invokeinterface jnr.posix.POSIX.sendmsg:(ILjnr/posix/MsgHdr;I)I
            iconst_m1
            if_icmpeq 29
        32: .line 205
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 13
        34: .line 206
            iload 12 /* locked */
            ifeq 35
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.unlock:()V
        35: .line 207
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        36: .line 206
      StackMap locals:
      StackMap stack:
            iload 12 /* locked */
            ifeq 37
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.unlock:()V
        37: .line 209
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 12 // boolean locked
        end local 11 // java.nio.ByteBuffer fdBuf
        end local 10 // jnr.posix.CmsgHdr outControl
        end local 9 // java.nio.ByteBuffer[] outIov
        end local 8 // jnr.posix.MsgHdr outMessage
        end local 7 // byte[] dataBytes
        end local 6 // int fd
        end local 5 // org.jruby.util.io.OpenFile fptr
        end local 4 // jnr.posix.POSIX posix
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0   38     1     context  Lorg/jruby/runtime/ThreadContext;
            0   38     2         arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   38     3     runtime  Lorg/jruby/Ruby;
            2   38     4       posix  Ljnr/posix/POSIX;
            3   38     5        fptr  Lorg/jruby/util/io/OpenFile;
            5    6     6          fd  I
            8    9     6          fd  I
           10   38     6          fd  I
           13   38     7   dataBytes  [B
           15   38     8  outMessage  Ljnr/posix/MsgHdr;
           16   38     9      outIov  [Ljava/nio/ByteBuffer;
           21   38    10  outControl  Ljnr/posix/CmsgHdr;
           24   38    11       fdBuf  Ljava/nio/ByteBuffer;
           28   38    12      locked  Z
      Exception table:
        from    to  target  type
          28    33      33  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject recv_io(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 214
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 215
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 4 /* posix */
        start local 4 // jnr.posix.POSIX posix
         2: .line 216
            aload 0 /* this */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 5 /* fptr */
        start local 5 // org.jruby.util.io.OpenFile fptr
         3: .line 218
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            astore 6 /* klass */
        start local 6 // org.jruby.runtime.builtin.IRubyObject klass
         4: .line 219
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* mode */
        start local 7 // org.jruby.runtime.builtin.IRubyObject mode
         5: .line 220
            aload 2 /* args */
            arraylength
            ifle 7
         6: .line 221
            aload 2 /* args */
            iconst_0
            aaload
            astore 6 /* klass */
         7: .line 223
      StackMap locals: org.jruby.ext.socket.RubyUNIXSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby jnr.posix.POSIX org.jruby.util.io.OpenFile org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmple 9
         8: .line 224
            aload 2 /* args */
            iconst_1
            aaload
            astore 7 /* mode */
         9: .line 227
      StackMap locals:
      StackMap stack:
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.allocateMsgHdr:()Ljnr/posix/MsgHdr;
            astore 8 /* inMessage */
        start local 8 // jnr.posix.MsgHdr inMessage
        10: .line 228
            iconst_1
            anewarray java.nio.ByteBuffer
            astore 9 /* inIov */
        start local 9 // java.nio.ByteBuffer[] inIov
        11: .line 229
            aload 9 /* inIov */
            iconst_0
            iconst_1
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            aastore
        12: .line 230
            aload 8 /* inMessage */
            aload 9 /* inIov */
            invokeinterface jnr.posix.MsgHdr.setIov:([Ljava/nio/ByteBuffer;)V
        13: .line 232
            aload 8 /* inMessage */
            iconst_4
            invokeinterface jnr.posix.MsgHdr.allocateControl:(I)Ljnr/posix/CmsgHdr;
            astore 10 /* inControl */
        start local 10 // jnr.posix.CmsgHdr inControl
        14: .line 233
            aload 10 /* inControl */
            getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.intValue:()I
            invokeinterface jnr.posix.CmsgHdr.setLevel:(I)V
        15: .line 234
            aload 10 /* inControl */
            iconst_1
            invokeinterface jnr.posix.CmsgHdr.setType:(I)V
        16: .line 236
            iconst_4
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 11 /* fdBuf */
        start local 11 // java.nio.ByteBuffer fdBuf
        17: .line 237
            aload 11 /* fdBuf */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
        18: .line 238
            aload 11 /* fdBuf */
            iconst_0
            iconst_m1
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        19: .line 239
            aload 10 /* inControl */
            aload 11 /* fdBuf */
            invokeinterface jnr.posix.CmsgHdr.setData:(Ljava/nio/ByteBuffer;)V
        20: .line 241
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.lock:()Z
            istore 12 /* locked */
        start local 12 // boolean locked
        21: .line 243
            goto 24
        22: .line 244
      StackMap locals: org.jruby.ext.socket.RubyUNIXSocket org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby jnr.posix.POSIX org.jruby.util.io.OpenFile org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.MsgHdr java.nio.ByteBuffer[] jnr.posix.CmsgHdr java.nio.ByteBuffer int
      StackMap stack:
            aload 5 /* fptr */
            aload 1 /* context */
            invokevirtual org.jruby.util.io.OpenFile.waitReadable:(Lorg/jruby/runtime/ThreadContext;)Z
            ifne 24
        23: .line 245
            aload 3 /* runtime */
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.errno:()I
            ldc "recvmsg(2)"
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 243
      StackMap locals:
      StackMap stack:
            aload 4 /* posix */
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getFileno:()I
            aload 8 /* inMessage */
            iconst_0
            invokeinterface jnr.posix.POSIX.recvmsg:(ILjnr/posix/MsgHdr;I)I
            iconst_m1
            if_icmpeq 22
        25: .line 248
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 13
        27: .line 249
            iload 12 /* locked */
            ifeq 28
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.unlock:()V
        28: .line 250
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        29: .line 249
      StackMap locals:
      StackMap stack:
            iload 12 /* locked */
            ifeq 30
            aload 5 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.unlock:()V
        30: .line 253
      StackMap locals:
      StackMap stack:
            aload 8 /* inMessage */
            invokeinterface jnr.posix.MsgHdr.getControls:()[Ljnr/posix/CmsgHdr;
            iconst_0
            aaload
            invokeinterface jnr.posix.CmsgHdr.getData:()Ljava/nio/ByteBuffer;
            astore 13 /* inFdBuf */
        start local 13 // java.nio.ByteBuffer inFdBuf
        31: .line 254
            aload 13 /* inFdBuf */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
        32: .line 256
            aload 3 /* runtime */
            aload 13 /* inFdBuf */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 14 /* fd */
        start local 14 // org.jruby.runtime.builtin.IRubyObject fd
        33: .line 258
            aload 6 /* klass */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 35
        34: .line 259
            aload 14 /* fd */
            areturn
        35: .line 261
      StackMap locals: java.nio.ByteBuffer org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* mode */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 37
        36: .line 262
            aload 1 /* context */
            aload 6 /* klass */
            ldc "for_fd"
            aload 14 /* fd */
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        37: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 6 /* klass */
            ldc "for_fd"
            aload 14 /* fd */
            aload 7 /* mode */
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 14 // org.jruby.runtime.builtin.IRubyObject fd
        end local 13 // java.nio.ByteBuffer inFdBuf
        end local 12 // boolean locked
        end local 11 // java.nio.ByteBuffer fdBuf
        end local 10 // jnr.posix.CmsgHdr inControl
        end local 9 // java.nio.ByteBuffer[] inIov
        end local 8 // jnr.posix.MsgHdr inMessage
        end local 7 // org.jruby.runtime.builtin.IRubyObject mode
        end local 6 // org.jruby.runtime.builtin.IRubyObject klass
        end local 5 // org.jruby.util.io.OpenFile fptr
        end local 4 // jnr.posix.POSIX posix
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0       this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0   38     1    context  Lorg/jruby/runtime/ThreadContext;
            0   38     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   38     3    runtime  Lorg/jruby/Ruby;
            2   38     4      posix  Ljnr/posix/POSIX;
            3   38     5       fptr  Lorg/jruby/util/io/OpenFile;
            4   38     6      klass  Lorg/jruby/runtime/builtin/IRubyObject;
            5   38     7       mode  Lorg/jruby/runtime/builtin/IRubyObject;
           10   38     8  inMessage  Ljnr/posix/MsgHdr;
           11   38     9      inIov  [Ljava/nio/ByteBuffer;
           14   38    10  inControl  Ljnr/posix/CmsgHdr;
           17   38    11      fdBuf  Ljava/nio/ByteBuffer;
           21   38    12     locked  Z
           31   38    13    inFdBuf  Ljava/nio/ByteBuffer;
           33   38    14         fd  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
          21    26      26  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 2)
    MethodParameters:
         Name  Flags
      context  
      args     

  public static org.jruby.runtime.builtin.IRubyObject socketpair(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 271
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 278
            invokestatic jnr.unixsocket.UnixSocketChannel.pair:()[Ljnr/unixsocket/UnixSocketChannel;
            astore 4 /* sp */
        start local 4 // jnr.unixsocket.UnixSocketChannel[] sp
         2: .line 280
            aload 3 /* runtime */
            ldc "UNIXSocket"
            invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 5 /* UNIXSocket */
        start local 5 // org.jruby.RubyClass UNIXSocket
         3: .line 281
            aload 0 /* context */
            aload 5 /* UNIXSocket */
            ldc "allocate"
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.socket.RubyUNIXSocket
            astore 6 /* sock */
        start local 6 // org.jruby.ext.socket.RubyUNIXSocket sock
         4: .line 282
            aload 6 /* sock */
            aload 3 /* runtime */
            aload 4 /* sp */
            iconst_0
            aaload
            ldc ""
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;Ljava/lang/String;)V
         5: .line 284
            aload 0 /* context */
            aload 5 /* UNIXSocket */
            ldc "allocate"
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.socket.RubyUNIXSocket
            astore 7 /* sock2 */
        start local 7 // org.jruby.ext.socket.RubyUNIXSocket sock2
         6: .line 285
            aload 7 /* sock2 */
            aload 3 /* runtime */
            aload 4 /* sp */
            iconst_1
            aaload
            ldc ""
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;Ljava/lang/String;)V
         7: .line 287
            aload 3 /* runtime */
            aload 6 /* sock */
            aload 7 /* sock2 */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
         8: areturn
        end local 7 // org.jruby.ext.socket.RubyUNIXSocket sock2
        end local 6 // org.jruby.ext.socket.RubyUNIXSocket sock
        end local 5 // org.jruby.RubyClass UNIXSocket
        end local 4 // jnr.unixsocket.UnixSocketChannel[] sp
         9: .line 289
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby
      StackMap stack: java.io.IOException
            astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
        10: .line 290
            aload 3 /* runtime */
            aload 5 /* ioe */
            invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // java.io.IOException ioe
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0     context  Lorg/jruby/runtime/ThreadContext;
            0   11     1        recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3     runtime  Lorg/jruby/Ruby;
            2    9     4          sp  [Ljnr/unixsocket/UnixSocketChannel;
            3    9     5  UNIXSocket  Lorg/jruby/RubyClass;
            4    9     6        sock  Lorg/jruby/ext/socket/RubyUNIXSocket;
            6    9     7       sock2  Lorg/jruby/ext/socket/RubyUNIXSocket;
           10   11     5         ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"socketpair", "pair"}, optional = 2, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public org.jruby.runtime.builtin.IRubyObject setsockopt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject _level
        start local 3 // org.jruby.runtime.builtin.IRubyObject _opt
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         0: .line 296
            aload 2 /* _level */
            invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
            astore 5 /* level */
        start local 5 // jnr.constants.platform.SocketLevel level
         1: .line 297
            aload 3 /* _opt */
            invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
            astore 6 /* opt */
        start local 6 // jnr.constants.platform.SocketOption opt
         2: .line 299
            invokestatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:()[I
            aload 5 /* level */
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iaload
            tableswitch { // 1 - 1
                    1: 3
              default: 6
          }
         3: .line 301
      StackMap locals: jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption
      StackMap stack:
            invokestatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketOption:()[I
            aload 6 /* opt */
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iaload
            tableswitch { // 4 - 4
                    4: 4
              default: 5
          }
         4: .line 305
      StackMap locals:
      StackMap stack:
            goto 7
         5: .line 307
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 311
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newErrnoENOPROTOOPTError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 6 // jnr.constants.platform.SocketOption opt
        end local 5 // jnr.constants.platform.SocketLevel level
        end local 4 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // org.jruby.runtime.builtin.IRubyObject _opt
        end local 2 // org.jruby.runtime.builtin.IRubyObject _level
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2   _level  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3     _opt  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     4      val  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     5    level  Ljnr/constants/platform/SocketLevel;
            2    8     6      opt  Ljnr/constants/platform/SocketOption;
    MethodParameters:
         Name  Flags
      context  
      _level   
      _opt     
      val      

  protected static void rb_sys_fail(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 318
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tLastError cannot be resolved\n\tjnr.ffi.Runtime cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
         Name  Flags
      runtime  
      message  

  protected void init_unixsock(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject _path
        start local 3 // boolean server
         0: .line 331
            aload 1 /* runtime */
            aload 2 /* _path */
            invokestatic org.jruby.ext.socket.RubyUNIXSocket.unixsockPathValue:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* strPath */
        start local 4 // org.jruby.RubyString strPath
         1: .line 332
            aload 4 /* strPath */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 5 /* path */
        start local 5 // org.jruby.util.ByteList path
         2: .line 333
            aload 1 /* runtime */
            aload 5 /* path */
            invokestatic org.jruby.runtime.Helpers.decodeByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Ljava/lang/String;
            astore 6 /* fpath */
        start local 6 // java.lang.String fpath
         3: .line 335
            bipush 103
            istore 7 /* maxSize */
        start local 7 // int maxSize
         4: .line 336
            aload 6 /* fpath */
            invokevirtual java.lang.String.length:()I
            bipush 103
            if_icmple 6
         5: .line 337
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "too long unix socket path (max: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* maxSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 341
      StackMap locals: org.jruby.ext.socket.RubyUNIXSocket org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.RubyString org.jruby.util.ByteList java.lang.String int
      StackMap stack:
            iload 3 /* server */
            ifeq 12
         7: .line 342
            invokestatic jnr.unixsocket.UnixServerSocketChannel.open:()Ljnr/unixsocket/UnixServerSocketChannel;
            astore 8 /* channel */
        start local 8 // jnr.unixsocket.UnixServerSocketChannel channel
         8: .line 343
            aload 8 /* channel */
            invokevirtual jnr.unixsocket.UnixServerSocketChannel.socket:()Ljnr/unixsocket/UnixServerSocket;
            astore 9 /* socket */
        start local 9 // jnr.unixsocket.UnixServerSocket socket
         9: .line 347
            aload 9 /* socket */
            new jnr.unixsocket.UnixSocketAddress
            dup
            new java.io.File
            dup
            aload 6 /* fpath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokespecial jnr.unixsocket.UnixSocketAddress.<init>:(Ljava/io/File;)V
            invokevirtual jnr.unixsocket.UnixServerSocket.bind:(Ljava/net/SocketAddress;)V
        10: .line 349
            aload 0 /* this */
            aload 1 /* runtime */
            aload 8 /* channel */
            aload 6 /* fpath */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;Ljava/lang/String;)V
        end local 9 // jnr.unixsocket.UnixServerSocket socket
        end local 8 // jnr.unixsocket.UnixServerSocketChannel channel
        11: .line 351
            goto 21
        12: .line 352
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 6 /* fpath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* fpathFile */
        start local 8 // java.io.File fpathFile
        13: .line 354
            aload 8 /* fpathFile */
            invokevirtual java.io.File.exists:()Z
            ifne 15
        14: .line 355
            aload 1 /* runtime */
            ldc "unix socket"
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 358
      StackMap locals: java.io.File
      StackMap stack:
            invokestatic jnr.unixsocket.UnixSocketChannel.open:()Ljnr/unixsocket/UnixSocketChannel;
            astore 9 /* channel */
        start local 9 // jnr.unixsocket.UnixSocketChannel channel
        16: .line 360
            aload 9 /* channel */
            new jnr.unixsocket.UnixSocketAddress
            dup
            aload 8 /* fpathFile */
            invokespecial jnr.unixsocket.UnixSocketAddress.<init>:(Ljava/io/File;)V
            invokevirtual jnr.unixsocket.UnixSocketChannel.connect:(Ljnr/unixsocket/UnixSocketAddress;)Z
            pop
        17: .line 362
            aload 0 /* this */
            aload 1 /* runtime */
            aload 9 /* channel */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)V
        end local 9 // jnr.unixsocket.UnixSocketChannel channel
        end local 8 // java.io.File fpathFile
        18: .line 366
            goto 21
      StackMap locals: org.jruby.ext.socket.RubyUNIXSocket org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.RubyString org.jruby.util.ByteList java.lang.String int
      StackMap stack: java.io.IOException
        19: astore 8 /* ioe */
        start local 8 // java.io.IOException ioe
        20: .line 367
            aload 1 /* runtime */
            aload 8 /* ioe */
            invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 8 // java.io.IOException ioe
        21: .line 369
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int maxSize
        end local 6 // java.lang.String fpath
        end local 5 // org.jruby.util.ByteList path
        end local 4 // org.jruby.RubyString strPath
        end local 3 // boolean server
        end local 2 // org.jruby.runtime.builtin.IRubyObject _path
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0   22     1    runtime  Lorg/jruby/Ruby;
            0   22     2      _path  Lorg/jruby/runtime/builtin/IRubyObject;
            0   22     3     server  Z
            1   22     4    strPath  Lorg/jruby/RubyString;
            2   22     5       path  Lorg/jruby/util/ByteList;
            3   22     6      fpath  Ljava/lang/String;
            4   22     7    maxSize  I
            8   11     8    channel  Ljnr/unixsocket/UnixServerSocketChannel;
            9   11     9     socket  Ljnr/unixsocket/UnixServerSocket;
           13   18     8  fpathFile  Ljava/io/File;
           16   18     9    channel  Ljnr/unixsocket/UnixSocketChannel;
           20   21     8        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6    18      19  Class java.io.IOException
    MethodParameters:
         Name  Flags
      runtime  
      _path    
      server   

  private static org.jruby.RubyString unixsockPathValue(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 373
            aload 0 /* runtime */
            aload 1 /* path */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject path
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     path  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      path     

  protected void init_sock(org.jruby.Ruby, java.nio.channels.Channel, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/channels/Channel;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.channels.Channel channel
        start local 3 // java.lang.String path
         0: .line 378
            aload 0 /* this */
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
            pop
         1: .line 380
            aload 1 /* runtime */
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            invokestatic org.jruby.ext.socket.RubyUNIXSocket.newModeFlags:(Lorg/jruby/Ruby;I)Lorg/jruby/util/io/ModeFlags;
            astore 4 /* modes */
        start local 4 // org.jruby.util.io.ModeFlags modes
         2: .line 382
            aload 0 /* this */
            getfield org.jruby.ext.socket.RubyUNIXSocket.openFile:Lorg/jruby/util/io/OpenFile;
            aload 1 /* runtime */
            aload 2 /* channel */
            invokestatic org.jruby.ext.socket.RubyUNIXSocket.newChannelFD:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ChannelFD;
            invokevirtual org.jruby.util.io.OpenFile.setFD:(Lorg/jruby/util/io/ChannelFD;)V
         3: .line 383
            aload 0 /* this */
            getfield org.jruby.ext.socket.RubyUNIXSocket.openFile:Lorg/jruby/util/io/OpenFile;
            aload 4 /* modes */
            invokevirtual org.jruby.util.io.ModeFlags.getOpenFileFlags:()I
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
         4: .line 384
            aload 0 /* this */
            getfield org.jruby.ext.socket.RubyUNIXSocket.openFile:Lorg/jruby/util/io/OpenFile;
            iconst_1
            invokevirtual org.jruby.util.io.OpenFile.setSync:(Z)V
         5: .line 385
            aload 0 /* this */
            getfield org.jruby.ext.socket.RubyUNIXSocket.openFile:Lorg/jruby/util/io/OpenFile;
            aload 3 /* path */
            invokevirtual org.jruby.util.io.OpenFile.setPath:(Ljava/lang/String;)V
         6: .line 386
            return
        end local 4 // org.jruby.util.io.ModeFlags modes
        end local 3 // java.lang.String path
        end local 2 // java.nio.channels.Channel channel
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    7     1  runtime  Lorg/jruby/Ruby;
            0    7     2  channel  Ljava/nio/channels/Channel;
            0    7     3     path  Ljava/lang/String;
            2    7     4    modes  Lorg/jruby/util/io/ModeFlags;
    MethodParameters:
         Name  Flags
      runtime  
      channel  
      path     

  protected void init_sock(org.jruby.Ruby, java.nio.channels.Channel);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/channels/Channel;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.ext.socket.RubyUNIXSocket this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.channels.Channel channel
         0: .line 389
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* channel */
            aconst_null
            invokevirtual org.jruby.ext.socket.RubyUNIXSocket.init_sock:(Lorg/jruby/Ruby;Ljava/nio/channels/Channel;Ljava/lang/String;)V
         1: .line 390
            return
        end local 2 // java.nio.channels.Channel channel
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.RubyUNIXSocket this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/RubyUNIXSocket;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2  channel  Ljava/nio/channels/Channel;
    MethodParameters:
         Name  Flags
      runtime  
      channel  

  static int[] $SWITCH_TABLE$jnr$constants$platform$SocketOption();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketOption:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jnr.constants.platform.SocketOption.values:()[Ljnr/constants/platform/SocketOption;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_ACCEPTCONN:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_ACCEPTFILTER:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 12
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_ATTACH_FILTER:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 32
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_BINDTODEVICE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 33
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_BROADCAST:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_DEBUG:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_DETACH_FILTER:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 34
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_DONTROUTE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iconst_5
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_DONTTRUNC:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 13
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_ERROR:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 22
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_KEEPALIVE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iconst_4
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_LABEL:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 30
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_LINGER:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 8
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NKE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 25
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NOADDRERR:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 27
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NOSIGPIPE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 26
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NO_CHECK:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 35
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NREAD:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 24
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_NWRITE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 28
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_OOBINLINE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 9
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_PASSCRED:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 36
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_PEERCRED:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 37
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_PEERLABEL:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 31
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_PEERNAME:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 38
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_PRIORITY:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 39
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_RCVBUF:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 17
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_RCVLOWAT:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 19
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_RCVTIMEO:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 21
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_REUSEADDR:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iconst_3
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_REUSEPORT:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 10
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_REUSESHAREUID:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 29
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SECURITY_AUTHENTICATION:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 40
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SECURITY_ENCRYPTION_NETWORK:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 41
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SECURITY_ENCRYPTION_TRANSPORT:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 42
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SNDBUF:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 16
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SNDLOWAT:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 18
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_SNDTIMEO:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 20
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_TIMESTAMP:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 11
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_TYPE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 23
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_USELOOPBACK:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 7
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_WANTMORE:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 14
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic jnr.constants.platform.SocketOption.SO_WANTOOBFLAG:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 15
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic jnr.constants.platform.SocketOption.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            bipush 43
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            dup
            putstatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketOption:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$jnr$constants$platform$SocketLevel();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jnr.constants.platform.SocketLevel.values:()[Ljnr/constants/platform/SocketLevel;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jnr.constants.platform.SocketLevel.SOL_IP:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jnr.constants.platform.SocketLevel.SOL_TCP:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jnr.constants.platform.SocketLevel.SOL_UDP:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jnr.constants.platform.SocketLevel.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.jruby.ext.socket.RubyUNIXSocket.$SWITCH_TABLE$jnr$constants$platform$SocketLevel:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "RubyUNIXSocket.java"
NestMembers:
  org.jruby.ext.socket.RubyUNIXSocket$1
InnerClasses:
  org.jruby.ext.socket.RubyUNIXSocket$1
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"UNIXSocket"}, parent = "BasicSocket")