public class org.jruby.ext.socket.Option extends org.jruby.RubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.socket.Option
  super_class: org.jruby.RubyObject
{
  private jnr.constants.platform.ProtocolFamily family;
    descriptor: Ljnr/constants/platform/ProtocolFamily;
    flags: (0x0002) ACC_PRIVATE

  private jnr.constants.platform.SocketLevel level;
    descriptor: Ljnr/constants/platform/SocketLevel;
    flags: (0x0002) ACC_PRIVATE

  private jnr.constants.platform.SocketOption option;
    descriptor: Ljnr/constants/platform/SocketOption;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.util.ByteList data;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0002) ACC_PRIVATE

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

  public static void createOption(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 30
            aload 0 /* runtime */
            ldc "Socket"
            invokevirtual org.jruby.Ruby.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
         1: .line 31
            ldc "Option"
         2: .line 32
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
         3: .line 33
            new org.jruby.ext.socket.Option$1
            dup
            invokespecial org.jruby.ext.socket.Option$1.<init>:()V
         4: .line 30
            invokevirtual org.jruby.RubyClass.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* addrinfo */
        start local 1 // org.jruby.RubyClass addrinfo
         5: .line 39
            aload 1 /* addrinfo */
            ldc Lorg/jruby/ext/socket/Option;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         6: .line 40
            return
        end local 1 // org.jruby.RubyClass addrinfo
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0   runtime  Lorg/jruby/Ruby;
            5    7     1  addrinfo  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.Option this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
         0: .line 43
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 44
            return
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/Option;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2    klass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      klass    

  public void <init>(org.jruby.Ruby, jnr.constants.platform.ProtocolFamily, jnr.constants.platform.SocketLevel, jnr.constants.platform.SocketOption, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // jnr.constants.platform.ProtocolFamily family
        start local 3 // jnr.constants.platform.SocketLevel level
        start local 4 // jnr.constants.platform.SocketOption option
        start local 5 // org.jruby.util.ByteList data
         0: .line 47
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            ldc "Socket::Option"
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            checkcast org.jruby.RubyClass
            aload 2 /* family */
            aload 3 /* level */
            aload 4 /* option */
            aload 5 /* data */
            invokespecial org.jruby.ext.socket.Option.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
         1: .line 48
            return
        end local 5 // org.jruby.util.ByteList data
        end local 4 // jnr.constants.platform.SocketOption option
        end local 3 // jnr.constants.platform.SocketLevel level
        end local 2 // jnr.constants.platform.ProtocolFamily family
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/socket/Option;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2   family  Ljnr/constants/platform/ProtocolFamily;
            0    2     3    level  Ljnr/constants/platform/SocketLevel;
            0    2     4   option  Ljnr/constants/platform/SocketOption;
            0    2     5     data  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      family   
      level    
      option   
      data     

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, jnr.constants.platform.ProtocolFamily, jnr.constants.platform.SocketLevel, jnr.constants.platform.SocketOption, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // jnr.constants.platform.ProtocolFamily family
        start local 4 // jnr.constants.platform.SocketLevel level
        start local 5 // jnr.constants.platform.SocketOption option
        start local 6 // org.jruby.util.ByteList data
         0: .line 51
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 53
            aload 0 /* this */
            aload 3 /* family */
            putfield org.jruby.ext.socket.Option.family:Ljnr/constants/platform/ProtocolFamily;
         2: .line 54
            aload 0 /* this */
            aload 4 /* level */
            putfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
         3: .line 55
            aload 0 /* this */
            aload 5 /* option */
            putfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
         4: .line 56
            aload 0 /* this */
            aload 6 /* data */
            putfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
         5: .line 57
            return
        end local 6 // org.jruby.util.ByteList data
        end local 5 // jnr.constants.platform.SocketOption option
        end local 4 // jnr.constants.platform.SocketLevel level
        end local 3 // jnr.constants.platform.ProtocolFamily family
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ext/socket/Option;
            0    6     1  runtime  Lorg/jruby/Ruby;
            0    6     2    klass  Lorg/jruby/RubyClass;
            0    6     3   family  Ljnr/constants/platform/ProtocolFamily;
            0    6     4    level  Ljnr/constants/platform/SocketLevel;
            0    6     5   option  Ljnr/constants/platform/SocketOption;
            0    6     6     data  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      klass    
      family   
      level    
      option   
      data     

  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=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 61
            aload 0 /* this */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.protocolFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/ProtocolFamily;
            putfield org.jruby.ext.socket.Option.family:Ljnr/constants/platform/ProtocolFamily;
         1: .line 62
            aload 0 /* this */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
            putfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
         2: .line 63
            aload 0 /* this */
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
            putfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
         3: .line 64
            aload 0 /* this */
            aload 2 /* args */
            iconst_3
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            putfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
         4: .line 66
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/ext/socket/Option;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 4, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject family(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 71
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.family:Ljnr/constants/platform/ProtocolFamily;
            invokevirtual jnr.constants.platform.ProtocolFamily.longValue:()J
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/socket/Option;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject level(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 76
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.longValue:()J
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/socket/Option;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject optname(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 81
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.longValue:()J
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/socket/Option;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

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

  public org.jruby.runtime.builtin.IRubyObject inspect(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.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 92
            new java.lang.StringBuilder
            dup
            bipush 32
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 93
            aload 2 /* buf */
            ldc "#<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 95
            aload 2 /* buf */
         3: .line 96
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 97
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 98
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.family:Ljnr/constants/platform/ProtocolFamily;
            invokevirtual org.jruby.ext.socket.Option.noPrefix:(Ljnr/constants/platform/ProtocolFamily;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 100
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
            getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
            if_acmpne 11
         7: .line 101
            aload 2 /* buf */
         8: .line 102
            ldc " SOCKET "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 103
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
            invokevirtual org.jruby.ext.socket.Option.noPrefix:(Ljnr/constants/platform/SocketOption;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 104
            goto 23
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
        11: aload 0 /* this */
            getfield org.jruby.ext.socket.Option.family:Ljnr/constants/platform/ProtocolFamily;
            getstatic jnr.constants.platform.ProtocolFamily.PF_UNIX:Ljnr/constants/platform/ProtocolFamily;
            if_acmpne 18
        12: .line 105
            aload 2 /* buf */
        13: .line 106
            ldc " level:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 107
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.longValue:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        15: .line 108
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        16: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
            invokevirtual org.jruby.ext.socket.Option.noPrefix:(Ljnr/constants/platform/SocketOption;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 110
            goto 23
        18: .line 111
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
        19: .line 112
            ldc " level:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 113
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.level:Ljnr/constants/platform/SocketLevel;
            invokevirtual jnr.constants.platform.SocketLevel.description:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 114
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        22: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
            invokevirtual org.jruby.ext.socket.Option.noPrefix:(Ljnr/constants/platform/SocketOption;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 118
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
        24: .line 119
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        25: .line 120
            aload 0 /* this */
            invokevirtual org.jruby.ext.socket.Option.optionValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 121
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 123
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lorg/jruby/ext/socket/Option;
            0   28     1  context  Lorg/jruby/runtime/ThreadContext;
            1   28     2      buf  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  private java.lang.String noPrefix(jnr.constants.platform.ProtocolFamily);
    descriptor: (Ljnr/constants/platform/ProtocolFamily;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // jnr.constants.platform.ProtocolFamily family
         0: .line 127
            aload 1 /* family */
            invokevirtual jnr.constants.platform.ProtocolFamily.description:()Ljava/lang/String;
            ldc "PF_"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // jnr.constants.platform.ProtocolFamily family
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/ext/socket/Option;
            0    1     1  family  Ljnr/constants/platform/ProtocolFamily;
    MethodParameters:
        Name  Flags
      family  

  private java.lang.String noPrefix(jnr.constants.platform.SocketOption);
    descriptor: (Ljnr/constants/platform/SocketOption;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // jnr.constants.platform.SocketOption option
         0: .line 131
            aload 1 /* option */
            invokevirtual jnr.constants.platform.SocketOption.description:()Ljava/lang/String;
            ldc "SO_"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // jnr.constants.platform.SocketOption option
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/ext/socket/Option;
            0    1     1  option  Ljnr/constants/platform/SocketOption;
    MethodParameters:
        Name  Flags
      option  

  private java.lang.String optionValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.ext.socket.Option this
         0: .line 136
            invokestatic org.jruby.ext.socket.Option.$SWITCH_TABLE$jnr$constants$platform$SocketOption:()[I
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.option:Ljnr/constants/platform/SocketOption;
            invokevirtual jnr.constants.platform.SocketOption.ordinal:()I
            iaload
            tableswitch { // 1 - 23
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 1
                    7: 9
                    8: 2
                    9: 1
                   10: 9
                   11: 9
                   12: 9
                   13: 9
                   14: 9
                   15: 9
                   16: 1
                   17: 1
                   18: 1
                   19: 1
                   20: 6
                   21: 6
                   22: 7
                   23: 8
              default: 9
          }
         1: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            areturn
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackLinger:(Lorg/jruby/util/ByteList;)[I
            astore 1 /* linger */
        start local 1 // int[] linger
         3: .line 153
            new java.lang.StringBuilder
            dup
            aload 1 /* linger */
            iconst_0
            iaload
            ifne 4
            ldc "off "
            goto 5
      StackMap locals: org.jruby.ext.socket.Option int[]
      StackMap stack: new 3 new 3
         4: ldc "on "
      StackMap locals: org.jruby.ext.socket.Option int[]
      StackMap stack: new 3 new 3 java.lang.String
         5: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* linger */
            iconst_1
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "sec"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int[] linger
         6: .line 157
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokestatic org.jruby.util.Sprintf.getNumberFormat:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            i2d
            ldc 1000.0
            ddiv
            invokevirtual java.text.NumberFormat.format:(D)Ljava/lang/String;
            areturn
         7: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            i2l
            invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.description:()Ljava/lang/String;
            areturn
         8: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            i2l
            invokestatic jnr.constants.platform.Sock.valueOf:(J)Ljnr/constants/platform/Sock;
            invokevirtual jnr.constants.platform.Sock.description:()Ljava/lang/String;
            areturn
         9: .line 166
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/jruby/ext/socket/Option;
            3    6     1  linger  [I

  public static org.jruby.util.ByteList packInt(int);
    descriptor: (I)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int i
         0: .line 170
            new org.jruby.util.ByteList
            dup
            iconst_4
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 1 /* result */
        start local 1 // org.jruby.util.ByteList result
         1: .line 171
            aload 1 /* result */
            iload 0 /* i */
            invokestatic org.jruby.util.Pack.packInt_i:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         2: .line 172
            aload 1 /* result */
            areturn
        end local 1 // org.jruby.util.ByteList result
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       i  I
            1    3     1  result  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      i     

  public static org.jruby.util.ByteList packLinger(int, int);
    descriptor: (II)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int vonoff
        start local 1 // int vsecs
         0: .line 176
            new org.jruby.util.ByteList
            dup
            bipush 8
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 2 /* result */
        start local 2 // org.jruby.util.ByteList result
         1: .line 177
            aload 2 /* result */
            iload 0 /* vonoff */
            invokestatic org.jruby.util.Pack.packInt_i:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         2: .line 178
            aload 2 /* result */
            iload 1 /* vsecs */
            invokestatic org.jruby.util.Pack.packInt_i:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         3: .line 179
            aload 2 /* result */
            areturn
        end local 2 // org.jruby.util.ByteList result
        end local 1 // int vsecs
        end local 0 // int vonoff
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  vonoff  I
            0    4     1   vsecs  I
            1    4     2  result  Lorg/jruby/util/ByteList;
    MethodParameters:
        Name  Flags
      vonoff  
      vsecs   

  public static int unpackInt(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList data
         0: .line 183
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokestatic org.jruby.util.Pack.unpackInt_i:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 0 // org.jruby.util.ByteList data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      data  

  public static int[] unpackLinger(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.util.ByteList data
         0: .line 187
            new org.jruby.util.ByteList
            bipush 8
            invokespecial org.jruby.util.ByteList.<init>:(I)V
         1: .line 188
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* data */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 1 /* buf */
        start local 1 // java.nio.ByteBuffer buf
         2: .line 189
            aload 1 /* buf */
            invokestatic org.jruby.util.Pack.unpackInt_i:(Ljava/nio/ByteBuffer;)I
            istore 2 /* vonoff */
        start local 2 // int vonoff
         3: .line 190
            aload 1 /* buf */
            invokestatic org.jruby.util.Pack.unpackInt_i:(Ljava/nio/ByteBuffer;)I
            istore 3 /* vsecs */
        start local 3 // int vsecs
         4: .line 191
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 2 /* vonoff */
            iastore
            dup
            iconst_1
            iload 3 /* vsecs */
            iastore
            areturn
        end local 3 // int vsecs
        end local 2 // int vonoff
        end local 1 // java.nio.ByteBuffer buf
        end local 0 // org.jruby.util.ByteList data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    data  Lorg/jruby/util/ByteList;
            2    5     1     buf  Ljava/nio/ByteBuffer;
            3    5     2  vonoff  I
            4    5     3   vsecs  I
    MethodParameters:
      Name  Flags
      data  

  public static org.jruby.runtime.builtin.IRubyObject rb_int(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=7, locals=7, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 196
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.protocolFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/ProtocolFamily;
            astore 3 /* family */
        start local 3 // jnr.constants.platform.ProtocolFamily family
         1: .line 197
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
            astore 4 /* level */
        start local 4 // jnr.constants.platform.SocketLevel level
         2: .line 198
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
            astore 5 /* option */
        start local 5 // jnr.constants.platform.SocketOption option
         3: .line 199
            aload 2 /* args */
            iconst_3
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokestatic org.jruby.ext.socket.Option.packInt:(I)Lorg/jruby/util/ByteList;
            astore 6 /* data */
        start local 6 // org.jruby.util.ByteList data
         4: .line 201
            new org.jruby.ext.socket.Option
            dup
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* family */
            aload 4 /* level */
            aload 5 /* option */
            aload 6 /* data */
            invokespecial org.jruby.ext.socket.Option.<init>:(Lorg/jruby/Ruby;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
            areturn
        end local 6 // org.jruby.util.ByteList data
        end local 5 // jnr.constants.platform.SocketOption option
        end local 4 // jnr.constants.platform.SocketLevel level
        end local 3 // jnr.constants.platform.ProtocolFamily family
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  context  Lorg/jruby/runtime/ThreadContext;
            0    5     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3   family  Ljnr/constants/platform/ProtocolFamily;
            2    5     4    level  Ljnr/constants/platform/SocketLevel;
            3    5     5   option  Ljnr/constants/platform/SocketOption;
            4    5     6     data  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"int"}, required = 4, meta = true)
    MethodParameters:
         Name  Flags
      context  
      self     
      args     

  public org.jruby.runtime.builtin.IRubyObject asInt(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.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 206
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 208
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            iconst_4
            invokestatic org.jruby.ext.socket.Option.validateDataSize:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)V
         2: .line 210
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/socket/Option;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"int"})
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.runtime.builtin.IRubyObject bool(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=7, locals=7, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 215
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.protocolFamilyFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/ProtocolFamily;
            astore 3 /* family */
        start local 3 // jnr.constants.platform.ProtocolFamily family
         1: .line 216
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.levelFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketLevel;
            astore 4 /* level */
        start local 4 // jnr.constants.platform.SocketLevel level
         2: .line 217
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.ext.socket.SocketUtils.optionFromArg:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljnr/constants/platform/SocketOption;
            astore 5 /* option */
        start local 5 // jnr.constants.platform.SocketOption option
         3: .line 218
            aload 2 /* args */
            iconst_3
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: jnr.constants.platform.ProtocolFamily jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: invokestatic org.jruby.ext.socket.Option.packInt:(I)Lorg/jruby/util/ByteList;
            astore 6 /* data */
        start local 6 // org.jruby.util.ByteList data
         6: .line 220
            new org.jruby.ext.socket.Option
            dup
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* family */
            aload 4 /* level */
            aload 5 /* option */
            aload 6 /* data */
            invokespecial org.jruby.ext.socket.Option.<init>:(Lorg/jruby/Ruby;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
            areturn
        end local 6 // org.jruby.util.ByteList data
        end local 5 // jnr.constants.platform.SocketOption option
        end local 4 // jnr.constants.platform.SocketLevel level
        end local 3 // jnr.constants.platform.ProtocolFamily family
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        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     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3   family  Ljnr/constants/platform/ProtocolFamily;
            2    7     4    level  Ljnr/constants/platform/SocketLevel;
            3    7     5   option  Ljnr/constants/platform/SocketOption;
            6    7     6     data  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 4, meta = true)
    MethodParameters:
         Name  Flags
      context  
      self     
      args     

  public org.jruby.runtime.builtin.IRubyObject bool(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.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 225
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 227
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            iconst_4
            invokestatic org.jruby.ext.socket.Option.validateDataSize:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)V
         2: .line 229
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackInt:(Lorg/jruby/util/ByteList;)I
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.jruby.ext.socket.Option org.jruby.runtime.ThreadContext org.jruby.Ruby
      StackMap stack: org.jruby.Ruby
         3: iconst_0
      StackMap locals: org.jruby.ext.socket.Option org.jruby.runtime.ThreadContext org.jruby.Ruby
      StackMap stack: org.jruby.Ruby int
         4: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/ext/socket/Option;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            1    5     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.runtime.builtin.IRubyObject linger(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: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject vonoff
        start local 3 // org.jruby.runtime.builtin.IRubyObject vsecs
         0: .line 234
            getstatic jnr.constants.platform.ProtocolFamily.PF_UNSPEC:Ljnr/constants/platform/ProtocolFamily;
            astore 4 /* family */
        start local 4 // jnr.constants.platform.ProtocolFamily family
         1: .line 235
            getstatic jnr.constants.platform.SocketLevel.SOL_SOCKET:Ljnr/constants/platform/SocketLevel;
            astore 5 /* level */
        start local 5 // jnr.constants.platform.SocketLevel level
         2: .line 236
            getstatic jnr.constants.platform.SocketOption.SO_LINGER:Ljnr/constants/platform/SocketOption;
            astore 6 /* option */
        start local 6 // jnr.constants.platform.SocketOption option
         3: .line 239
            aload 0 /* context */
            aload 2 /* vonoff */
            invokestatic org.jruby.util.TypeConverter.checkIntegerType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 6
         4: .line 240
            aload 2 /* vonoff */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            istore 7 /* coercedVonoff */
        start local 7 // int coercedVonoff
         5: .line 241
            goto 9
        end local 7 // int coercedVonoff
         6: .line 242
      StackMap locals: jnr.constants.platform.ProtocolFamily jnr.constants.platform.SocketLevel jnr.constants.platform.SocketOption
      StackMap stack:
            aload 2 /* vonoff */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* coercedVonoff */
        start local 7 // int coercedVonoff
         9: .line 245
      StackMap locals: int
      StackMap stack:
            iload 7 /* coercedVonoff */
            aload 3 /* vsecs */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            invokestatic org.jruby.ext.socket.Option.packLinger:(II)Lorg/jruby/util/ByteList;
            astore 8 /* data */
        start local 8 // org.jruby.util.ByteList data
        10: .line 247
            new org.jruby.ext.socket.Option
            dup
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            aload 4 /* family */
            aload 5 /* level */
            aload 6 /* option */
            aload 8 /* data */
            invokespecial org.jruby.ext.socket.Option.<init>:(Lorg/jruby/Ruby;Ljnr/constants/platform/ProtocolFamily;Ljnr/constants/platform/SocketLevel;Ljnr/constants/platform/SocketOption;Lorg/jruby/util/ByteList;)V
            areturn
        end local 8 // org.jruby.util.ByteList data
        end local 7 // int coercedVonoff
        end local 6 // jnr.constants.platform.SocketOption option
        end local 5 // jnr.constants.platform.SocketLevel level
        end local 4 // jnr.constants.platform.ProtocolFamily family
        end local 3 // org.jruby.runtime.builtin.IRubyObject vsecs
        end local 2 // org.jruby.runtime.builtin.IRubyObject vonoff
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        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           self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     2         vonoff  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     3          vsecs  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     4         family  Ljnr/constants/platform/ProtocolFamily;
            2   11     5          level  Ljnr/constants/platform/SocketLevel;
            3   11     6         option  Ljnr/constants/platform/SocketOption;
            5    6     7  coercedVonoff  I
            9   11     7  coercedVonoff  I
           10   11     8           data  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      self     
      vonoff   
      vsecs    

  public org.jruby.runtime.builtin.IRubyObject linger(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 252
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 254
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            bipush 8
            invokestatic org.jruby.ext.socket.Option.validateDataSize:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)V
         2: .line 256
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.socket.Option.unpackLinger:(Lorg/jruby/util/ByteList;)[I
            astore 3 /* linger */
        start local 3 // int[] linger
         3: .line 258
            aload 2 /* runtime */
            aload 2 /* runtime */
            aload 3 /* linger */
            iconst_0
            iaload
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: org.jruby.ext.socket.Option org.jruby.runtime.ThreadContext org.jruby.Ruby int[]
      StackMap stack: org.jruby.Ruby org.jruby.Ruby
         4: iconst_0
      StackMap locals: org.jruby.ext.socket.Option org.jruby.runtime.ThreadContext org.jruby.Ruby int[]
      StackMap stack: org.jruby.Ruby org.jruby.Ruby int
         5: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            aload 2 /* runtime */
            aload 3 /* linger */
            iconst_1
            iaload
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // int[] linger
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ext/socket/Option;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    6     2  runtime  Lorg/jruby/Ruby;
            3    6     3   linger  [I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject unpack(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=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.socket.Option this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 263
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.socket.Option.data:Lorg/jruby/util/ByteList;
            aload 2 /* arg0 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.Pack.unpack:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.socket.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/socket/Option;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg0     

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

  private static void validateDataSize(org.jruby.Ruby, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList data
        start local 2 // int size
         0: .line 272
            aload 1 /* data */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 3 /* realSize */
        start local 3 // int realSize
         1: .line 274
            iload 3 /* realSize */
            iload 2 /* size */
            if_icmpeq 3
         2: .line 275
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "size differ.  expected as sizeof(int)="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* realSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 277
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int realSize
        end local 2 // int size
        end local 1 // org.jruby.util.ByteList data
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   runtime  Lorg/jruby/Ruby;
            0    4     1      data  Lorg/jruby/util/ByteList;
            0    4     2      size  I
            1    4     3  realSize  I
    MethodParameters:
         Name  Flags
      runtime  
      data     
      size     

  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 28
            getstatic org.jruby.ext.socket.Option.$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.Option.$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
}
SourceFile: "Option.java"
NestMembers:
  org.jruby.ext.socket.Option$1
InnerClasses:
  org.jruby.ext.socket.Option$1