public class org.jruby.util.io.ModeFlags implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.io.ModeFlags
  super_class: java.lang.Object
{
  public static final int RDONLY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int WRONLY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int RDWR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int CREAT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int EXCL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int TRUNC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int APPEND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int NONBLOCK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int BINARY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int TMPFILE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int TEXT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 268435456

  public static final int ACCMODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final int flags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 60
            getstatic jnr.constants.platform.OpenFlags.O_RDONLY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.RDONLY:I
         1: .line 62
            getstatic jnr.constants.platform.OpenFlags.O_WRONLY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.WRONLY:I
         2: .line 64
            getstatic jnr.constants.platform.OpenFlags.O_RDWR:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.RDWR:I
         3: .line 66
            getstatic jnr.constants.platform.OpenFlags.O_CREAT:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.CREAT:I
         4: .line 68
            getstatic jnr.constants.platform.OpenFlags.O_EXCL:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.EXCL:I
         5: .line 70
            getstatic jnr.constants.platform.OpenFlags.O_TRUNC:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.TRUNC:I
         6: .line 72
            getstatic jnr.constants.platform.OpenFlags.O_APPEND:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.APPEND:I
         7: .line 74
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            putstatic org.jruby.util.io.ModeFlags.NONBLOCK:I
         8: .line 76
            getstatic jnr.constants.platform.OpenFlags.O_BINARY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 9
            getstatic jnr.constants.platform.OpenFlags.O_BINARY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: putstatic org.jruby.util.io.ModeFlags.BINARY:I
        11: .line 78
            getstatic jnr.constants.platform.OpenFlags.O_TMPFILE:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 12
            getstatic jnr.constants.platform.OpenFlags.O_TMPFILE:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: putstatic org.jruby.util.io.ModeFlags.TMPFILE:I
        14: .line 84
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            ior
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            ior
            putstatic org.jruby.util.io.ModeFlags.ACCMODE:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            putfield org.jruby.util.io.ModeFlags.flags:I
         2: .line 94
            return
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/util/io/ModeFlags;

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.io.ModeFlags this
        start local 1 // long flags
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 105
            aload 0 /* this */
            lload 1 /* flags */
            l2i
            putfield org.jruby.util.io.ModeFlags.flags:I
         2: .line 106
            return
        end local 1 // long flags
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/util/io/ModeFlags;
            0    3     1  flags  J
    Exceptions:
      throws org.jruby.util.io.InvalidValueException
    MethodParameters:
       Name  Flags
      flags  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.io.ModeFlags this
        start local 1 // java.lang.String flagString
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            aload 0 /* this */
            aload 1 /* flagString */
            invokestatic org.jruby.util.io.ModeFlags.getOFlagsFromString:(Ljava/lang/String;)I
            putfield org.jruby.util.io.ModeFlags.flags:I
         2: .line 110
            return
        end local 1 // java.lang.String flagString
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/util/io/ModeFlags;
            0    3     1  flagString  Ljava/lang/String;
    Exceptions:
      throws org.jruby.util.io.InvalidValueException
    MethodParameters:
            Name  Flags
      flagString  

  public static int getOFlagsFromString(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String modesString
         0: .line 113
            iconst_0
            istore 1 /* modes */
        start local 1 // int modes
         1: .line 114
            aload 0 /* modesString */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         2: .line 116
            iload 2 /* length */
            ifne 4
         3: .line 117
            new org.jruby.util.io.InvalidValueException
            dup
            invokespecial org.jruby.util.io.InvalidValueException.<init>:()V
            athrow
         4: .line 120
      StackMap locals: int int
      StackMap stack:
            aload 0 /* modesString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 3
                   97: 7
                  114: 5
                  119: 9
              default: 11
          }
         5: .line 122
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            ior
            istore 1 /* modes */
         6: .line 123
            goto 12
         7: .line 125
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            getstatic org.jruby.util.io.ModeFlags.APPEND:I
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            ior
            getstatic org.jruby.util.io.ModeFlags.CREAT:I
            ior
            ior
            istore 1 /* modes */
         8: .line 126
            goto 12
         9: .line 128
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            getstatic org.jruby.util.io.ModeFlags.TRUNC:I
            ior
            getstatic org.jruby.util.io.ModeFlags.CREAT:I
            ior
            ior
            istore 1 /* modes */
        10: .line 129
            goto 12
        11: .line 131
      StackMap locals:
      StackMap stack:
            new org.jruby.util.io.InvalidValueException
            dup
            invokespecial org.jruby.util.io.InvalidValueException.<init>:()V
            athrow
        12: .line 134
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* n */
        start local 3 // int n
        13: goto 24
        14: .line 135
      StackMap locals: int
      StackMap stack:
            aload 0 /* modesString */
            iload 3 /* n */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 4
                   43: 17
                   58: 21
                   98: 15
                  116: 19
              default: 22
          }
        15: .line 137
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            getstatic org.jruby.util.io.ModeFlags.BINARY:I
            ior
            istore 1 /* modes */
        16: .line 138
            goto 23
        17: .line 140
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            getstatic org.jruby.util.io.ModeFlags.ACCMODE:I
            iconst_m1
            ixor
            iand
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            ior
            istore 1 /* modes */
        18: .line 141
            goto 23
        19: .line 143
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            ldc 268435456
            ior
            istore 1 /* modes */
        20: .line 144
            goto 23
        21: .line 146
      StackMap locals:
      StackMap stack:
            goto 25
        22: .line 148
      StackMap locals:
      StackMap stack:
            new org.jruby.util.io.InvalidValueException
            dup
            invokespecial org.jruby.util.io.InvalidValueException.<init>:()V
            athrow
        23: .line 134
      StackMap locals:
      StackMap stack:
            iinc 3 /* n */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* n */
            iload 2 /* length */
            if_icmplt 14
        end local 3 // int n
        25: .line 152
      StackMap locals:
      StackMap stack:
            iload 1 /* modes */
            ireturn
        end local 2 // int length
        end local 1 // int modes
        end local 0 // java.lang.String modesString
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0  modesString  Ljava/lang/String;
            1   26     1        modes  I
            2   26     2       length  I
           13   25     3            n  I
    Exceptions:
      throws org.jruby.util.io.InvalidValueException
    MethodParameters:
             Name  Flags
      modesString  

  public static int getOFlagsFromString(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String modesString
         0: .line 157
            aload 1 /* modesString */
            invokestatic org.jruby.util.io.ModeFlags.getOFlagsFromString:(Ljava/lang/String;)I
         1: ireturn
         2: .line 158
      StackMap locals:
      StackMap stack: org.jruby.util.io.InvalidValueException
            pop
         3: .line 159
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "mode string: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* modesString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // java.lang.String modesString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0      runtime  Lorg/jruby/Ruby;
            0    4     1  modesString  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class org.jruby.util.io.InvalidValueException
    MethodParameters:
             Name  Flags
      runtime      
      modesString  

  public static int oflagsFrom(jnr.posix.POSIX, java.nio.channels.Channel);
    descriptor: (Ljnr/posix/POSIX;Ljava/nio/channels/Channel;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jnr.posix.POSIX posix
        start local 1 // java.nio.channels.Channel channel
         0: .line 172
            aload 1 /* channel */
            invokestatic org.jruby.util.io.FilenoUtil.filenoFrom:(Ljava/nio/channels/Channel;)I
            istore 3 /* fileno */
        start local 3 // int fileno
         1: .line 173
            iload 3 /* fileno */
            invokestatic org.jruby.util.io.FilenoUtil.isFake:(I)Z
            ifne 2
            aload 0 /* posix */
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 2
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 13
         2: .line 175
      StackMap locals: jnr.posix.POSIX java.nio.channels.Channel top int
      StackMap stack:
            aload 1 /* channel */
            instanceof java.nio.channels.ReadableByteChannel
            ifeq 8
         3: .line 176
            aload 1 /* channel */
            instanceof java.nio.channels.WritableByteChannel
            ifeq 6
         4: .line 177
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            istore 2 /* mode */
        start local 2 // int mode
         5: .line 178
            goto 14
        end local 2 // int mode
         6: .line 179
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            istore 2 /* mode */
        start local 2 // int mode
         7: .line 181
            goto 14
        end local 2 // int mode
      StackMap locals:
      StackMap stack:
         8: aload 1 /* channel */
            instanceof java.nio.channels.WritableByteChannel
            ifeq 11
         9: .line 182
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            istore 2 /* mode */
        start local 2 // int mode
        10: .line 183
            goto 14
        end local 2 // int mode
        11: .line 185
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            istore 2 /* mode */
        start local 2 // int mode
        12: .line 187
            goto 14
        end local 2 // int mode
        13: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* posix */
            iload 3 /* fileno */
            getstatic jnr.constants.platform.Fcntl.F_GETFL:Ljnr/constants/platform/Fcntl;
            invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
            istore 2 /* mode */
        start local 2 // int mode
        14: .line 192
      StackMap locals: jnr.posix.POSIX java.nio.channels.Channel int int
      StackMap stack:
            iload 2 /* mode */
            ireturn
        end local 3 // int fileno
        end local 2 // int mode
        end local 1 // java.nio.channels.Channel channel
        end local 0 // jnr.posix.POSIX posix
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0    posix  Ljnr/posix/POSIX;
            0   15     1  channel  Ljava/nio/channels/Channel;
            5    6     2     mode  I
            7    8     2     mode  I
           10   11     2     mode  I
           12   13     2     mode  I
           14   15     2     mode  I
            1   15     3   fileno  I
    MethodParameters:
         Name  Flags
      posix    
      channel  

  public static org.jruby.util.io.ModeFlags getModesFromChannel(java.nio.channels.Channel);
    descriptor: (Ljava/nio/channels/Channel;)Lorg/jruby/util/io/ModeFlags;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.nio.channels.Channel channel
         0: .line 206
            aload 0 /* channel */
            instanceof java.nio.channels.ReadableByteChannel
            ifeq 6
         1: .line 207
            aload 0 /* channel */
            instanceof java.nio.channels.WritableByteChannel
            ifeq 4
         2: .line 208
            new org.jruby.util.io.ModeFlags
            dup
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            i2l
            invokespecial org.jruby.util.io.ModeFlags.<init>:(J)V
            astore 1 /* modes */
        start local 1 // org.jruby.util.io.ModeFlags modes
         3: .line 209
            goto 10
        end local 1 // org.jruby.util.io.ModeFlags modes
         4: .line 210
      StackMap locals:
      StackMap stack:
            new org.jruby.util.io.ModeFlags
            dup
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            i2l
            invokespecial org.jruby.util.io.ModeFlags.<init>:(J)V
            astore 1 /* modes */
        start local 1 // org.jruby.util.io.ModeFlags modes
         5: .line 212
            goto 10
        end local 1 // org.jruby.util.io.ModeFlags modes
      StackMap locals:
      StackMap stack:
         6: aload 0 /* channel */
            instanceof java.nio.channels.WritableByteChannel
            ifeq 9
         7: .line 213
            new org.jruby.util.io.ModeFlags
            dup
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            i2l
            invokespecial org.jruby.util.io.ModeFlags.<init>:(J)V
            astore 1 /* modes */
        start local 1 // org.jruby.util.io.ModeFlags modes
         8: .line 214
            goto 10
        end local 1 // org.jruby.util.io.ModeFlags modes
         9: .line 216
      StackMap locals:
      StackMap stack:
            new org.jruby.util.io.ModeFlags
            dup
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            i2l
            invokespecial org.jruby.util.io.ModeFlags.<init>:(J)V
            astore 1 /* modes */
        start local 1 // org.jruby.util.io.ModeFlags modes
        10: .line 219
      StackMap locals: org.jruby.util.io.ModeFlags
      StackMap stack:
            aload 1 /* modes */
        11: areturn
        end local 1 // org.jruby.util.io.ModeFlags modes
        12: .line 220
      StackMap locals: java.nio.channels.Channel
      StackMap stack: org.jruby.util.io.InvalidValueException
            astore 1 /* ive */
        start local 1 // org.jruby.util.io.InvalidValueException ive
        13: .line 222
            new java.lang.RuntimeException
            dup
            aload 1 /* ive */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // org.jruby.util.io.InvalidValueException ive
        end local 0 // java.nio.channels.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  channel  Ljava/nio/channels/Channel;
            3    4     1    modes  Lorg/jruby/util/io/ModeFlags;
            5    6     1    modes  Lorg/jruby/util/io/ModeFlags;
            8    9     1    modes  Lorg/jruby/util/io/ModeFlags;
           10   12     1    modes  Lorg/jruby/util/io/ModeFlags;
           13   14     1      ive  Lorg/jruby/util/io/InvalidValueException;
      Exception table:
        from    to  target  type
           0    11      12  Class org.jruby.util.io.InvalidValueException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      channel  

  public java.lang.String toJavaModeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 233
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isWritable:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isCreate:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isTruncate:()Z
            ifeq 2
         1: .line 235
      StackMap locals:
      StackMap stack:
            ldc "rw"
            areturn
         2: .line 237
      StackMap locals:
      StackMap stack:
            ldc "r"
            areturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/util/io/ModeFlags;

  public final boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 247
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            iand
            ifne 1
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isReadable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 256
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            iand
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isReadOnly:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isBinary();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 265
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.BINARY:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isText();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 274
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            ldc 268435456
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isTemporary();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 283
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.TMPFILE:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isCreate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 292
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.CREAT:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 301
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.RDWR:I
            iand
            ifne 1
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            iand
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isExclusive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 310
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.EXCL:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isAppendable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 319
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.APPEND:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isTruncate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 328
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            getstatic org.jruby.util.io.ModeFlags.TRUNC:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/io/ModeFlags;

  public boolean isSubsetOf(org.jruby.util.io.ModeFlags);
    descriptor: (Lorg/jruby/util/io/ModeFlags;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.util.io.ModeFlags this
        start local 1 // org.jruby.util.io.ModeFlags superset
         0: .line 341
            aload 1 /* superset */
            invokevirtual org.jruby.util.io.ModeFlags.isReadable:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isReadable:()Z
            ifne 3
         1: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* superset */
            invokevirtual org.jruby.util.io.ModeFlags.isWritable:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isWritable:()Z
            ifne 3
         2: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* superset */
            invokevirtual org.jruby.util.io.ModeFlags.isAppendable:()Z
            ifne 4
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isAppendable:()Z
            ifeq 4
         3: .line 345
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 348
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.jruby.util.io.ModeFlags superset
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/util/io/ModeFlags;
            0    5     1  superset  Lorg/jruby/util/io/ModeFlags;
    MethodParameters:
          Name  Flags
      superset  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 353
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 354
            aload 1 /* buf */
            ldc "ModeFlags("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 356
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isAppendable:()Z
            ifeq 3
            aload 1 /* buf */
            ldc "APPENDABLE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 357
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isBinary:()Z
            ifeq 4
            aload 1 /* buf */
            ldc "BINARY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isCreate:()Z
            ifeq 5
            aload 1 /* buf */
            ldc "CREATE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isExclusive:()Z
            ifeq 6
            aload 1 /* buf */
            ldc "EXCLUSIVE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isReadOnly:()Z
            ifeq 7
            aload 1 /* buf */
            ldc "READONLY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isText:()Z
            ifeq 8
            aload 1 /* buf */
            ldc "TEXT "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isTemporary:()Z
            ifeq 9
            aload 1 /* buf */
            ldc "TMPFILE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isTruncate:()Z
            ifeq 10
            aload 1 /* buf */
            ldc "TRUNCATE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isWritable:()Z
            ifeq 15
        11: .line 365
            aload 0 /* this */
            invokevirtual org.jruby.util.io.ModeFlags.isReadable:()Z
            ifeq 14
        12: .line 366
            aload 1 /* buf */
            ldc "RDWR"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 367
            goto 15
        14: .line 368
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "WRITABLE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 372
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/jruby/util/io/ModeFlags;
            1   16     1   buf  Ljava/lang/StringBuilder;

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 382
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/io/ModeFlags;

  public static int getOpenFileFlagsFor(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int flags
         0: .line 394
            iload 0 /* flags */
            iconst_3
            iand
            istore 2 /* readWrite */
        start local 2 // int readWrite
         1: .line 395
            iload 2 /* readWrite */
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            if_icmpne 4
         2: .line 396
            iconst_1
            istore 1 /* fmodeFlags */
        start local 1 // int fmodeFlags
         3: .line 397
            goto 8
        end local 1 // int fmodeFlags
      StackMap locals: int top int
      StackMap stack:
         4: iload 2 /* readWrite */
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            if_icmpne 7
         5: .line 398
            iconst_2
            istore 1 /* fmodeFlags */
        start local 1 // int fmodeFlags
         6: .line 399
            goto 8
        end local 1 // int fmodeFlags
         7: .line 400
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 1 /* fmodeFlags */
        start local 1 // int fmodeFlags
         8: .line 403
      StackMap locals: int int int
      StackMap stack:
            iload 0 /* flags */
            getstatic org.jruby.util.io.ModeFlags.APPEND:I
            iand
            ifeq 10
         9: .line 404
            iload 1 /* fmodeFlags */
            bipush 64
            ior
            istore 1 /* fmodeFlags */
        10: .line 406
      StackMap locals:
      StackMap stack:
            iload 0 /* flags */
            getstatic org.jruby.util.io.ModeFlags.CREAT:I
            iand
            ifeq 12
        11: .line 407
            iload 1 /* fmodeFlags */
            sipush 128
            ior
            istore 1 /* fmodeFlags */
        12: .line 409
      StackMap locals:
      StackMap stack:
            iload 0 /* flags */
            getstatic org.jruby.util.io.ModeFlags.BINARY:I
            iand
            ifeq 14
        13: .line 410
            iload 1 /* fmodeFlags */
            iconst_4
            ior
            istore 1 /* fmodeFlags */
        14: .line 412
      StackMap locals:
      StackMap stack:
            iload 0 /* flags */
            getstatic org.jruby.util.io.ModeFlags.TMPFILE:I
            iand
            ifeq 16
        15: .line 413
            iload 1 /* fmodeFlags */
            ldc 4259840
            ior
            istore 1 /* fmodeFlags */
        16: .line 417
      StackMap locals:
      StackMap stack:
            iload 0 /* flags */
            ldc 268435456
            iand
            ifeq 18
        17: .line 418
            iload 1 /* fmodeFlags */
            sipush 4096
            ior
            istore 1 /* fmodeFlags */
        18: .line 421
      StackMap locals:
      StackMap stack:
            iload 1 /* fmodeFlags */
            ireturn
        end local 2 // int readWrite
        end local 1 // int fmodeFlags
        end local 0 // int flags
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0       flags  I
            3    4     1  fmodeFlags  I
            6    7     1  fmodeFlags  I
            8   19     1  fmodeFlags  I
            1   19     2   readWrite  I
    MethodParameters:
       Name  Flags
      flags  

  public int getOpenFileFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 431
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            invokestatic org.jruby.util.io.ModeFlags.getOpenFileFlagsFor:(I)I
            ireturn
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/io/ModeFlags;

  public int getFcntlFileFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.util.io.ModeFlags this
         0: .line 442
            aload 0 /* this */
            getfield org.jruby.util.io.ModeFlags.flags:I
            iconst_3
            iand
            istore 2 /* readWrite */
        start local 2 // int readWrite
         1: .line 443
            iload 2 /* readWrite */
            getstatic org.jruby.util.io.ModeFlags.RDONLY:I
            if_icmpne 4
         2: .line 444
            iconst_0
            istore 1 /* fcntlFlags */
        start local 1 // int fcntlFlags
         3: .line 445
            goto 8
        end local 1 // int fcntlFlags
      StackMap locals: org.jruby.util.io.ModeFlags top int
      StackMap stack:
         4: iload 2 /* readWrite */
            getstatic org.jruby.util.io.ModeFlags.WRONLY:I
            if_icmpne 7
         5: .line 446
            iconst_1
            istore 1 /* fcntlFlags */
        start local 1 // int fcntlFlags
         6: .line 447
            goto 8
        end local 1 // int fcntlFlags
         7: .line 448
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 1 /* fcntlFlags */
        start local 1 // int fcntlFlags
         8: .line 451
      StackMap locals: org.jruby.util.io.ModeFlags int int
      StackMap stack:
            iload 1 /* fcntlFlags */
            ireturn
        end local 2 // int readWrite
        end local 1 // int fcntlFlags
        end local 0 // org.jruby.util.io.ModeFlags this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jruby/util/io/ModeFlags;
            3    4     1  fcntlFlags  I
            6    7     1  fcntlFlags  I
            8    9     1  fcntlFlags  I
            1    9     2   readWrite  I

  public static org.jruby.util.io.ModeFlags createModeFlags(int);
    descriptor: (I)Lorg/jruby/util/io/ModeFlags;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int oflags
         0: .line 456
            new org.jruby.util.io.ModeFlags
            dup
            iload 0 /* oflags */
            i2l
            invokespecial org.jruby.util.io.ModeFlags.<init>:(J)V
         1: areturn
         2: .line 457
      StackMap locals:
      StackMap stack: org.jruby.util.io.InvalidValueException
            pop
         3: .line 458
            new org.jruby.util.io.ModeFlags
            dup
            invokespecial org.jruby.util.io.ModeFlags.<init>:()V
            areturn
        end local 0 // int oflags
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  oflags  I
      Exception table:
        from    to  target  type
           0     1       2  Class org.jruby.util.io.InvalidValueException
    MethodParameters:
        Name  Flags
      oflags  
}
SourceFile: "ModeFlags.java"