public class org.jruby.RubyFile extends org.jruby.RubyIO implements org.jruby.runtime.encoding.EncodingCapable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyFile
  super_class: org.jruby.RubyIO
{
  static final org.jruby.util.ByteList SLASH;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.jruby.util.ByteList BACKSLASH;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final org.jruby.runtime.ObjectAllocator FILE_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String URI_PREFIX_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "^(uri|jar|file|classpath):([^:/]{2,}:([^:/]{2,}:)?)?"

  private static final java.util.regex.Pattern ROOT_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int NULL_CHAR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final java.util.regex.Pattern PROTOCOL_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern PROTOCOL_PREFIX_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

  private static final int FNM_NOESCAPE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int FNM_PATHNAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int FNM_DOTMATCH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int FNM_CASEFOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int FNM_EXTGLOB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int FNM_SYSCASE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] SLASHES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern URI_PREFIX;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 89
            ldc Lorg/jruby/RubyFile;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.RubyFile.$assertionsDisabled:Z
         3: .line 91
            bipush 47
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            putstatic org.jruby.RubyFile.SLASH:Lorg/jruby/util/ByteList;
         4: .line 92
            bipush 92
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            putstatic org.jruby.RubyFile.BACKSLASH:Lorg/jruby/util/ByteList;
         5: .line 239
            new org.jruby.RubyFile$1
            dup
            invokespecial org.jruby.RubyFile$1.<init>:()V
            putstatic org.jruby.RubyFile.FILE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         6: .line 518
            ldc "^(uri|jar|file|classpath):([^:/]{2,}:([^:/]{2,}:)?)?/?/?$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jruby.RubyFile.ROOT_PATTERN:Ljava/util/regex/Pattern;
         7: .line 694
            ldc "^(uri|jar|file|classpath):([^:/]{2,}:([^:/]{2,}:)?)?.*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jruby.RubyFile.PROTOCOL_PATTERN:Ljava/util/regex/Pattern;
         8: .line 1708
            ldc "^(uri|jar|file|classpath):([^:/]{2,}:([^:/]{2,}:)?)?"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jruby.RubyFile.PROTOCOL_PREFIX_PATTERN:Ljava/util/regex/Pattern;
         9: .line 2357
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 10
            bipush 8
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: putstatic org.jruby.RubyFile.FNM_SYSCASE:I
        12: .line 2359
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc ""
            aastore
            dup
            iconst_1
            ldc "/"
            aastore
            dup
            iconst_2
            ldc "//"
            aastore
            putstatic org.jruby.RubyFile.SLASHES:[Ljava/lang/String;
        13: .line 2360
            ldc "^(jar:)?[a-z]{2,}:(.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jruby.RubyFile.URI_PREFIX:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.RubyClass createFileClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 95
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 1 /* context */
        start local 1 // org.jruby.runtime.ThreadContext context
         1: .line 97
            aload 0 /* runtime */
            ldc "File"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            getstatic org.jruby.RubyFile.FILE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 2 /* fileClass */
        start local 2 // org.jruby.RubyClass fileClass
         2: .line 99
            aload 2 /* fileClass */
            ldc Lorg/jruby/RubyFile;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         3: .line 101
            aload 2 /* fileClass */
            getstatic org.jruby.runtime.ClassIndex.FILE:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         4: .line 102
            aload 2 /* fileClass */
            ldc Lorg/jruby/RubyFile;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         5: .line 104
            aload 2 /* fileClass */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyFile;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         6: .line 107
            aload 0 /* runtime */
            getstatic org.jruby.RubyFile.SLASH:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 3 /* separator */
        start local 3 // org.jruby.RubyString separator
         7: .line 108
            aload 3 /* separator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         8: .line 109
            aload 2 /* fileClass */
            ldc "SEPARATOR"
            aload 3 /* separator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
         9: .line 110
            aload 2 /* fileClass */
            ldc "Separator"
            aload 3 /* separator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        10: .line 112
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 15
        11: .line 113
            aload 0 /* runtime */
            getstatic org.jruby.RubyFile.BACKSLASH:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 4 /* altSeparator */
        start local 4 // org.jruby.RubyString altSeparator
        12: .line 114
            aload 4 /* altSeparator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        13: .line 115
            aload 2 /* fileClass */
            ldc "ALT_SEPARATOR"
            aload 4 /* altSeparator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        end local 4 // org.jruby.RubyString altSeparator
        14: .line 116
            goto 16
        15: .line 117
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.RubyString
      StackMap stack:
            aload 2 /* fileClass */
            ldc "ALT_SEPARATOR"
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        16: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            getstatic java.io.File.pathSeparatorChar:C
            i2b
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 4 /* pathSeparator */
        start local 4 // org.jruby.RubyString pathSeparator
        17: .line 122
            aload 4 /* pathSeparator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        18: .line 123
            aload 2 /* fileClass */
            ldc "PATH_SEPARATOR"
            aload 4 /* pathSeparator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        19: .line 126
            aload 2 /* fileClass */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc Lorg/jruby/RubyFileTest$FileTestFileMethods;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
        20: .line 129
            aload 2 /* fileClass */
            ldc "Constants"
            invokevirtual org.jruby.RubyClass.defineModuleUnder:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            astore 5 /* constants */
        start local 5 // org.jruby.RubyModule constants
        21: .line 133
            aload 5 /* constants */
            ldc "RDONLY"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_RDONLY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        22: .line 135
            aload 5 /* constants */
            ldc "WRONLY"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_WRONLY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        23: .line 137
            aload 5 /* constants */
            ldc "RDWR"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_RDWR:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        24: .line 139
            aload 5 /* constants */
            ldc "APPEND"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_APPEND:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        25: .line 141
            aload 5 /* constants */
            ldc "CREAT"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_CREAT:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        26: .line 143
            aload 5 /* constants */
            ldc "EXCL"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_EXCL:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        27: .line 146
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 31
        28: .line 147
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            pop
        29: .line 151
            aload 5 /* constants */
            ldc "NONBLOCK"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        30: .line 152
            goto 33
      StackMap locals: org.jruby.RubyString org.jruby.RubyModule
      StackMap stack:
        31: getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 33
        32: .line 154
            aload 5 /* constants */
            ldc "NONBLOCK"
            aload 0 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        33: .line 157
      StackMap locals:
      StackMap stack:
            aload 5 /* constants */
            ldc "TRUNC"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_TRUNC:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        34: .line 161
            aload 5 /* constants */
            ldc "NOCTTY"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_NOCTTY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        35: .line 163
            getstatic jnr.constants.platform.OpenFlags.O_BINARY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifne 38
        36: .line 164
            aload 5 /* constants */
            ldc "BINARY"
            aload 0 /* runtime */
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        37: .line 165
            goto 39
        38: .line 167
      StackMap locals:
      StackMap stack:
            aload 5 /* constants */
            ldc "BINARY"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_BINARY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        39: .line 170
      StackMap locals:
      StackMap stack:
            aload 5 /* constants */
            ldc "SHARE_DELETE"
            aload 0 /* runtime */
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        40: .line 171
            getstatic jnr.constants.platform.OpenFlags.O_SYNC:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 42
        41: .line 173
            aload 5 /* constants */
            ldc "SYNC"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_SYNC:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        42: .line 184
      StackMap locals:
      StackMap stack:
            getstatic jnr.constants.platform.OpenFlags.O_NOFOLLOW:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 44
        43: .line 186
            aload 5 /* constants */
            ldc "NOFOLLOW"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_NOFOLLOW:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        44: .line 197
      StackMap locals:
      StackMap stack:
            getstatic jnr.constants.platform.OpenFlags.O_TMPFILE:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 46
        45: .line 199
            aload 5 /* constants */
            ldc "TMPFILE"
            aload 0 /* runtime */
            getstatic jnr.constants.platform.OpenFlags.O_TMPFILE:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        46: .line 203
      StackMap locals:
      StackMap stack:
            aload 5 /* constants */
            ldc "FNM_NOESCAPE"
            aload 0 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        47: .line 204
            aload 5 /* constants */
            ldc "FNM_CASEFOLD"
            aload 0 /* runtime */
            bipush 8
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        48: .line 205
            aload 5 /* constants */
            ldc "FNM_SYSCASE"
            aload 0 /* runtime */
            getstatic org.jruby.RubyFile.FNM_SYSCASE:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        49: .line 206
            aload 5 /* constants */
            ldc "FNM_DOTMATCH"
            aload 0 /* runtime */
            iconst_4
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        50: .line 207
            aload 5 /* constants */
            ldc "FNM_PATHNAME"
            aload 0 /* runtime */
            iconst_2
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        51: .line 208
            aload 5 /* constants */
            ldc "FNM_EXTGLOB"
            aload 0 /* runtime */
            bipush 16
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        52: .line 211
            aload 5 /* constants */
            ldc "LOCK_SH"
            aload 0 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        53: .line 212
            aload 5 /* constants */
            ldc "LOCK_EX"
            aload 0 /* runtime */
            iconst_2
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        54: .line 213
            aload 5 /* constants */
            ldc "LOCK_NB"
            aload 0 /* runtime */
            iconst_4
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        55: .line 214
            aload 5 /* constants */
            ldc "LOCK_UN"
            aload 0 /* runtime */
            bipush 8
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        56: .line 217
            aload 5 /* constants */
            ldc "NULL"
            aload 0 /* runtime */
            invokestatic org.jruby.RubyFile.getNullDevice:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        57: .line 220
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            aload 5 /* constants */
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
        58: .line 222
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 61
        59: .line 225
            aload 2 /* fileClass */
            ldc "readlink"
            invokevirtual org.jruby.RubyClass.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            iconst_1
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setNotImplemented:(Z)V
        60: .line 227
            aload 2 /* fileClass */
            ldc "mkfifo"
            invokevirtual org.jruby.RubyClass.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            iconst_1
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setNotImplemented:(Z)V
        61: .line 230
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_BSD:Z
            ifne 63
        62: .line 233
            aload 2 /* fileClass */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc "lchmod"
            invokevirtual org.jruby.RubyClass.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            iconst_1
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setNotImplemented:(Z)V
        63: .line 236
      StackMap locals:
      StackMap stack:
            aload 2 /* fileClass */
            areturn
        end local 5 // org.jruby.RubyModule constants
        end local 4 // org.jruby.RubyString pathSeparator
        end local 3 // org.jruby.RubyString separator
        end local 2 // org.jruby.RubyClass fileClass
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   64     0        runtime  Lorg/jruby/Ruby;
            1   64     1        context  Lorg/jruby/runtime/ThreadContext;
            2   64     2      fileClass  Lorg/jruby/RubyClass;
            7   64     3      separator  Lorg/jruby/RubyString;
           12   14     4   altSeparator  Lorg/jruby/RubyString;
           17   64     4  pathSeparator  Lorg/jruby/RubyString;
           21   64     5      constants  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  

  private static java.lang.String getNullDevice();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 250
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 3
         1: .line 251
            ldc "NUL"
            astore 0 /* null_device */
        start local 0 // java.lang.String null_device
         2: .line 252
            goto 4
        end local 0 // java.lang.String null_device
         3: .line 253
      StackMap locals:
      StackMap stack:
            ldc "/dev/null"
            astore 0 /* null_device */
        start local 0 // java.lang.String null_device
         4: .line 255
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* null_device */
            areturn
        end local 0 // java.lang.String null_device
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            2    3     0  null_device  Ljava/lang/String;
            4    5     0  null_device  Ljava/lang/String;

  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.RubyFile this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
         0: .line 259
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.RubyIO.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 260
            return
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2     type  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  void <init>(org.jruby.Ruby, java.lang.String, java.io.Reader);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/io/Reader;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String path
        start local 3 // java.io.Reader reader
         0: .line 265
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* path */
            new org.jruby.RubyFile$2
            dup
            aload 3 /* reader */
            invokespecial org.jruby.RubyFile$2.<init>:(Ljava/io/Reader;)V
            invokespecial org.jruby.RubyFile.<init>:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/io/InputStream;)V
         1: .line 271
            return
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.String path
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2     path  Ljava/lang/String;
            0    2     3   reader  Ljava/io/Reader;
    MethodParameters:
         Name  Flags
      runtime  
      path     
      reader   final

  public void <init>(org.jruby.Ruby, java.lang.String, java.io.InputStream);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String path
        start local 3 // java.io.InputStream in
         0: .line 274
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            aload 3 /* in */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/InputStream;)Ljava/nio/channels/ReadableByteChannel;
            invokespecial org.jruby.RubyIO.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/nio/channels/Channel;)V
         1: .line 275
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.jruby.RubyFile.setPath:(Ljava/lang/String;)V
         2: .line 276
            return
        end local 3 // java.io.InputStream in
        end local 2 // java.lang.String path
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyFile;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2     path  Ljava/lang/String;
            0    3     3       in  Ljava/io/InputStream;
    MethodParameters:
         Name  Flags
      runtime  
      path     
      in       

  public void <init>(org.jruby.Ruby, java.lang.String, java.nio.channels.FileChannel);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/nio/channels/FileChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String path
        start local 3 // java.nio.channels.FileChannel channel
         0: .line 279
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            aload 3 /* channel */
            invokespecial org.jruby.RubyIO.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/nio/channels/Channel;)V
         1: .line 280
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.jruby.RubyFile.setPath:(Ljava/lang/String;)V
         2: .line 281
            return
        end local 3 // java.nio.channels.FileChannel channel
        end local 2 // java.lang.String path
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyFile;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2     path  Ljava/lang/String;
            0    3     3  channel  Ljava/nio/channels/FileChannel;
    MethodParameters:
         Name  Flags
      runtime  
      path     
      channel  

  protected org.jruby.runtime.builtin.IRubyObject rbIoClose(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 286
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            getfield org.jruby.util.io.OpenFile.currentLock:Ljava/nio/channels/FileLock;
            ifnull 5
         1: .line 288
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            getfield org.jruby.util.io.OpenFile.currentLock:Ljava/nio/channels/FileLock;
            invokevirtual java.nio.channels.FileLock.release:()V
         2: .line 289
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 290
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // java.io.IOException e
         5: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyIO.rbIoClose:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyFile;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            4    5     2        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject flock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject operation
         0: .line 300
            getstatic jnr.posix.util.Platform.IS_SOLARIS:Z
            ifeq 2
         1: .line 301
            aload 0 /* this */
            aload 1 /* context */
            ldc "flock"
            aload 2 /* operation */
            invokevirtual org.jruby.RubyFile.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         3: .line 311
            aload 2 /* operation */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* op1 */
        start local 5 // int op1
         4: .line 312
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 4 /* fptr */
        start local 4 // org.jruby.util.io.OpenFile fptr
         5: .line 314
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.isWritable:()Z
            ifeq 18
         6: .line 315
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokevirtual org.jruby.RubyFile.flushRaw:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyIO;
            pop
         7: .line 321
            goto 18
         8: .line 322
      StackMap locals: org.jruby.Ruby org.jruby.util.io.OpenFile int
      StackMap stack:
            invokestatic org.jruby.RubyFile.$SWITCH_TABLE$jnr$constants$platform$Errno:()[I
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.errno:()Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iaload
            lookupswitch { // 4
                    4: 16
                   13: 9
                   35: 9
                   36: 9
              default: 17
          }
         9: .line 326
      StackMap locals:
      StackMap stack:
            iload 5 /* op1 */
            iconst_4
            iand
            ifeq 10
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        10: .line 329
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getThread:()Lorg/jruby/RubyThread;
            ldc 100
            invokevirtual org.jruby.RubyThread.sleep:(J)Z
            pop
        11: .line 330
            goto 14
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        12: pop
        13: .line 331
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
        14: .line 333
      StackMap locals:
      StackMap stack:
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.checkClosed:()V
        15: .line 334
            goto 18
        16: .line 337
      StackMap locals:
      StackMap stack:
            goto 18
        17: .line 340
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.errno:()Ljnr/constants/platform/Errno;
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        18: .line 321
      StackMap locals:
      StackMap stack:
            aload 4 /* fptr */
            aload 1 /* context */
            iload 5 /* op1 */
            invokevirtual org.jruby.util.io.OpenFile.threadFlock:(Lorg/jruby/runtime/ThreadContext;I)I
            iflt 8
        19: .line 343
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // int op1
        end local 4 // org.jruby.util.io.OpenFile fptr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject operation
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/jruby/RubyFile;
            0   20     1    context  Lorg/jruby/runtime/ThreadContext;
            0   20     2  operation  Lorg/jruby/runtime/builtin/IRubyObject;
            3   20     3    runtime  Lorg/jruby/Ruby;
            5   20     4       fptr  Lorg/jruby/util/io/OpenFile;
            4   20     5        op1  I
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.InterruptedException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1)
    MethodParameters:
           Name  Flags
      context    
      operation  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnull 2
         1: .line 350
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "reinitializing File"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 353
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifle 10
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpgt 10
         3: .line 354
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFixnum:()Lorg/jruby/RubyClass;
            aload 1 /* context */
            invokestatic org.jruby.RubyFile.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$FileSites;
            getfield org.jruby.runtime.JavaSites$FileSites.to_int_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* fd */
        start local 4 // org.jruby.runtime.builtin.IRubyObject fd
         4: .line 355
            aload 4 /* fd */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 10
         5: .line 356
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 7
         6: .line 357
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* fd */
            aload 3 /* block */
            invokespecial org.jruby.RubyIO.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 358
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 9
         8: .line 359
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* fd */
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* block */
            invokespecial org.jruby.RubyIO.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         9: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* fd */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            aload 3 /* block */
            invokespecial org.jruby.RubyIO.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject fd
        10: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyFile.openFile:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyFile;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     3    block  Lorg/jruby/runtime/Block;
            4   10     4       fd  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, required = 1, optional = 3, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject chmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 370
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 371
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 3 /* mode */
        start local 3 // int mode
         2: .line 373
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
         3: .line 374
            new java.io.File
            dup
            aload 4 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifne 5
         4: .line 375
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* path */
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 378
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 4 /* path */
            iload 3 /* mode */
            invokeinterface jnr.posix.POSIX.chmod:(Ljava/lang/String;I)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // java.lang.String path
        end local 3 // int mode
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyFile;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     3     mode  I
            3    6     4     path  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject chown(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: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 383
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 384
            iconst_m1
            istore 4 /* owner */
        start local 4 // int owner
         2: .line 385
            aload 2 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         3: .line 386
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* owner */
         4: .line 389
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 5 /* group */
        start local 5 // int group
         5: .line 390
            aload 3 /* arg2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
         6: .line 391
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* group */
         7: .line 394
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
         8: .line 395
            new java.io.File
            dup
            aload 6 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifne 10
         9: .line 396
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 6 /* path */
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 399
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 6 /* path */
            iload 4 /* owner */
            iload 5 /* group */
            invokeinterface jnr.posix.POSIX.chown:(Ljava/lang/String;II)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 6 // java.lang.String path
        end local 5 // int group
        end local 4 // int owner
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyFile;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            2   11     4    owner  I
            5   11     5    group  I
            8   11     6     path  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2)
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject atime(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 404
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 405
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.atime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject ctime(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 410
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 411
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.ctime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ctime"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject birthtime(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 416
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 418
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            invokestatic org.jruby.RubyFile.getBirthtimeWithNIO:(Ljava/lang/String;)Ljava/nio/file/attribute/FileTime;
            astore 2 /* btime */
        start local 2 // java.nio.file.attribute.FileTime btime
         2: .line 419
            aload 2 /* btime */
            ifnull 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* btime */
            invokevirtual java.nio.file.attribute.FileTime.toMillis:()J
            invokevirtual org.jruby.Ruby.newTime:(J)Lorg/jruby/RubyTime;
            areturn
         3: .line 420
      StackMap locals: java.nio.file.attribute.FileTime
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.ctime:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // java.nio.file.attribute.FileTime btime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyFile;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            2    4     2    btime  Ljava/nio/file/attribute/FileTime;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"birthtime"})
    MethodParameters:
         Name  Flags
      context  

  public static final java.nio.file.attribute.FileTime getBirthtimeWithNIO(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/file/attribute/FileTime;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.String pathString
         0: .line 425
            aload 0 /* pathString */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* path */
        start local 1 // java.nio.file.Path path
         1: .line 426
            aload 1 /* path */
            ldc Ljava/nio/file/attribute/PosixFileAttributeView;
            iconst_1
            anewarray java.nio.file.LinkOption
            dup
            iconst_0
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            aastore
            invokestatic java.nio.file.Files.getFileAttributeView:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
            checkcast java.nio.file.attribute.PosixFileAttributeView
            astore 2 /* view */
        start local 2 // java.nio.file.attribute.PosixFileAttributeView view
         2: .line 428
            aload 2 /* view */
            ifnull 6
         3: .line 429
            aload 2 /* view */
            invokeinterface java.nio.file.attribute.PosixFileAttributeView.readAttributes:()Ljava/nio/file/attribute/PosixFileAttributes;
            invokeinterface java.nio.file.attribute.PosixFileAttributes.creationTime:()Ljava/nio/file/attribute/FileTime;
         4: areturn
         5: .line 431
      StackMap locals: java.lang.String java.nio.file.Path java.nio.file.attribute.PosixFileAttributeView
      StackMap stack: java.io.IOException
            pop
         6: .line 434
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.nio.file.attribute.PosixFileAttributeView view
        end local 1 // java.nio.file.Path path
        end local 0 // java.lang.String pathString
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  pathString  Ljava/lang/String;
            1    7     1        path  Ljava/nio/file/Path;
            2    7     2        view  Ljava/nio/file/attribute/PosixFileAttributeView;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
    MethodParameters:
            Name  Flags
      pathString  

  public org.jruby.runtime.builtin.IRubyObject lstat(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 439
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 440
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            iconst_1
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject mtime(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 445
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 446
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.stat:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyFileStat
            invokevirtual org.jruby.RubyFileStat.mtime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.runtime.builtin.IRubyObject path(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, 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 str
         0: .line 451
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 2 /* str */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject str
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2      str  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      self     
      str      

  public org.jruby.runtime.builtin.IRubyObject path(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 456
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getMode:()I
            ldc 4259840
            iand
            ifeq 2
         1: .line 457
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "File is unnamed (TMPFILE?)"
            invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         3: .line 461
            aload 2 /* path */
            ifnull 7
         4: .line 462
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* path */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 3 /* newPath */
        start local 3 // org.jruby.RubyString newPath
         5: .line 463
            aload 3 /* newPath */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         6: .line 464
            aload 3 /* newPath */
            areturn
        end local 3 // org.jruby.RubyString newPath
         7: .line 466
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // java.lang.String path
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyFile;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            3    8     2     path  Ljava/lang/String;
            5    7     3  newPath  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"path", "to_path"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject len
         0: .line 471
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 475
            aload 2 /* len */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            i2l
            lstore 5 /* pos */
        start local 5 // long pos
         2: .line 476
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 4 /* fptr */
        start local 4 // org.jruby.util.io.OpenFile fptr
         3: .line 477
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.isWritable:()Z
            ifne 5
         4: .line 478
            aload 3 /* runtime */
            ldc "not opened for writing"
            invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 480
      StackMap locals: org.jruby.Ruby org.jruby.util.io.OpenFile long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokevirtual org.jruby.RubyFile.flushRaw:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyIO;
            pop
         6: .line 482
            lload 5 /* pos */
            lconst_0
            lcmp
            ifge 8
         7: .line 483
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 486
      StackMap locals:
      StackMap stack:
            aload 4 /* fptr */
            getfield org.jruby.util.io.OpenFile.posix:Lorg/jruby/util/io/PosixShim;
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.fd:()Lorg/jruby/util/io/ChannelFD;
            lload 5 /* pos */
            invokevirtual org.jruby.util.io.PosixShim.ftruncate:(Lorg/jruby/util/io/ChannelFD;J)I
            ifge 10
         9: .line 487
            aload 3 /* runtime */
            aload 4 /* fptr */
            getfield org.jruby.util.io.OpenFile.posix:Lorg/jruby/util/io/PosixShim;
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 490
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // long pos
        end local 4 // org.jruby.util.io.OpenFile fptr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject len
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyFile;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2      len  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3  runtime  Lorg/jruby/Ruby;
            3   11     4     fptr  Lorg/jruby/util/io/OpenFile;
            2   11     5      pos  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1)
    MethodParameters:
         Name  Flags
      context  
      len      

  public final org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyFile this
         0: .line 495
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyFile.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyFile.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyFile;

  public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 500
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 501
            new org.jruby.util.ByteList
            dup
            aload 2 /* path */
            ifnonnull 2
            iconst_4
            goto 3
      StackMap locals: org.jruby.RubyFile org.jruby.runtime.ThreadContext java.lang.String
      StackMap stack: new 1 new 1
         2: aload 2 /* path */
            invokevirtual java.lang.String.length:()I
      StackMap locals: org.jruby.RubyFile org.jruby.runtime.ThreadContext java.lang.String
      StackMap stack: new 1 new 1 int
         3: bipush 8
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 3 /* str */
        start local 3 // org.jruby.util.ByteList str
         4: .line 503
            aload 3 /* str */
            bipush 35
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 60
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
         5: .line 504
            aload 3 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.to_s:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
         6: .line 505
            aload 3 /* str */
            bipush 58
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            aload 2 /* path */
            ifnonnull 7
            getstatic org.jruby.RubyNil.nilBytes:[B
            goto 8
      StackMap locals: org.jruby.RubyFile org.jruby.runtime.ThreadContext java.lang.String org.jruby.util.ByteList
      StackMap stack: org.jruby.util.ByteList
         7: aload 2 /* path */
            invokestatic org.jruby.RubyEncoding.encodeUTF8:(Ljava/lang/String;)[B
      StackMap locals: org.jruby.RubyFile org.jruby.runtime.ThreadContext java.lang.String org.jruby.util.ByteList
      StackMap stack: org.jruby.util.ByteList byte[]
         8: invokevirtual org.jruby.util.ByteList.append:([B)V
         9: .line 506
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.isOpen:()Z
            ifne 13
        10: .line 507
            aload 3 /* str */
            bipush 32
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 40
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        11: .line 508
            aload 3 /* str */
            bipush 99
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 108
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 111
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 115
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 101
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            bipush 100
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        12: .line 509
            aload 3 /* str */
            bipush 41
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        13: .line 511
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            bipush 62
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        14: .line 513
            aload 3 /* str */
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
        15: .line 514
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* str */
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 3 // org.jruby.util.ByteList str
        end local 2 // java.lang.String path
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyFile;
            0   16     1  context  Lorg/jruby/runtime/ThreadContext;
            1   16     2     path  Ljava/lang/String;
            4   16     3      str  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.RubyString basename(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/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 526
            aload 0 /* context */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 2 /* path */
            aconst_null
            invokestatic org.jruby.RubyFile.basenameImpl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     

  public static org.jruby.RubyString basename(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/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
        start local 3 // org.jruby.runtime.builtin.IRubyObject ext
         0: .line 531
            aload 0 /* context */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 2 /* path */
            aload 3 /* ext */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 1
            aconst_null
            goto 2
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject
         1: aload 3 /* ext */
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
         2: invokestatic org.jruby.RubyFile.basenameImpl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject ext
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lorg/jruby/runtime/ThreadContext;
            0    3     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3      ext  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     
      ext      

  public static org.jruby.runtime.builtin.IRubyObject basename(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 536
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmple 1
            aload 2 /* args */
            iconst_1
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 1
            aload 2 /* args */
            iconst_1
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: astore 3 /* ext */
        start local 3 // org.jruby.runtime.builtin.IRubyObject ext
         3: .line 537
            aload 0 /* context */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 2 /* args */
            iconst_0
            aaload
            aload 3 /* ext */
            invokestatic org.jruby.RubyFile.basenameImpl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject ext
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     3      ext  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  private static org.jruby.RubyString basenameImpl(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass klass
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
        start local 3 // org.jruby.runtime.builtin.IRubyObject ext
         0: .line 541
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 543
            aload 1 /* klass */
            invokestatic org.jruby.RubyFile.getSeparatorChar:(Lorg/jruby/RubyClass;)I
            istore 5 /* separatorChar */
        start local 5 // int separatorChar
         2: .line 544
            aload 1 /* klass */
            invokestatic org.jruby.RubyFile.getAltSeparatorChar:(Lorg/jruby/RubyClass;)I
            istore 6 /* altSeparatorChar */
        start local 6 // int altSeparatorChar
         3: .line 546
            aload 4 /* runtime */
            aload 0 /* context */
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 7 /* origString */
        start local 7 // org.jruby.RubyString origString
         4: .line 547
            aload 7 /* origString */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 8 /* origEncoding */
        start local 8 // org.jcodings.Encoding origEncoding
         5: .line 548
            aload 7 /* origString */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         6: .line 551
            aload 9 /* name */
            ldc ".jar!/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 7
            getstatic org.jruby.RubyFile.ROOT_PATTERN:Ljava/util/regex/Pattern;
            aload 9 /* name */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 8
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int int org.jruby.RubyString org.jcodings.Encoding java.lang.String
      StackMap stack:
         7: aload 2 /* path */
            checkcast org.jruby.RubyString
            areturn
         8: .line 554
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 18
         9: .line 555
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 18
            aload 9 /* name */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 18
            aload 9 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isLetter:(C)Z
            ifeq 18
        10: .line 556
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            tableswitch { // 2 - 3
                    2: 11
                    3: 12
              default: 13
          }
        11: .line 558
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 7 /* origString */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aload 2 /* path */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            areturn
        12: .line 560
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 9 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 8 /* origEncoding */
            invokestatic org.jruby.RubyString.encodeBytelist:(Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        13: .line 562
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 2
                   47: 14
                   92: 14
              default: 15
          }
        14: .line 565
      StackMap locals:
      StackMap stack:
            goto 18
        15: .line 568
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* name */
        16: .line 575
            goto 18
        17: .line 576
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            iconst_0
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        18: .line 575
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 19
            aload 9 /* name */
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* separatorChar */
            if_icmpeq 17
            aload 9 /* name */
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 6 /* altSeparatorChar */
            if_icmpeq 17
        19: .line 580
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* slashCount */
        start local 10 // int slashCount
        20: .line 581
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            istore 11 /* length */
        start local 11 // int length
        21: .line 582
            iload 11 /* length */
            iconst_1
            isub
            istore 12 /* i */
        start local 12 // int i
        22: goto 28
        23: .line 583
      StackMap locals: int int int
      StackMap stack:
            aload 9 /* name */
            iload 12 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* c */
        start local 13 // char c
        24: .line 584
            iload 13 /* c */
            iload 5 /* separatorChar */
            if_icmpeq 26
            iload 13 /* c */
            iload 6 /* altSeparatorChar */
            if_icmpeq 26
        25: .line 585
            goto 29
        26: .line 587
      StackMap locals: int
      StackMap stack:
            iinc 10 /* slashCount */ 1
        end local 13 // char c
        27: .line 582
            iinc 12 /* i */ -1
      StackMap locals:
      StackMap stack:
        28: iload 12 /* i */
            ifge 23
        end local 12 // int i
        29: .line 589
      StackMap locals:
      StackMap stack:
            iload 10 /* slashCount */
            ifle 31
            iload 11 /* length */
            iconst_1
            if_icmple 31
        30: .line 590
            aload 9 /* name */
            iconst_0
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iload 10 /* slashCount */
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        31: .line 593
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            iload 5 /* separatorChar */
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 12 /* index */
        start local 12 // int index
        32: .line 594
            iload 6 /* altSeparatorChar */
            ifeq 34
        33: .line 595
            iload 12 /* index */
            aload 9 /* name */
            iload 6 /* altSeparatorChar */
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokestatic java.lang.Math.max:(II)I
            istore 12 /* index */
        34: .line 598
      StackMap locals: int
      StackMap stack:
            aload 9 /* name */
            iload 5 /* separatorChar */
            invokestatic org.jruby.util.StringSupport.contentEquals:(Ljava/lang/CharSequence;I)Z
            ifne 36
            aload 9 /* name */
            iload 6 /* altSeparatorChar */
            invokestatic org.jruby.util.StringSupport.contentEquals:(Ljava/lang/CharSequence;I)Z
            ifne 36
            iload 12 /* index */
            iconst_m1
            if_icmpeq 36
        35: .line 599
            aload 9 /* name */
            iload 12 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* name */
        36: .line 602
      StackMap locals:
      StackMap stack:
            aload 3 /* ext */
            ifnull 45
        37: .line 603
            aload 3 /* ext */
            invokestatic org.jruby.RubyString.stringValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 13 /* extStr */
        start local 13 // java.lang.String extStr
        38: .line 604
            ldc ".*"
            aload 13 /* extStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        39: .line 605
            aload 9 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 12 /* index */
        40: .line 606
            iload 12 /* index */
            ifle 45
        41: .line 607
            aload 9 /* name */
            iconst_0
            iload 12 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        42: .line 609
            goto 45
      StackMap locals: java.lang.String
      StackMap stack:
        43: aload 9 /* name */
            aload 13 /* extStr */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 45
        44: .line 610
            aload 9 /* name */
            iconst_0
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            aload 13 /* extStr */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        end local 13 // java.lang.String extStr
        45: .line 614
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 9 /* name */
            aload 8 /* origEncoding */
            invokestatic org.jruby.RubyString.encodeBytelist:(Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 12 // int index
        end local 11 // int length
        end local 10 // int slashCount
        end local 9 // java.lang.String name
        end local 8 // org.jcodings.Encoding origEncoding
        end local 7 // org.jruby.RubyString origString
        end local 6 // int altSeparatorChar
        end local 5 // int separatorChar
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject ext
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.RubyClass klass
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0           context  Lorg/jruby/runtime/ThreadContext;
            0   46     1             klass  Lorg/jruby/RubyClass;
            0   46     2              path  Lorg/jruby/runtime/builtin/IRubyObject;
            0   46     3               ext  Lorg/jruby/runtime/builtin/IRubyObject;
            1   46     4           runtime  Lorg/jruby/Ruby;
            2   46     5     separatorChar  I
            3   46     6  altSeparatorChar  I
            4   46     7        origString  Lorg/jruby/RubyString;
            5   46     8      origEncoding  Lorg/jcodings/Encoding;
            6   46     9              name  Ljava/lang/String;
           20   46    10        slashCount  I
           21   46    11            length  I
           22   29    12                 i  I
           24   27    13                 c  C
           32   46    12             index  I
           38   45    13            extStr  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      klass    
      path     
      ext      

  private static int getSeparatorChar(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyClass File
         0: .line 618
            aload 0 /* File */
            ldc "SEPARATOR"
            invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyString.stringValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 1 /* sep */
        start local 1 // org.jruby.RubyString sep
         1: .line 619
            aload 1 /* sep */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_0
            invokevirtual org.jruby.util.ByteList.get:(I)I
            ireturn
        end local 1 // org.jruby.RubyString sep
        end local 0 // org.jruby.RubyClass File
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  File  Lorg/jruby/RubyClass;
            1    2     1   sep  Lorg/jruby/RubyString;
    MethodParameters:
      Name  Flags
      File  final

  private static int getAltSeparatorChar(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyClass File
         0: .line 623
            aload 0 /* File */
            ldc "ALT_SEPARATOR"
            invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* sep */
        start local 1 // org.jruby.runtime.builtin.IRubyObject sep
         1: .line 624
            aload 1 /* sep */
            instanceof org.jruby.RubyString
            ifeq 3
         2: .line 625
            aload 1 /* sep */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_0
            invokevirtual org.jruby.util.ByteList.get:(I)I
            ireturn
         3: .line 627
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject sep
        end local 0 // org.jruby.RubyClass File
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  File  Lorg/jruby/RubyClass;
            1    4     1   sep  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      File  final

  public static org.jruby.runtime.builtin.IRubyObject chmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 632
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 634
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 635
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            astore 5 /* mode */
        start local 5 // org.jruby.RubyInteger mode
         3: .line 636
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 12
         5: .line 637
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyInteger int
      StackMap stack:
            aload 2 /* args */
            iload 6 /* i */
            aaload
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            astore 7 /* filename */
        start local 7 // org.jruby.util.JRubyFile filename
         6: .line 639
            aload 7 /* filename */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 8
         7: .line 640
            aload 3 /* runtime */
            aload 7 /* filename */
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 643
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 7 /* filename */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            aload 5 /* mode */
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            invokeinterface jnr.posix.POSIX.chmod:(Ljava/lang/String;I)I
            ifeq 10
         9: .line 644
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 646
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        end local 7 // org.jruby.util.JRubyFile filename
        11: .line 636
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 5
        end local 6 // int i
        13: .line 650
            aload 3 /* runtime */
            iload 4 /* count */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // org.jruby.RubyInteger mode
        end local 4 // int count
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0   context  Lorg/jruby/runtime/ThreadContext;
            0   14     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   14     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3   runtime  Lorg/jruby/Ruby;
            2   14     4     count  I
            3   14     5      mode  Lorg/jruby/RubyInteger;
            4   13     6         i  I
            6   11     7  filename  Lorg/jruby/util/JRubyFile;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject chown(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 655
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 657
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 658
            iconst_m1
            istore 5 /* owner */
        start local 5 // int owner
         3: .line 659
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 5
         4: .line 660
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* owner */
         5: .line 663
      StackMap locals: org.jruby.Ruby int int
      StackMap stack:
            iconst_m1
            istore 6 /* group */
        start local 6 // int group
         6: .line 664
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         7: .line 665
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 6 /* group */
         8: .line 667
      StackMap locals: int
      StackMap stack:
            iconst_2
            istore 7 /* i */
        start local 7 // int i
         9: goto 17
        10: .line 668
      StackMap locals: int
      StackMap stack:
            aload 2 /* args */
            iload 7 /* i */
            aaload
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            astore 8 /* filename */
        start local 8 // org.jruby.util.JRubyFile filename
        11: .line 670
            aload 8 /* filename */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 671
            aload 3 /* runtime */
            aload 8 /* filename */
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 674
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 8 /* filename */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            iload 5 /* owner */
            iload 6 /* group */
            invokeinterface jnr.posix.POSIX.chown:(Ljava/lang/String;II)I
            ifeq 15
        14: .line 675
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 677
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        end local 8 // org.jruby.util.JRubyFile filename
        16: .line 667
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 10
        end local 7 // int i
        18: .line 681
            aload 3 /* runtime */
            iload 4 /* count */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 6 // int group
        end local 5 // int owner
        end local 4 // int count
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0   context  Lorg/jruby/runtime/ThreadContext;
            0   19     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   19     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   19     3   runtime  Lorg/jruby/Ruby;
            2   19     4     count  I
            3   19     5     owner  I
            6   19     6     group  I
            9   18     7         i  I
           11   16     8  filename  Lorg/jruby/util/JRubyFile;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject dirname(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 686
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 687
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* arg */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* filename */
        start local 4 // org.jruby.RubyString filename
         2: .line 689
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
            astore 5 /* jfilename */
        start local 5 // java.lang.String jfilename
         3: .line 691
            aload 3 /* runtime */
            aload 0 /* context */
            aload 5 /* jfilename */
            invokestatic org.jruby.RubyFile.dirname:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
        end local 5 // java.lang.String jfilename
        end local 4 // org.jruby.RubyString filename
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0    context  Lorg/jruby/runtime/ThreadContext;
            0    4     1       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2        arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3    runtime  Lorg/jruby/Ruby;
            2    4     4   filename  Lorg/jruby/RubyString;
            3    4     5  jfilename  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg      

  public static java.lang.String dirname(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=21, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String filename
         0: .line 697
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            astore 2 /* File */
        start local 2 // org.jruby.RubyClass File
         1: .line 698
            aload 2 /* File */
            ldc "SEPARATOR"
            invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* sep */
        start local 3 // org.jruby.runtime.builtin.IRubyObject sep
         2: .line 700
            aload 3 /* sep */
            instanceof org.jruby.RubyString
            ifeq 8
            aload 3 /* sep */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.size:()I
            iconst_1
            if_icmpne 8
         3: .line 701
            aload 3 /* sep */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_0
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            istore 5 /* separatorChar */
        start local 5 // char separatorChar
         4: .line 702
            iload 5 /* separatorChar */
            bipush 47
            if_icmpne 5
            ldc "/"
            goto 6
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject top int
      StackMap stack:
         5: iload 5 /* separatorChar */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 4 /* separator */
        start local 4 // java.lang.String separator
         7: .line 703
            goto 12
        end local 5 // char separatorChar
        end local 4 // java.lang.String separator
         8: .line 705
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* sep */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 4 /* separator */
        start local 4 // java.lang.String separator
         9: .line 706
            aload 4 /* separator */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: aload 4 /* separator */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* separatorChar */
        start local 5 // char separatorChar
        12: .line 709
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* altSeparator */
        start local 6 // java.lang.String altSeparator
        13: iconst_0
            istore 7 /* altSeparatorChar */
        start local 7 // char altSeparatorChar
        14: .line 710
            aload 2 /* File */
            ldc "ALT_SEPARATOR"
            invokevirtual org.jruby.RubyClass.getConstantNoConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* rbAltSeparator */
        start local 8 // org.jruby.runtime.builtin.IRubyObject rbAltSeparator
        15: .line 711
            aload 8 /* rbAltSeparator */
            ifnull 18
            aload 8 /* rbAltSeparator */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 18
        16: .line 712
            aload 8 /* rbAltSeparator */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 6 /* altSeparator */
        17: .line 713
            aload 6 /* altSeparator */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 18
            aload 6 /* altSeparator */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* altSeparatorChar */
        18: .line 716
      StackMap locals: java.lang.String int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* filename */
            astore 9 /* name */
        start local 9 // java.lang.String name
        19: .line 717
            aload 6 /* altSeparator */
            ifnull 20
            aload 1 /* filename */
            aload 6 /* altSeparator */
            aload 4 /* separator */
            invokestatic org.jruby.RubyFile.replace:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 9 /* name */
        20: .line 719
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 10 /* startsWithSeparator */
        start local 10 // boolean startsWithSeparator
        21: .line 720
            aload 9 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 24
            aload 9 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* separatorChar */
            if_icmpne 22
            iconst_1
            goto 23
      StackMap locals: int
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: istore 10 /* startsWithSeparator */
        24: .line 723
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            ldc ".jar!"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 11 /* idx */
        start local 11 // int idx
        25: iconst_m1
            if_icmpeq 31
            aload 9 /* name */
            aload 4 /* separator */
            iload 11 /* idx */
            iconst_5
            iadd
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 31
        26: .line 724
            aload 9 /* name */
            new java.lang.StringBuilder
            dup
            ldc "!"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 12 /* start */
        start local 12 // int start
        27: .line 725
            aload 0 /* context */
            aload 9 /* name */
            iload 12 /* start */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyFile.dirname:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* path */
        start local 13 // java.lang.String path
        28: .line 726
            aload 13 /* path */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            aload 13 /* path */
            aload 4 /* separator */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
      StackMap locals: int int java.lang.String
      StackMap stack:
        29: ldc ""
            astore 13 /* path */
        30: .line 727
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* name */
            iconst_0
            iload 12 /* start */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 13 // java.lang.String path
        end local 12 // int start
        31: .line 730
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyFile.PROTOCOL_PATTERN:Ljava/util/regex/Pattern;
            aload 9 /* name */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 36
        32: .line 731
            aload 9 /* name */
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_2
            iadd
            istore 12 /* start */
        start local 12 // int start
        33: .line 732
            aload 0 /* context */
            aload 9 /* name */
            iload 12 /* start */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyFile.dirname:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* path */
        start local 13 // java.lang.String path
        34: .line 733
            aload 13 /* path */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
            ldc ""
            astore 13 /* path */
        35: .line 734
      StackMap locals: int java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* name */
            iconst_0
            iload 12 /* start */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 13 // java.lang.String path
        end local 12 // int start
        36: .line 737
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* minPathLength */
        start local 12 // int minPathLength
        37: .line 738
            iconst_0
            istore 13 /* trimmedSlashes */
        start local 13 // boolean trimmedSlashes
        38: .line 740
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 39
            aload 9 /* name */
            iload 5 /* separatorChar */
            iload 5 /* separatorChar */
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;CC)Z
            ifeq 39
            iconst_1
            goto 40
      StackMap locals: int int
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: istore 14 /* startsWithUNCOnWindows */
        start local 14 // boolean startsWithUNCOnWindows
        41: .line 742
            iload 14 /* startsWithUNCOnWindows */
            ifeq 42
            iconst_2
            istore 12 /* minPathLength */
        42: .line 744
      StackMap locals: int
      StackMap stack:
            aload 9 /* name */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            istore 15 /* startsWithDriveLetterOnWindows */
        start local 15 // boolean startsWithDriveLetterOnWindows
        43: .line 746
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 47
            iconst_3
            istore 12 /* minPathLength */
        44: .line 748
            goto 47
        45: .line 749
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 13 /* trimmedSlashes */
        46: .line 750
            aload 9 /* name */
            iconst_0
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        47: .line 748
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmple 48
            aload 9 /* name */
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* separatorChar */
            if_icmpeq 45
        48: .line 754
      StackMap locals:
      StackMap stack:
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 54
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpne 54
        49: .line 755
            iload 13 /* trimmedSlashes */
            ifeq 52
        50: .line 757
            aload 1 /* filename */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 16 /* result */
        start local 16 // java.lang.String result
        51: .line 758
            goto 74
        end local 16 // java.lang.String result
        52: .line 759
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* filename */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* result */
        start local 16 // java.lang.String result
        53: .line 761
            goto 74
        end local 16 // java.lang.String result
        54: .line 763
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            aload 4 /* separator */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 17 /* index */
        start local 17 // int index
        55: .line 765
            iload 17 /* index */
            iconst_m1
            if_icmpne 59
        56: .line 766
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 58
        57: .line 767
            new java.lang.StringBuilder
            dup
            aload 1 /* filename */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        58: .line 769
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject java.lang.String int java.lang.String int org.jruby.runtime.builtin.IRubyObject java.lang.String int int int int int int top int
      StackMap stack:
            ldc "."
            areturn
        59: .line 771
      StackMap locals:
      StackMap stack:
            iload 17 /* index */
            ifne 61
        60: .line 772
            aload 1 /* filename */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        61: .line 775
      StackMap locals:
      StackMap stack:
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 63
            iload 17 /* index */
            iconst_2
            if_icmpne 63
        62: .line 778
            iinc 17 /* index */ 1
        63: .line 781
      StackMap locals:
      StackMap stack:
            iload 14 /* startsWithUNCOnWindows */
            ifeq 73
        64: .line 782
            aload 1 /* filename */
            invokevirtual java.lang.String.length:()I
            istore 17 /* index */
        65: .line 783
            aload 9 /* name */
            iload 5 /* separatorChar */
            invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;C)Ljava/util/List;
            astore 18 /* split */
        start local 18 // java.util.List split
        66: .line 784
            iconst_0
            istore 19 /* pathSectionCount */
        start local 19 // int pathSectionCount
        67: .line 785
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        68: goto 71
        69: .line 786
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 18 /* split */
            iload 20 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 70
            iinc 19 /* pathSectionCount */ 1
        70: .line 785
      StackMap locals:
      StackMap stack:
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 20 /* i */
            aload 18 /* split */
            invokeinterface java.util.List.size:()I
            if_icmplt 69
        end local 20 // int i
        72: .line 788
            iload 19 /* pathSectionCount */
            iconst_2
            if_icmple 73
            aload 9 /* name */
            aload 4 /* separator */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 17 /* index */
        end local 19 // int pathSectionCount
        end local 18 // java.util.List split
        73: .line 790
      StackMap locals:
      StackMap stack:
            aload 1 /* filename */
            iconst_0
            iload 17 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 16 /* result */
        end local 17 // int index
        start local 16 // java.lang.String result
        74: .line 794
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject java.lang.String int java.lang.String int org.jruby.runtime.builtin.IRubyObject java.lang.String int int int int int int java.lang.String
      StackMap stack:
            iload 10 /* startsWithSeparator */
            ifeq 84
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmple 84
        75: .line 795
            goto 77
        76: .line 798
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            iconst_1
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 16 /* result */
        77: .line 795
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmple 84
        78: .line 796
            aload 16 /* result */
            iload 12 /* minPathLength */
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* separatorChar */
            if_icmpeq 76
        79: .line 797
            aload 6 /* altSeparator */
            ifnull 84
            aload 16 /* result */
            iload 12 /* minPathLength */
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* altSeparatorChar */
            if_icmpeq 76
        80: .line 804
            goto 84
        81: .line 805
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 17 /* endChar */
        start local 17 // char endChar
        82: .line 806
            iload 17 /* endChar */
            iload 5 /* separatorChar */
            if_icmpeq 83
            aload 6 /* altSeparator */
            ifnull 85
            iload 17 /* endChar */
            iload 7 /* altSeparatorChar */
            if_icmpne 85
        83: .line 807
      StackMap locals: int
      StackMap stack:
            aload 16 /* result */
            iconst_0
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 16 /* result */
        end local 17 // char endChar
        84: .line 804
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmpgt 81
        85: .line 813
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            areturn
        end local 16 // java.lang.String result
        end local 15 // boolean startsWithDriveLetterOnWindows
        end local 14 // boolean startsWithUNCOnWindows
        end local 13 // boolean trimmedSlashes
        end local 12 // int minPathLength
        end local 11 // int idx
        end local 10 // boolean startsWithSeparator
        end local 9 // java.lang.String name
        end local 8 // org.jruby.runtime.builtin.IRubyObject rbAltSeparator
        end local 7 // char altSeparatorChar
        end local 6 // java.lang.String altSeparator
        end local 5 // char separatorChar
        end local 4 // java.lang.String separator
        end local 3 // org.jruby.runtime.builtin.IRubyObject sep
        end local 2 // org.jruby.RubyClass File
        end local 1 // java.lang.String filename
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   86     0                         context  Lorg/jruby/runtime/ThreadContext;
            0   86     1                        filename  Ljava/lang/String;
            1   86     2                            File  Lorg/jruby/RubyClass;
            2   86     3                             sep  Lorg/jruby/runtime/builtin/IRubyObject;
            7    8     4                       separator  Ljava/lang/String;
            9   86     4                       separator  Ljava/lang/String;
            4    8     5                   separatorChar  C
           12   86     5                   separatorChar  C
           13   86     6                    altSeparator  Ljava/lang/String;
           14   86     7                altSeparatorChar  C
           15   86     8                  rbAltSeparator  Lorg/jruby/runtime/builtin/IRubyObject;
           19   86     9                            name  Ljava/lang/String;
           21   86    10             startsWithSeparator  Z
           25   86    11                             idx  I
           27   31    12                           start  I
           28   31    13                            path  Ljava/lang/String;
           33   36    12                           start  I
           34   36    13                            path  Ljava/lang/String;
           37   86    12                   minPathLength  I
           38   86    13                  trimmedSlashes  Z
           41   86    14          startsWithUNCOnWindows  Z
           43   86    15  startsWithDriveLetterOnWindows  Z
           51   52    16                          result  Ljava/lang/String;
           53   54    16                          result  Ljava/lang/String;
           74   86    16                          result  Ljava/lang/String;
           55   74    17                           index  I
           66   73    18                           split  Ljava/util/List<Ljava/lang/String;>;
           67   73    19                pathSectionCount  I
           68   72    20                               i  I
           82   84    17                         endChar  C
    MethodParameters:
          Name  Flags
      context   
      filename  final

  public static org.jruby.runtime.builtin.IRubyObject extname(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 825
            aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* arg */
            invokestatic org.jruby.RubyFile.basename:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         1: .line 827
            aload 3 /* filename */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* dotIndex */
        start local 4 // int dotIndex
         2: .line 828
            iload 4 /* dotIndex */
            ifle 4
            iload 4 /* dotIndex */
            aload 3 /* filename */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpeq 4
         3: .line 830
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* filename */
            iload 4 /* dotIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
         4: .line 833
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 4 // int dotIndex
        end local 3 // java.lang.String filename
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        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      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2       arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3  filename  Ljava/lang/String;
            2    5     4  dotIndex  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg      

  public static org.jruby.runtime.builtin.IRubyObject expand_path(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: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 848
            aload 0 /* context */
            aload 2 /* args */
            iconst_1
            iconst_0
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"expand_path"}, required = 1, optional = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject expand_path19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 853
            aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* args */
            invokestatic org.jruby.RubyFile.expand_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject absolute_path(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 878
            aload 0 /* context */
            aload 2 /* args */
            iconst_0
            iconst_0
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, optional = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject realdirpath(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 883
            aload 0 /* context */
            aload 2 /* args */
            iconst_0
            iconst_1
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, optional = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject realpath(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 887
            aload 0 /* context */
            aload 2 /* args */
            iconst_0
            iconst_1
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/RubyString;
            astore 3 /* file */
        start local 3 // org.jruby.RubyString file
         1: .line 888
            aload 0 /* context */
            aload 3 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 3
         2: .line 889
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* file */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 891
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* file */
            areturn
        end local 3 // org.jruby.RubyString file
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3     file  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject realpath(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=5, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 897
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 3 /* file */
        start local 3 // org.jruby.RubyString file
         1: .line 899
            aload 0 /* context */
            aload 3 /* file */
            aconst_null
            iconst_0
            iconst_1
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;ZZ)Lorg/jruby/RubyString;
            astore 3 /* file */
         2: .line 900
            aload 0 /* context */
            aload 3 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 4
         3: .line 901
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* file */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 903
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* file */
            areturn
        end local 3 // org.jruby.RubyString file
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        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     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3     file  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     

  public static org.jruby.runtime.builtin.IRubyObject realpath(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=5, locals=6, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
        start local 3 // org.jruby.runtime.builtin.IRubyObject cwd
         0: .line 909
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* file */
        start local 4 // org.jruby.RubyString file
         1: .line 910
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 3 /* cwd */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 5 /* wd */
        start local 5 // org.jruby.RubyString wd
         2: .line 912
            aload 0 /* context */
            aload 4 /* file */
            aload 5 /* wd */
            iconst_0
            iconst_1
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;ZZ)Lorg/jruby/RubyString;
            astore 4 /* file */
         3: .line 913
            aload 0 /* context */
            aload 4 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 5
         4: .line 914
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* file */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 916
      StackMap locals: org.jruby.RubyString org.jruby.RubyString
      StackMap stack:
            aload 4 /* file */
            areturn
        end local 5 // org.jruby.RubyString wd
        end local 4 // org.jruby.RubyString file
        end local 3 // org.jruby.runtime.builtin.IRubyObject cwd
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3      cwd  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     4     file  Lorg/jruby/RubyString;
            2    6     5       wd  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     
      cwd      

  public static org.jruby.runtime.builtin.IRubyObject fnmatch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 930
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 931
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpne 2
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* flags */
        start local 4 // int flags
         4: .line 932
            iconst_0
            istore 5 /* braces_match */
        start local 5 // boolean braces_match
         5: .line 933
            iload 4 /* flags */
            bipush 16
            iand
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: int int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* extglob */
        start local 6 // boolean extglob
         8: .line 935
            aload 3 /* runtime */
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 7 /* pattern */
        start local 7 // org.jruby.util.ByteList pattern
         9: .line 936
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 8 /* path */
        start local 8 // org.jruby.util.ByteList path
        10: .line 938
            iload 6 /* extglob */
            ifeq 22
        11: .line 939
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 9 /* spattern */
        start local 9 // java.lang.String spattern
        12: .line 940
            aload 9 /* spattern */
            iload 4 /* flags */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic org.jruby.util.Dir.braces:(Ljava/lang/String;ILjava/util/ArrayList;)Ljava/util/ArrayList;
            astore 10 /* patterns */
        start local 10 // java.util.ArrayList patterns
        13: .line 942
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* matches */
        start local 11 // java.util.ArrayList matches
        14: .line 943
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        15: goto 20
        16: .line 944
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int int int org.jruby.util.ByteList org.jruby.util.ByteList java.lang.String java.util.ArrayList java.util.ArrayList int
      StackMap stack:
            aload 10 /* patterns */
            iload 12 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* p */
        start local 13 // java.lang.String p
        17: .line 945
            new org.jruby.util.ByteList
            dup
            aload 13 /* p */
            invokevirtual java.lang.String.getBytes:()[B
            invokespecial org.jruby.util.ByteList.<init>:([B)V
            aload 8 /* path */
            iload 4 /* flags */
            invokestatic org.jruby.RubyFile.dir_fnmatch:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Z
            istore 14 /* match */
        start local 14 // boolean match
        18: .line 946
            aload 11 /* matches */
            iload 14 /* match */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // boolean match
        end local 13 // java.lang.String p
        19: .line 943
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 12 /* i */
            aload 10 /* patterns */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 16
        end local 12 // int i
        21: .line 948
            aload 11 /* matches */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            istore 5 /* braces_match */
        end local 11 // java.util.ArrayList matches
        end local 10 // java.util.ArrayList patterns
        end local 9 // java.lang.String spattern
        22: .line 951
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int int int org.jruby.util.ByteList org.jruby.util.ByteList
      StackMap stack:
            iload 5 /* braces_match */
            ifne 23
            aload 7 /* pattern */
            aload 8 /* path */
            iload 4 /* flags */
            invokestatic org.jruby.RubyFile.dir_fnmatch:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Z
            ifeq 24
        23: .line 952
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
        24: .line 954
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        end local 8 // org.jruby.util.ByteList path
        end local 7 // org.jruby.util.ByteList pattern
        end local 6 // boolean extglob
        end local 5 // boolean braces_match
        end local 4 // int flags
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0       context  Lorg/jruby/runtime/ThreadContext;
            0   25     1          recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   25     2          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   25     3       runtime  Lorg/jruby/Ruby;
            4   25     4         flags  I
            5   25     5  braces_match  Z
            8   25     6       extglob  Z
            9   25     7       pattern  Lorg/jruby/util/ByteList;
           10   25     8          path  Lorg/jruby/util/ByteList;
           12   22     9      spattern  Ljava/lang/String;
           13   22    10      patterns  Ljava/util/ArrayList<Ljava/lang/String;>;
           14   22    11       matches  Ljava/util/ArrayList<Ljava/lang/Boolean;>;
           15   21    12             i  I
           17   19    13             p  Ljava/lang/String;
           18   19    14         match  Z
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"fnmatch", "fnmatch?"}, required = 2, optional = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  private static boolean dir_fnmatch(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList pattern
        start local 1 // org.jruby.util.ByteList path
        start local 2 // int flags
         0: .line 958
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         1: .line 959
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         2: .line 960
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         3: .line 961
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         4: .line 962
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         5: .line 963
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         6: .line 964
            iload 2 /* flags */
         7: .line 958
            invokestatic org.jruby.util.Dir.fnmatch:([BII[BIII)I
            ifne 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // int flags
        end local 1 // org.jruby.util.ByteList path
        end local 0 // org.jruby.util.ByteList pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  pattern  Lorg/jruby/util/ByteList;
            0    9     1     path  Lorg/jruby/util/ByteList;
            0    9     2    flags  I
    MethodParameters:
         Name  Flags
      pattern  
      path     
      flags    

  public static org.jruby.runtime.builtin.IRubyObject ftype(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 969
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 970
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* path */
        start local 4 // org.jruby.RubyString path
         2: .line 971
            aload 3 /* runtime */
            aload 4 /* path */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            iconst_1
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.ftype:()Lorg/jruby/RubyString;
            areturn
        end local 4 // org.jruby.RubyString path
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4      path  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ftype"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.RubyString join(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/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 976
            aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* args */
            invokestatic org.jruby.RubyFile.doJoin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject lstat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 981
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 982
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 983
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_1
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"lstat"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject stat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 988
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 989
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 990
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"stat"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject atime(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 995
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 996
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 997
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.atime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"atime"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject ctime(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 1002
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1003
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 1004
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.ctime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ctime"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject birthtime(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 1009
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1010
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 1011
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.birthtime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"birthtime"}, required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject lchmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1016
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1018
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 1019
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            astore 5 /* mode */
        start local 5 // org.jruby.RubyInteger mode
         3: .line 1020
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 10
         5: .line 1021
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyInteger int
      StackMap stack:
            aload 2 /* args */
            iload 6 /* i */
            aaload
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            astore 7 /* file */
        start local 7 // org.jruby.util.JRubyFile file
         6: .line 1022
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 7 /* file */
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            aload 5 /* mode */
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            invokeinterface jnr.posix.POSIX.lchmod:(Ljava/lang/String;I)I
            ifeq 8
         7: .line 1023
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1025
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            iinc 4 /* count */ 1
        end local 7 // org.jruby.util.JRubyFile file
         9: .line 1020
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 5
        end local 6 // int i
        11: .line 1029
            aload 3 /* runtime */
            iload 4 /* count */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // org.jruby.RubyInteger mode
        end local 4 // int count
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0  context  Lorg/jruby/runtime/ThreadContext;
            0   12     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   12     3  runtime  Lorg/jruby/Ruby;
            2   12     4    count  I
            3   12     5     mode  Lorg/jruby/RubyInteger;
            4   11     6        i  I
            6    9     7     file  Lorg/jruby/util/JRubyFile;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject lchown(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1034
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1035
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* owner */
        start local 4 // int owner
         4: .line 1036
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 5
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_m1
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* group */
        start local 5 // int group
         7: .line 1037
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         8: .line 1039
            iconst_2
            istore 7 /* i */
        start local 7 // int i
         9: goto 15
        10: .line 1040
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* args */
            iload 7 /* i */
            aaload
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            astore 8 /* file */
        start local 8 // org.jruby.util.JRubyFile file
        11: .line 1042
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 8 /* file */
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            iload 4 /* owner */
            iload 5 /* group */
            invokeinterface jnr.posix.POSIX.lchown:(Ljava/lang/String;II)I
            ifeq 13
        12: .line 1043
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 1045
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            iinc 6 /* count */ 1
        end local 8 // org.jruby.util.JRubyFile file
        14: .line 1039
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 10
        end local 7 // int i
        16: .line 1049
            aload 3 /* runtime */
            iload 6 /* count */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 6 // int count
        end local 5 // int group
        end local 4 // int owner
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0  context  Lorg/jruby/runtime/ThreadContext;
            0   17     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     3  runtime  Lorg/jruby/Ruby;
            4   17     4    owner  I
            7   17     5    group  I
            8   17     6    count  I
            9   16     7        i  I
           11   14     8     file  Lorg/jruby/util/JRubyFile;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject link(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=8, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject from
        start local 3 // org.jruby.runtime.builtin.IRubyObject to
         0: .line 1054
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1055
            aload 2 /* from */
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            astore 5 /* fromStr */
        start local 5 // java.lang.String fromStr
         2: .line 1056
            aload 3 /* to */
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            astore 6 /* toStr */
        start local 6 // java.lang.String toStr
         3: .line 1058
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 5 /* fromStr */
            aload 6 /* toStr */
            invokeinterface jnr.posix.POSIX.link:(Ljava/lang/String;Ljava/lang/String;)I
            istore 7 /* ret */
        start local 7 // int ret
         4: .line 1059
            iload 7 /* ret */
            ifeq 8
         5: .line 1060
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 7
         6: .line 1061
            aload 4 /* runtime */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            ldc "(%s, %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* fromStr */
            aastore
            dup
            iconst_1
            aload 6 /* toStr */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1067
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby java.lang.String java.lang.String int
      StackMap stack:
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 5 /* fromStr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* toStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEEXISTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1070
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            iload 7 /* ret */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 7 // int ret
        end local 6 // java.lang.String toStr
        end local 5 // java.lang.String fromStr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject to
        end local 2 // org.jruby.runtime.builtin.IRubyObject from
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  context  Lorg/jruby/runtime/ThreadContext;
            0    9     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     2     from  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3       to  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     4  runtime  Lorg/jruby/Ruby;
            2    9     5  fromStr  Ljava/lang/String;
            3    9     6    toStr  Ljava/lang/String;
            4    9     7      ret  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      from     
      to       

  public static org.jruby.runtime.builtin.IRubyObject mtime(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 1075
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1076
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 4 /* f */
        start local 4 // java.lang.String f
         2: .line 1077
            aload 3 /* runtime */
            aload 4 /* f */
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            invokevirtual org.jruby.RubyFileStat.mtime:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String f
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4         f  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, meta = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject rename(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=6, locals=16, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject oldName
        start local 3 // org.jruby.runtime.builtin.IRubyObject newName
         0: .line 1082
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1083
            aload 4 /* runtime */
            aload 0 /* context */
            aload 2 /* oldName */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 5 /* oldNameString */
        start local 5 // org.jruby.RubyString oldNameString
         2: .line 1084
            aload 4 /* runtime */
            aload 0 /* context */
            aload 3 /* newName */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* newNameString */
        start local 6 // org.jruby.RubyString newNameString
         3: .line 1086
            aload 6 /* newNameString */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 7 /* newNameJavaString */
        start local 7 // java.lang.String newNameJavaString
         4: .line 1087
            aload 5 /* oldNameString */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 8 /* oldNameJavaString */
        start local 8 // java.lang.String oldNameJavaString
         5: .line 1088
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 8 /* oldNameJavaString */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 9 /* oldFile */
        start local 9 // org.jruby.util.JRubyFile oldFile
         6: .line 1089
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 7 /* newNameJavaString */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 10 /* newFile */
        start local 10 // org.jruby.util.JRubyFile newFile
         7: .line 1091
            aload 1 /* recv */
            aload 5 /* oldNameString */
            invokestatic org.jruby.RubyFileTest.symlink_p:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            invokevirtual org.jruby.RubyBoolean.isTrue:()Z
            istore 11 /* isOldSymlink */
        start local 11 // boolean isOldSymlink
         8: .line 1094
            aload 9 /* oldFile */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 9
            iload 11 /* isOldSymlink */
            ifeq 10
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.RubyString java.lang.String java.lang.String org.jruby.util.JRubyFile org.jruby.util.JRubyFile int
      StackMap stack:
         9: aload 10 /* newFile */
            invokevirtual org.jruby.util.JRubyFile.getParentFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 11
        10: .line 1095
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 8 /* oldNameJavaString */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* newNameJavaString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 1098
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 7 /* newNameJavaString */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 12 /* dest */
        start local 12 // org.jruby.util.JRubyFile dest
        12: .line 1100
            aload 9 /* oldFile */
            aload 12 /* dest */
            invokevirtual org.jruby.util.JRubyFile.renameTo:(Ljava/io/File;)Z
            ifeq 14
        13: .line 1101
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        14: .line 1106
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aload 10 /* newFile */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifeq 17
        15: .line 1107
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 7 /* newNameJavaString */
            sipush 438
            invokeinterface jnr.posix.POSIX.chmod:(Ljava/lang/String;I)I
            pop
        16: .line 1108
            aload 10 /* newFile */
            invokevirtual org.jruby.util.JRubyFile.delete:()Z
            pop
        17: .line 1112
      StackMap locals:
      StackMap stack:
            aload 9 /* oldFile */
            invokevirtual org.jruby.util.JRubyFile.toURI:()Ljava/net/URI;
            invokestatic java.nio.file.Paths.get:(Ljava/net/URI;)Ljava/nio/file/Path;
            astore 13 /* oldPath */
        start local 13 // java.nio.file.Path oldPath
        18: .line 1113
            aload 12 /* dest */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 14 /* destPath */
        start local 14 // java.nio.file.Path destPath
        19: .line 1115
            aload 13 /* oldPath */
            aload 14 /* destPath */
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            aastore
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        20: .line 1116
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
        21: areturn
        22: .line 1117
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.RubyString java.lang.String java.lang.String org.jruby.util.JRubyFile org.jruby.util.JRubyFile int org.jruby.util.JRubyFile java.nio.file.Path java.nio.file.Path
      StackMap stack: java.io.IOException
            astore 15 /* ioe */
        start local 15 // java.io.IOException ioe
        23: .line 1118
            aload 4 /* runtime */
            aload 15 /* ioe */
            invokestatic org.jruby.runtime.Helpers.newIOErrorFromException:(Lorg/jruby/Ruby;Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 15 // java.io.IOException ioe
        end local 14 // java.nio.file.Path destPath
        end local 13 // java.nio.file.Path oldPath
        end local 12 // org.jruby.util.JRubyFile dest
        end local 11 // boolean isOldSymlink
        end local 10 // org.jruby.util.JRubyFile newFile
        end local 9 // org.jruby.util.JRubyFile oldFile
        end local 8 // java.lang.String oldNameJavaString
        end local 7 // java.lang.String newNameJavaString
        end local 6 // org.jruby.RubyString newNameString
        end local 5 // org.jruby.RubyString oldNameString
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject newName
        end local 2 // org.jruby.runtime.builtin.IRubyObject oldName
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   24     0            context  Lorg/jruby/runtime/ThreadContext;
            0   24     1               recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   24     2            oldName  Lorg/jruby/runtime/builtin/IRubyObject;
            0   24     3            newName  Lorg/jruby/runtime/builtin/IRubyObject;
            1   24     4            runtime  Lorg/jruby/Ruby;
            2   24     5      oldNameString  Lorg/jruby/RubyString;
            3   24     6      newNameString  Lorg/jruby/RubyString;
            4   24     7  newNameJavaString  Ljava/lang/String;
            5   24     8  oldNameJavaString  Ljava/lang/String;
            6   24     9            oldFile  Lorg/jruby/util/JRubyFile;
            7   24    10            newFile  Lorg/jruby/util/JRubyFile;
            8   24    11       isOldSymlink  Z
           12   24    12               dest  Lorg/jruby/util/JRubyFile;
           18   24    13            oldPath  Ljava/nio/file/Path;
           19   24    14           destPath  Ljava/nio/file/Path;
           23   24    15                ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          19    21      22  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      oldName  
      newName  

  public static org.jruby.RubyArray split(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/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1124
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1125
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* arg */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* filename */
        start local 4 // org.jruby.RubyString filename
         2: .line 1127
            aload 3 /* runtime */
            aload 0 /* context */
            aload 1 /* recv */
            aload 4 /* filename */
            invokestatic org.jruby.RubyFile.dirname:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* context */
            aload 1 /* recv */
            aload 4 /* filename */
            invokestatic org.jruby.RubyFile.basename:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.RubyString filename
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   context  Lorg/jruby/runtime/ThreadContext;
            0    3     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2       arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   runtime  Lorg/jruby/Ruby;
            2    3     4  filename  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg      

  public static org.jruby.runtime.builtin.IRubyObject symlink(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=8, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject from
        start local 3 // org.jruby.runtime.builtin.IRubyObject to
         0: .line 1132
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1134
            aload 4 /* runtime */
            aload 0 /* context */
            aload 2 /* from */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 5 /* fromStr */
        start local 5 // org.jruby.RubyString fromStr
         2: .line 1135
            aload 4 /* runtime */
            aload 0 /* context */
            aload 3 /* to */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* toStr */
        start local 6 // org.jruby.RubyString toStr
         3: .line 1136
            aload 6 /* toStr */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 7 /* tovalue */
        start local 7 // java.lang.String tovalue
         4: .line 1137
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 7 /* tovalue */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            astore 7 /* tovalue */
         5: .line 1139
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 5 /* fromStr */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            aload 7 /* tovalue */
            invokeinterface jnr.posix.POSIX.symlink:(Ljava/lang/String;Ljava/lang/String;)I
            iconst_m1
            if_icmpne 11
         6: .line 1140
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 8
         7: .line 1141
            aload 4 /* runtime */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            ldc "(%s, %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* fromStr */
            aastore
            dup
            iconst_1
            aload 6 /* toStr */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1143
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.RubyString java.lang.String
      StackMap stack:
            aload 4 /* runtime */
            ldc "(%s, %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* fromStr */
            aastore
            dup
            iconst_1
            aload 6 /* toStr */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEEXISTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 1146
      StackMap locals:
      StackMap stack: java.lang.UnsatisfiedLinkError
            pop
        10: .line 1147
            aload 4 /* runtime */
            ldc "symlink() function is unimplemented on this machine"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 1150
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 7 // java.lang.String tovalue
        end local 6 // org.jruby.RubyString toStr
        end local 5 // org.jruby.RubyString fromStr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject to
        end local 2 // org.jruby.runtime.builtin.IRubyObject from
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0  context  Lorg/jruby/runtime/ThreadContext;
            0   12     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     2     from  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     3       to  Lorg/jruby/runtime/builtin/IRubyObject;
            1   12     4  runtime  Lorg/jruby/Ruby;
            2   12     5  fromStr  Lorg/jruby/RubyString;
            3   12     6    toStr  Lorg/jruby/RubyString;
            4   12     7  tovalue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     9       9  Class java.lang.UnsatisfiedLinkError
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      from     
      to       

  public static org.jruby.runtime.builtin.IRubyObject readlink(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 1155
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1157
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 3
         2: .line 1160
            aload 3 /* runtime */
            ldc "readlink"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1163
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.file:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
            astore 4 /* link */
        start local 4 // org.jruby.util.JRubyFile link
         4: .line 1166
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 4 /* link */
            invokevirtual org.jruby.util.JRubyFile.toString:()Ljava/lang/String;
            invokeinterface jnr.posix.POSIX.readlink:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* realPath */
        start local 5 // java.lang.String realPath
         5: .line 1168
            aload 5 /* realPath */
            ifnonnull 7
         6: .line 1169
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1172
      StackMap locals: org.jruby.util.JRubyFile java.lang.String
      StackMap stack:
            aload 3 /* runtime */
            aload 5 /* realPath */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
         8: areturn
        end local 5 // java.lang.String realPath
         9: .line 1173
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.util.JRubyFile
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        10: .line 1174
            aload 3 /* runtime */
            aload 5 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // java.io.IOException e
        end local 4 // org.jruby.util.JRubyFile link
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0   context  Lorg/jruby/runtime/ThreadContext;
            0   11     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     2      path  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3   runtime  Lorg/jruby/Ruby;
            4   11     4      link  Lorg/jruby/util/JRubyFile;
            5    9     5  realPath  Ljava/lang/String;
           10   11     5         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     8       9  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     

  public static org.jruby.runtime.builtin.IRubyObject truncate(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=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1180
            aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* arg1 */
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyFile.truncate19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg1     
      arg2     

  public static org.jruby.runtime.builtin.IRubyObject truncate19(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=4, locals=5, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1185
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* path */
        start local 4 // org.jruby.RubyString path
         1: .line 1186
            aload 0 /* context */
            aload 1 /* recv */
            aload 4 /* path */
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyFile.truncateCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyString path
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     4     path  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"truncate"}, required = 2, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg1     
      arg2     

  public static org.jruby.runtime.builtin.IRubyObject umask(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=2, locals=6, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1191
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1193
            aload 2 /* args */
            arraylength
            ifne 4
         2: .line 1194
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokestatic org.jruby.util.io.PosixShim.umask:(Ljnr/posix/POSIX;)I
            istore 4 /* oldMask */
        start local 4 // int oldMask
         3: .line 1195
            goto 9
        end local 4 // int oldMask
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         4: aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 8
         5: .line 1196
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 5 /* newMask */
        start local 5 // int newMask
         6: .line 1197
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 5 /* newMask */
            invokestatic org.jruby.util.io.PosixShim.umask:(Ljnr/posix/POSIX;I)I
            istore 4 /* oldMask */
        end local 5 // int newMask
        start local 4 // int oldMask
         7: .line 1198
            goto 9
        end local 4 // int oldMask
         8: .line 1199
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            ldc "wrong number of arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 4 // int oldMask
         9: .line 1202
      StackMap locals: int
      StackMap stack:
            aload 3 /* runtime */
            iload 4 /* oldMask */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // int oldMask
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  context  Lorg/jruby/runtime/ThreadContext;
            0   10     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   10     3  runtime  Lorg/jruby/Ruby;
            3    4     4  oldMask  I
            7    8     4  oldMask  I
            9   10     4  oldMask  I
            6    7     5  newMask  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject lutime(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1207
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1208
            aconst_null
            astore 4 /* atimeval */
        start local 4 // long[] atimeval
         2: .line 1209
            aconst_null
            astore 5 /* mtimeval */
        start local 5 // long[] mtimeval
         3: .line 1211
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 2 /* args */
            iconst_1
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 6
         4: .line 1212
      StackMap locals: org.jruby.Ruby long[] long[]
      StackMap stack:
            aload 0 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyFile.extractTimespec:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)[J
            astore 4 /* atimeval */
         5: .line 1213
            aload 0 /* context */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyFile.extractTimespec:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)[J
            astore 5 /* mtimeval */
         6: .line 1216
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* i */
        start local 6 // int i
         7: aload 2 /* args */
            arraylength
            istore 7 /* j */
        start local 7 // int j
         8: goto 17
         9: .line 1217
      StackMap locals: int int
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* args */
            iload 6 /* i */
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 8 /* filename */
        start local 8 // org.jruby.RubyString filename
        10: .line 1219
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 8 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 9 /* fileToTouch */
        start local 9 // org.jruby.util.JRubyFile fileToTouch
        11: .line 1221
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 1222
            aload 3 /* runtime */
            aload 8 /* filename */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 1225
      StackMap locals: org.jruby.RubyString org.jruby.util.JRubyFile
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            aload 4 /* atimeval */
            aload 5 /* mtimeval */
            invokeinterface jnr.posix.POSIX.lutimes:(Ljava/lang/String;[J[J)I
            istore 10 /* result */
        start local 10 // int result
        14: .line 1226
            iload 10 /* result */
            iconst_m1
            if_icmpne 16
        15: .line 1227
            aload 3 /* runtime */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(I)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 10 // int result
        end local 9 // org.jruby.util.JRubyFile fileToTouch
        end local 8 // org.jruby.RubyString filename
        16: .line 1216
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 7 /* j */
            if_icmplt 9
        end local 7 // int j
        end local 6 // int i
        18: .line 1231
            aload 3 /* runtime */
            aload 2 /* args */
            arraylength
            iconst_2
            isub
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // long[] mtimeval
        end local 4 // long[] atimeval
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0      context  Lorg/jruby/runtime/ThreadContext;
            0   19     1         recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   19     2         args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   19     3      runtime  Lorg/jruby/Ruby;
            2   19     4     atimeval  [J
            3   19     5     mtimeval  [J
            7   18     6            i  I
            8   18     7            j  I
           10   16     8     filename  Lorg/jruby/RubyString;
           11   16     9  fileToTouch  Lorg/jruby/util/JRubyFile;
           14   16    10       result  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject utime(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=6, locals=13, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1236
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1237
            aconst_null
            astore 4 /* atimespec */
        start local 4 // long[] atimespec
         2: .line 1238
            aconst_null
            astore 5 /* mtimespec */
        start local 5 // long[] mtimespec
         3: .line 1240
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 2 /* args */
            iconst_1
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 6
         4: .line 1241
      StackMap locals: org.jruby.Ruby long[] long[]
      StackMap stack:
            aload 0 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyFile.extractTimespec:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)[J
            astore 4 /* atimespec */
         5: .line 1242
            aload 0 /* context */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyFile.extractTimespec:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)[J
            astore 5 /* mtimespec */
         6: .line 1245
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* i */
        start local 6 // int i
         7: aload 2 /* args */
            arraylength
            istore 7 /* j */
        start local 7 // int j
         8: goto 23
         9: .line 1246
      StackMap locals: int int
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* args */
            iload 6 /* i */
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 8 /* filename */
        start local 8 // org.jruby.RubyString filename
        10: .line 1248
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 8 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 9 /* fileToTouch */
        start local 9 // org.jruby.util.JRubyFile fileToTouch
        11: .line 1250
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 1251
            aload 3 /* runtime */
            aload 8 /* filename */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 1257
      StackMap locals: org.jruby.RubyString org.jruby.util.JRubyFile
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iconst_0
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            aload 4 /* atimespec */
            aload 5 /* mtimespec */
            iconst_0
            invokeinterface jnr.posix.POSIX.utimensat:(ILjava/lang/String;[J[JI)I
            istore 10 /* result */
        start local 10 // int result
        14: .line 1258
            goto 20
        end local 10 // int result
      StackMap locals:
      StackMap stack: org.jruby.exceptions.NotImplementedError
        15: pop
        16: .line 1260
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            aload 4 /* atimespec */
            aload 5 /* mtimespec */
            invokeinterface jnr.posix.POSIX.utimes:(Ljava/lang/String;[J[J)I
            istore 10 /* result */
        start local 10 // int result
        17: .line 1261
            aload 4 /* atimespec */
            invokestatic org.jruby.RubyFile.convertTimespecToTimeval:([J)[J
            astore 11 /* atimeval */
        start local 11 // long[] atimeval
        18: .line 1262
            aload 5 /* mtimespec */
            invokestatic org.jruby.RubyFile.convertTimespecToTimeval:([J)[J
            astore 12 /* mtimeval */
        start local 12 // long[] mtimeval
        19: .line 1263
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            aload 11 /* atimeval */
            aload 12 /* mtimeval */
            invokeinterface jnr.posix.POSIX.utimes:(Ljava/lang/String;[J[J)I
            istore 10 /* result */
        end local 12 // long[] mtimeval
        end local 11 // long[] atimeval
        20: .line 1266
      StackMap locals: int
      StackMap stack:
            iload 10 /* result */
            iconst_m1
            if_icmpne 22
        21: .line 1267
            aload 3 /* runtime */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(I)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 10 // int result
        end local 9 // org.jruby.util.JRubyFile fileToTouch
        end local 8 // org.jruby.RubyString filename
        22: .line 1245
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 7 /* j */
            if_icmplt 9
        end local 7 // int j
        end local 6 // int i
        24: .line 1271
            aload 3 /* runtime */
            aload 2 /* args */
            arraylength
            iconst_2
            isub
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // long[] mtimespec
        end local 4 // long[] atimespec
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0      context  Lorg/jruby/runtime/ThreadContext;
            0   25     1         recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   25     2         args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   25     3      runtime  Lorg/jruby/Ruby;
            2   25     4    atimespec  [J
            3   25     5    mtimespec  [J
            7   24     6            i  I
            8   24     7            j  I
           10   22     8     filename  Lorg/jruby/RubyString;
           11   22     9  fileToTouch  Lorg/jruby/util/JRubyFile;
           14   15    10       result  I
           17   22    10       result  I
           18   20    11     atimeval  [J
           19   20    12     mtimeval  [J
      Exception table:
        from    to  target  type
          13    14      15  Class org.jruby.exceptions.NotImplementedError
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 2, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1276
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1278
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 12
         3: .line 1279
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 5 /* filename */
        start local 5 // org.jruby.RubyString filename
         4: .line 1280
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 5 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 6 /* file */
        start local 6 // org.jruby.util.JRubyFile file
         5: .line 1284
            aload 6 /* file */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 7
            aload 0 /* context */
            aload 6 /* file */
            invokestatic org.jruby.RubyFile.isSymlink:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/JRubyFile;)Z
            ifne 7
         6: .line 1285
            aload 3 /* runtime */
            aload 5 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1288
      StackMap locals: org.jruby.RubyString org.jruby.util.JRubyFile
      StackMap stack:
            aload 6 /* file */
            invokevirtual org.jruby.util.JRubyFile.isDirectory:()Z
            ifeq 9
            aload 0 /* context */
            aload 6 /* file */
            invokestatic org.jruby.RubyFile.isSymlink:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/JRubyFile;)Z
            ifne 9
         8: .line 1289
            aload 3 /* runtime */
            aload 5 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEISDirError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 1292
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            invokevirtual org.jruby.util.JRubyFile.delete:()Z
            ifne 11
        10: .line 1293
            aload 3 /* runtime */
            aload 5 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEACCESError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // org.jruby.util.JRubyFile file
        end local 5 // org.jruby.RubyString filename
        11: .line 1278
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
        13: .line 1297
            aload 3 /* runtime */
            aload 2 /* args */
            arraylength
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0   context  Lorg/jruby/runtime/ThreadContext;
            0   14     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   14     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3   runtime  Lorg/jruby/Ruby;
            2   13     4         i  I
            4   11     5  filename  Lorg/jruby/RubyString;
            5   11     6      file  Lorg/jruby/util/JRubyFile;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  private static boolean isSymlink(org.jruby.runtime.ThreadContext, org.jruby.util.JRubyFile);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/JRubyFile;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.JRubyFile file
         0: .line 1301
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 1 /* file */
            invokestatic org.jruby.util.FileResource.wrap:(Ljnr/posix/POSIX;Lorg/jruby/util/JRubyFile;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.isSymLink:()Z
            ireturn
        end local 1 // org.jruby.util.JRubyFile file
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     file  Lorg/jruby/util/JRubyFile;
    MethodParameters:
         Name  Flags
      context  
      file     

  public static org.jruby.runtime.builtin.IRubyObject unlink(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1306
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1307
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 4 /* posix */
        start local 4 // jnr.posix.POSIX posix
         2: .line 1309
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 3
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 4
      StackMap locals: org.jruby.Ruby jnr.posix.POSIX
      StackMap stack:
         3: aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* args */
            invokestatic org.jruby.RubyFile.delete:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 1311
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 16
         6: .line 1312
      StackMap locals: int
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* context */
            aload 2 /* args */
            iload 5 /* i */
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* filename */
        start local 6 // org.jruby.RubyString filename
         7: .line 1313
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 6 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 7 /* lToDelete */
        start local 7 // org.jruby.util.JRubyFile lToDelete
         8: .line 1315
            aload 1 /* recv */
            aload 6 /* filename */
            invokestatic org.jruby.RubyFileTest.symlink_p:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            invokevirtual org.jruby.RubyBoolean.isTrue:()Z
            istore 8 /* isSymlink */
        start local 8 // boolean isSymlink
         9: .line 1318
            aload 7 /* lToDelete */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 11
            iload 8 /* isSymlink */
            ifne 11
        10: .line 1319
            aload 3 /* runtime */
            aload 6 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 1322
      StackMap locals: org.jruby.RubyString org.jruby.util.JRubyFile int
      StackMap stack:
            aload 7 /* lToDelete */
            invokevirtual org.jruby.util.JRubyFile.isDirectory:()Z
            ifeq 13
            iload 8 /* isSymlink */
            ifne 13
        12: .line 1323
            aload 3 /* runtime */
            aload 6 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoEPERMError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 1326
      StackMap locals:
      StackMap stack:
            aload 4 /* posix */
            aload 7 /* lToDelete */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            invokeinterface jnr.posix.POSIX.unlink:(Ljava/lang/CharSequence;)I
            ifge 15
        14: .line 1327
            aload 3 /* runtime */
            aload 4 /* posix */
            invokeinterface jnr.posix.POSIX.errno:()I
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(I)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 8 // boolean isSymlink
        end local 7 // org.jruby.util.JRubyFile lToDelete
        end local 6 // org.jruby.RubyString filename
        15: .line 1311
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 6
        end local 5 // int i
        17: .line 1331
            aload 3 /* runtime */
            aload 2 /* args */
            arraylength
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // jnr.posix.POSIX posix
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0    context  Lorg/jruby/runtime/ThreadContext;
            0   18     1       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   18     3    runtime  Lorg/jruby/Ruby;
            2   18     4      posix  Ljnr/posix/POSIX;
            5   17     5          i  I
            7   15     6   filename  Lorg/jruby/RubyString;
            8   15     7  lToDelete  Lorg/jruby/util/JRubyFile;
            9   15     8  isSymlink  Z
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  public static org.jruby.runtime.builtin.IRubyObject unlink(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: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1335
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            aload 1 /* args */
            invokestatic org.jruby.RubyFile.unlink:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject size(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.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1341
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.getSize:(Lorg/jruby/runtime/ThreadContext;)J
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyFile;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  final long getSize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)J
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1345
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 2 /* fptr */
        start local 2 // org.jruby.util.io.OpenFile fptr
         1: .line 1347
            aload 2 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getMode:()I
            iconst_2
            iand
            ifeq 3
         2: .line 1348
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokevirtual org.jruby.RubyFile.flushRaw:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyIO;
            pop
         3: .line 1351
      StackMap locals: org.jruby.util.io.OpenFile
      StackMap stack:
            aload 2 /* fptr */
            getfield org.jruby.util.io.OpenFile.posix:Lorg/jruby/util/io/PosixShim;
            aload 2 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.fd:()Lorg/jruby/util/io/ChannelFD;
            invokevirtual org.jruby.util.io.PosixShim.size:(Lorg/jruby/util/io/ChannelFD;)J
            lreturn
        end local 2 // org.jruby.util.io.OpenFile fptr
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyFile;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            1    4     2     fptr  Lorg/jruby/util/io/OpenFile;
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.runtime.builtin.IRubyObject mkfifo(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 1356
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "mkfifo"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1358
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 0 /* context */
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            sipush 438
            invokestatic org.jruby.RubyFile.mkfifo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     

  public static org.jruby.runtime.builtin.IRubyObject mkfifo(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=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
        start local 3 // org.jruby.runtime.builtin.IRubyObject mode
         0: .line 1363
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "mkfifo"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1365
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 0 /* context */
            aload 2 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            aload 3 /* mode */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokestatic org.jruby.RubyFile.mkfifo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject mode
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2     path  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     mode  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      path     
      mode     

  public static org.jruby.runtime.builtin.IRubyObject mkfifo(org.jruby.runtime.ThreadContext, org.jruby.RubyString, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString path
        start local 2 // int mode
         0: .line 1369
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1370
            aload 3 /* runtime */
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.absolutePath:()Ljava/lang/String;
            astore 4 /* decodedPath */
        start local 4 // java.lang.String decodedPath
         2: .line 1372
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 4 /* decodedPath */
            iload 2 /* mode */
            invokeinterface jnr.posix.POSIX.mkfifo:(Ljava/lang/String;I)I
            ifeq 4
         3: .line 1373
            aload 3 /* runtime */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            aload 4 /* decodedPath */
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1375
      StackMap locals: org.jruby.Ruby java.lang.String
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // java.lang.String decodedPath
        end local 3 // org.jruby.Ruby runtime
        end local 2 // int mode
        end local 1 // org.jruby.RubyString path
        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         path  Lorg/jruby/RubyString;
            0    5     2         mode  I
            1    5     3      runtime  Lorg/jruby/Ruby;
            2    5     4  decodedPath  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      path     
      mode     

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyFile this
         0: .line 1379
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyFile;

  private void setPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // java.lang.String path
         0: .line 1384
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnonnull 1
            return
         1: .line 1385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            aload 1 /* path */
            invokevirtual org.jruby.util.io.OpenFile.setPath:(Ljava/lang/String;)V
         2: .line 1386
            return
        end local 1 // java.lang.String path
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyFile;
            0    3     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public org.jcodings.Encoding getEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyFile this
         0: .line 1390
            aconst_null
            areturn
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyFile;

  public void setEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 1396
            return
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/RubyFile;
            0    1     1  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  protected org.jruby.runtime.builtin.IRubyObject openFile(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: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1400
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1401
            aload 3 /* runtime */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* filename */
        start local 4 // org.jruby.RubyString filename
         2: .line 1403
            aload 0 /* this */
            aload 3 /* runtime */
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.jruby.RubyFile.setPath:(Ljava/lang/String;)V
         3: .line 1405
            aconst_null
            aconst_null
            invokestatic org.jruby.util.io.EncodingUtils.vmodeVperm:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            astore 5 /* pm */
        start local 5 // java.lang.Object pm
         4: .line 1406
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* options */
        start local 6 // org.jruby.runtime.builtin.IRubyObject options
         5: .line 1408
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 4
                    1: 6
                    2: 7
                    3: 13
                    4: 20
              default: 26
          }
         6: .line 1410
      StackMap locals: org.jruby.RubyFile org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString java.lang.Object org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            goto 26
         7: .line 1412
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* test */
        start local 7 // org.jruby.runtime.builtin.IRubyObject test
         8: .line 1413
            aload 7 /* test */
            instanceof org.jruby.RubyHash
            ifeq 11
         9: .line 1414
            aload 7 /* test */
            astore 6 /* options */
        10: .line 1415
            goto 26
        11: .line 1416
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* pm */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        12: .line 1418
            goto 26
        end local 7 // org.jruby.runtime.builtin.IRubyObject test
        13: .line 1421
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* test */
        start local 7 // org.jruby.runtime.builtin.IRubyObject test
        14: .line 1422
            aload 7 /* test */
            instanceof org.jruby.RubyHash
            ifeq 17
        15: .line 1423
            aload 7 /* test */
            astore 6 /* options */
        16: .line 1424
            goto 18
        17: .line 1425
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* pm */
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        18: .line 1427
      StackMap locals:
      StackMap stack:
            aload 5 /* pm */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        19: .line 1428
            goto 26
        end local 7 // org.jruby.runtime.builtin.IRubyObject test
        20: .line 1431
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_3
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 24
        21: .line 1432
            aload 1 /* context */
            aload 2 /* args */
            iconst_3
            aaload
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            aload 1 /* context */
            invokestatic org.jruby.RubyFile.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$FileSites;
            getfield org.jruby.runtime.JavaSites$FileSites.to_hash_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* options */
        22: .line 1433
            aload 6 /* options */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 24
        23: .line 1434
            aload 3 /* runtime */
            iconst_4
            iconst_1
            iconst_3
            invokevirtual org.jruby.Ruby.newArgumentError:(III)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 1437
      StackMap locals:
      StackMap stack:
            aload 5 /* pm */
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        25: .line 1438
            aload 5 /* pm */
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        26: .line 1442
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 10
            astore 7 /* oflags_p */
        start local 7 // int[] oflags_p
        27: iconst_1
            newarray 10
            astore 8 /* fmode_p */
        start local 8 // int[] fmode_p
        28: .line 1443
            new org.jruby.util.io.IOEncodable$ConvConfig
            dup
            invokespecial org.jruby.util.io.IOEncodable$ConvConfig.<init>:()V
            astore 9 /* convconfig */
        start local 9 // org.jruby.util.io.IOEncodable convconfig
        29: .line 1444
            aload 1 /* context */
            aload 9 /* convconfig */
            aload 5 /* pm */
            aload 6 /* options */
            aload 7 /* oflags_p */
            aload 8 /* fmode_p */
            invokestatic org.jruby.util.io.EncodingUtils.extractModeEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;[I[I)V
        30: .line 1445
            aload 5 /* pm */
            invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 32
            aload 5 /* pm */
            invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 32
        31: .line 1446
            aload 5 /* pm */
            invokestatic org.jruby.util.io.EncodingUtils.vperm:(Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            goto 33
      StackMap locals: int[] int[] org.jruby.util.io.IOEncodable
      StackMap stack:
        32: sipush 438
        33: .line 1445
      StackMap locals:
      StackMap stack: int
            istore 10 /* perm */
        start local 10 // int perm
        34: .line 1448
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* filename */
            aload 7 /* oflags_p */
            iconst_0
            iaload
            aload 8 /* fmode_p */
            iconst_0
            iaload
            aload 9 /* convconfig */
            iload 10 /* perm */
            invokevirtual org.jruby.RubyFile.fileOpenGeneric:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/util/io/IOEncodable;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 10 // int perm
        end local 9 // org.jruby.util.io.IOEncodable convconfig
        end local 8 // int[] fmode_p
        end local 7 // int[] oflags_p
        end local 6 // org.jruby.runtime.builtin.IRubyObject options
        end local 5 // java.lang.Object pm
        end local 4 // org.jruby.RubyString filename
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lorg/jruby/RubyFile;
            0   35     1     context  Lorg/jruby/runtime/ThreadContext;
            0   35     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   35     3     runtime  Lorg/jruby/Ruby;
            2   35     4    filename  Lorg/jruby/RubyString;
            4   35     5          pm  Ljava/lang/Object;
            5   35     6     options  Lorg/jruby/runtime/builtin/IRubyObject;
            8   13     7        test  Lorg/jruby/runtime/builtin/IRubyObject;
           14   20     7        test  Lorg/jruby/runtime/builtin/IRubyObject;
           27   35     7    oflags_p  [I
           28   35     8     fmode_p  [I
           29   35     9  convconfig  Lorg/jruby/util/io/IOEncodable;
           34   35    10        perm  I
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject fileOpenGeneric(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, int, int, org.jruby.util.io.IOEncodable, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/util/io/IOEncodable;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename
        start local 3 // int oflags
        start local 4 // int fmode
        start local 5 // org.jruby.util.io.IOEncodable convConfig
        start local 6 // int perm
         0: .line 1453
            aload 5 /* convConfig */
            ifnonnull 5
         1: .line 1454
            new org.jruby.util.io.IOEncodable$ConvConfig
            dup
            invokespecial org.jruby.util.io.IOEncodable$ConvConfig.<init>:()V
            astore 5 /* convConfig */
         2: .line 1455
            aload 1 /* context */
            aload 5 /* convConfig */
            aconst_null
            aconst_null
            iload 4 /* fmode */
            invokestatic org.jruby.util.io.EncodingUtils.ioExtIntToEncs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;I)V
         3: .line 1456
            aload 5 /* convConfig */
            iconst_0
            invokeinterface org.jruby.util.io.IOEncodable.setEcflags:(I)V
         4: .line 1457
            aload 5 /* convConfig */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.util.io.IOEncodable.setEcopts:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         5: .line 1460
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 4 /* fmode */
            iastore
            astore 7 /* fmode_p */
        start local 7 // int[] fmode_p
         6: .line 1462
            aload 1 /* context */
            aload 7 /* fmode_p */
            aload 5 /* convConfig */
            invokeinterface org.jruby.util.io.IOEncodable.getEcflags:()I
            aload 5 /* convConfig */
            invokestatic org.jruby.util.io.EncodingUtils.validateEncodingBinmode:(Lorg/jruby/runtime/ThreadContext;[IILorg/jruby/util/io/IOEncodable;)V
         7: .line 1464
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
            astore 8 /* fptr */
        start local 8 // org.jruby.util.io.OpenFile fptr
         8: .line 1466
            aload 8 /* fptr */
            aload 7 /* fmode_p */
            iconst_0
            iaload
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
         9: .line 1467
            aload 8 /* fptr */
            getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
            aload 5 /* convConfig */
            invokevirtual org.jruby.util.io.IOEncodable$ConvConfig.copy:(Lorg/jruby/util/io/IOEncodable;)V
        10: .line 1468
            aload 8 /* fptr */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
        11: .line 1469
            aload 1 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
        12: .line 1468
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.jruby.util.io.OpenFile.setPath:(Ljava/lang/String;)V
        13: .line 1471
            aload 8 /* fptr */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 8 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            iload 3 /* oflags */
            iload 6 /* perm */
            invokestatic org.jruby.RubyFile.sysopen:(Lorg/jruby/Ruby;Ljava/lang/String;II)Lorg/jruby/util/io/ChannelFD;
            invokevirtual org.jruby.util.io.OpenFile.setFD:(Lorg/jruby/util/io/ChannelFD;)V
        14: .line 1472
            aload 8 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.checkTTY:()V
        15: .line 1473
            aload 7 /* fmode_p */
            iconst_0
            iaload
            ldc 1048576
            iand
            ifeq 17
        16: .line 1474
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.ioSetEncodingByBOM:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)V
        17: .line 1477
      StackMap locals: int[] org.jruby.util.io.OpenFile
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 8 // org.jruby.util.io.OpenFile fptr
        end local 7 // int[] fmode_p
        end local 6 // int perm
        end local 5 // org.jruby.util.io.IOEncodable convConfig
        end local 4 // int fmode
        end local 3 // int oflags
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/jruby/RubyFile;
            0   18     1     context  Lorg/jruby/runtime/ThreadContext;
            0   18     2    filename  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     3      oflags  I
            0   18     4       fmode  I
            0   18     5  convConfig  Lorg/jruby/util/io/IOEncodable;
            0   18     6        perm  I
            6   18     7     fmode_p  [I
            8   18     8        fptr  Lorg/jruby/util/io/OpenFile;
    MethodParameters:
            Name  Flags
      context     
      filename    
      oflags      
      fmode       
      convConfig  
      perm        

  public static org.jruby.RubyString get_path(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 1482
            aload 1 /* path */
            instanceof org.jruby.RubyString
            ifeq 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* path */
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
         1: .line 1484
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokestatic org.jruby.RubyFile.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$FileSites;
            astore 2 /* sites */
        start local 2 // org.jruby.runtime.JavaSites$FileSites sites
         2: .line 1485
            aload 2 /* sites */
            getfield org.jruby.runtime.JavaSites$FileSites.respond_to_to_path:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 0 /* context */
            aload 1 /* path */
            aload 1 /* path */
            iconst_1
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Z
            ifeq 3
            aload 2 /* sites */
            getfield org.jruby.runtime.JavaSites$FileSites.to_path:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 1 /* path */
            aload 1 /* path */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* path */
         3: .line 1487
      StackMap locals: org.jruby.runtime.JavaSites$FileSites
      StackMap stack:
            aload 0 /* context */
            aload 1 /* path */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokestatic org.jruby.RubyFile.filePathConvert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.JavaSites$FileSites sites
        end local 1 // org.jruby.runtime.builtin.IRubyObject path
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1     path  Lorg/jruby/runtime/builtin/IRubyObject;
            2    4     2    sites  Lorg/jruby/runtime/JavaSites$FileSites;
    MethodParameters:
         Name  Flags
      context  
      path     

  private static org.jruby.RubyString filePathConvert(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString path
         0: .line 1493
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.convertToString:()Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
         1: .line 1495
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 11
         2: .line 1496
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         3: .line 1497
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            astore 3 /* encodingService */
        start local 3 // org.jruby.runtime.encoding.EncodingService encodingService
         4: .line 1498
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* pathEncoding */
        start local 4 // org.jcodings.Encoding pathEncoding
         5: .line 1501
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            ifnull 11
         6: .line 1502
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getUSAsciiEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         7: .line 1503
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getAscii8bitEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         8: .line 1504
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         9: .line 1505
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.isAsciiOnly:()Z
            ifne 11
        10: .line 1506
            aload 0 /* context */
            aload 1 /* path */
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.io.EncodingUtils.strConvEnc:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 1 /* path */
        end local 4 // org.jcodings.Encoding pathEncoding
        end local 3 // org.jruby.runtime.encoding.EncodingService encodingService
        end local 2 // org.jruby.Ruby runtime
        11: .line 1510
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
        end local 1 // org.jruby.RubyString path
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0          context  Lorg/jruby/runtime/ThreadContext;
            0   12     1             path  Lorg/jruby/RubyString;
            3   11     2          runtime  Lorg/jruby/Ruby;
            4   11     3  encodingService  Lorg/jruby/runtime/encoding/EncodingService;
            5   11     4     pathEncoding  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      path     

  public static org.jruby.util.FileResource fileResource(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject pathOrFile
         0: .line 1515
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1517
            aload 1 /* pathOrFile */
            instanceof org.jruby.RubyFile
            ifeq 3
         2: .line 1518
            aload 2 /* runtime */
            aload 1 /* pathOrFile */
            checkcast org.jruby.RubyFile
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            areturn
         3: .line 1519
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* pathOrFile */
            instanceof org.jruby.RubyIO
            ifeq 5
         4: .line 1520
            aload 2 /* runtime */
            aload 1 /* pathOrFile */
            checkcast org.jruby.RubyIO
            getfield org.jruby.RubyIO.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            areturn
         5: .line 1524
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* context */
            aload 1 /* pathOrFile */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 3 /* path */
        start local 3 // org.jruby.RubyString path
         6: .line 1525
            aload 2 /* runtime */
            aload 3 /* path */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            areturn
        end local 3 // org.jruby.RubyString path
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject pathOrFile
        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  pathOrFile  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     2     runtime  Lorg/jruby/Ruby;
            6    7     3        path  Lorg/jruby/RubyString;
    MethodParameters:
            Name  Flags
      context     
      pathOrFile  

  public static org.jruby.util.FileResource fileResource(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject pathOrFile
         0: .line 1533
            aload 0 /* pathOrFile */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 1535
            aload 0 /* pathOrFile */
            instanceof org.jruby.RubyIO
            ifeq 3
         2: .line 1536
            aload 1 /* runtime */
            aload 0 /* pathOrFile */
            checkcast org.jruby.RubyIO
            invokevirtual org.jruby.RubyIO.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            areturn
         3: .line 1539
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 2 /* context */
        start local 2 // org.jruby.runtime.ThreadContext context
         4: .line 1540
            aload 1 /* runtime */
            aload 2 /* context */
            aload 0 /* pathOrFile */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 3 /* path */
        start local 3 // org.jruby.RubyString path
         5: .line 1541
            aload 1 /* runtime */
            aload 3 /* path */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            areturn
        end local 3 // org.jruby.RubyString path
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.builtin.IRubyObject pathOrFile
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  pathOrFile  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     1     runtime  Lorg/jruby/Ruby;
            4    6     2     context  Lorg/jruby/runtime/ThreadContext;
            5    6     3        path  Lorg/jruby/RubyString;
    MethodParameters:
            Name  Flags
      pathOrFile  

  public static org.jruby.util.JRubyFile file(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/JRubyFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject pathOrFile
         0: .line 1546
            aload 0 /* pathOrFile */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            ldc Lorg/jruby/util/JRubyFile;
            invokeinterface org.jruby.util.FileResource.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jruby.util.JRubyFile
            areturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject pathOrFile
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  pathOrFile  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      pathOrFile  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyFile this
         0: .line 1551
            new java.lang.StringBuilder
            dup
            ldc "RubyFile("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getMode:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyFile;

  private static java.util.zip.ZipEntry getFileEntry(java.util.zip.ZipFile, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/zip/ZipFile;Ljava/lang/String;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.zip.ZipFile jar
        start local 1 // java.lang.String path
        start local 2 // java.lang.String prefixForNoEntry
         0: .line 1555
            aload 0 /* jar */
            aload 1 /* path */
            invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
        start local 3 // java.util.zip.ZipEntry entry
         1: .line 1556
            aload 3 /* entry */
            ifnonnull 4
         2: .line 1558
            new java.io.File
            dup
            aload 1 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            aload 2 /* prefixForNoEntry */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* path */
         3: .line 1559
            aload 0 /* jar */
            aload 1 /* path */
            ldc "\\\\"
            ldc "/"
            invokestatic org.jruby.util.StringSupport.replaceAll:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
         4: .line 1561
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 3 /* entry */
            areturn
        end local 3 // java.util.zip.ZipEntry entry
        end local 2 // java.lang.String prefixForNoEntry
        end local 1 // java.lang.String path
        end local 0 // java.util.zip.ZipFile jar
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0               jar  Ljava/util/zip/ZipFile;
            0    5     1              path  Ljava/lang/String;
            0    5     2  prefixForNoEntry  Ljava/lang/String;
            1    5     3             entry  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      jar               
      path              
      prefixForNoEntry  final

  public static java.util.zip.ZipEntry getDirOrFileEntry(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String jar
        start local 1 // java.lang.String path
         0: .line 1566
            new java.util.jar.JarFile
            dup
            aload 0 /* jar */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.getDirOrFileEntry:(Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            areturn
        end local 1 // java.lang.String path
        end local 0 // java.lang.String jar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   jar  Ljava/lang/String;
            0    1     1  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      jar   
      path  

  public static java.util.zip.ZipEntry getDirOrFileEntry(java.util.zip.ZipFile, java.lang.String);
    descriptor: (Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.util.zip.ZipFile jar
        start local 1 // java.lang.String path
         0: .line 1571
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* dirPath */
        start local 2 // java.lang.String dirPath
         1: .line 1572
            aload 0 /* jar */
            aload 2 /* dirPath */
            invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
        start local 3 // java.util.zip.ZipEntry entry
         2: .line 1573
            aload 3 /* entry */
            ifnonnull 16
         3: .line 1574
            aload 2 /* dirPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 5
         4: .line 1575
            new java.util.zip.ZipEntry
            dup
            aload 2 /* dirPath */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            areturn
         5: .line 1578
      StackMap locals: java.lang.String java.util.zip.ZipEntry
      StackMap stack:
            new java.io.File
            dup
            ldc "."
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
         6: .line 1579
            aload 0 /* jar */
            new java.io.File
            dup
            aload 2 /* dirPath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            aload 4 /* prefix */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "\\\\"
            ldc "/"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
         7: .line 1582
            aload 3 /* entry */
            ifnonnull 14
         8: .line 1583
            aload 0 /* jar */
            invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
            astore 5 /* entries */
        start local 5 // java.util.Enumeration entries
         9: .line 1584
            goto 13
        10: .line 1585
      StackMap locals: java.lang.String java.util.Enumeration
      StackMap stack:
            aload 5 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 6 /* zipEntry */
        start local 6 // java.lang.String zipEntry
        11: .line 1586
            aload 6 /* zipEntry */
            aload 2 /* dirPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 1587
            new java.util.zip.ZipEntry
            dup
            aload 2 /* dirPath */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            areturn
        end local 6 // java.lang.String zipEntry
        13: .line 1584
      StackMap locals:
      StackMap stack:
            aload 5 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 5 // java.util.Enumeration entries
        14: .line 1592
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            ifnonnull 16
        15: .line 1593
            aload 0 /* jar */
            aload 1 /* path */
            aload 4 /* prefix */
            invokestatic org.jruby.RubyFile.getFileEntry:(Ljava/util/zip/ZipFile;Ljava/lang/String;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
        end local 4 // java.lang.String prefix
        16: .line 1596
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            areturn
        end local 3 // java.util.zip.ZipEntry entry
        end local 2 // java.lang.String dirPath
        end local 1 // java.lang.String path
        end local 0 // java.util.zip.ZipFile jar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0       jar  Ljava/util/zip/ZipFile;
            0   17     1      path  Ljava/lang/String;
            1   17     2   dirPath  Ljava/lang/String;
            2   17     3     entry  Ljava/util/zip/ZipEntry;
            6   16     4    prefix  Ljava/lang/String;
            9   14     5   entries  Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
           11   13     6  zipEntry  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      jar   
      path  

  private static boolean isAbsolutePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1602
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 1
            aload 0 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 3
         1: .line 1603
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1602
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private static boolean isWindowsDriveLetter(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1607
            iload 0 /* c */
            bipush 97
            if_icmplt 1
            iload 0 /* c */
            bipush 122
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 90
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean startsWithDriveLetterOnWindows(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1611
            aload 0 /* path */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/CharSequence;)Z
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  static boolean startsWithDriveLetterOnWindows(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence path
         0: .line 1615
            aload 0 /* path */
            ifnull 10
         1: .line 1616
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 10
         2: .line 1617
            aload 0 /* path */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            if_icmple 6
            aload 0 /* path */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 47
            if_icmpne 6
         3: .line 1618
            aload 0 /* path */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_2
            if_icmple 10
         4: .line 1619
            aload 0 /* path */
            iconst_1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic org.jruby.RubyFile.isWindowsDriveLetter:(C)Z
            ifeq 10
         5: .line 1620
            aload 0 /* path */
            iconst_2
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 10
            goto 9
         6: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            if_icmple 10
         7: .line 1622
            aload 0 /* path */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic org.jruby.RubyFile.isWindowsDriveLetter:(C)Z
            ifeq 10
         8: .line 1623
            aload 0 /* path */
            iconst_1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 10
         9: .line 1615
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        end local 0 // java.lang.CharSequence path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  path  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      path  

  static java.lang.String adjustRootPathOnWindows(org.jruby.Ruby, java.lang.String, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String path
        start local 2 // java.lang.String dir
         0: .line 1628
            aload 1 /* path */
            ifnull 1
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* path */
            areturn
         2: .line 1638
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            bipush 47
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 3
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmple 4
            aload 1 /* path */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* path */
            bipush 92
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 11
         4: .line 1639
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 6
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 5
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 92
            if_icmpne 6
         5: .line 1640
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
         6: .line 1645
      StackMap locals:
      StackMap stack:
            aload 2 /* dir */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 8
         7: .line 1646
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            astore 2 /* dir */
         8: .line 1648
      StackMap locals:
      StackMap stack:
            aload 2 /* dir */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 13
         9: .line 1649
            new java.lang.StringBuilder
            dup
            aload 2 /* dir */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* path */
        10: .line 1651
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 1 /* path */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifeq 13
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpne 13
        12: .line 1653
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* path */
        13: .line 1656
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
        end local 2 // java.lang.String dir
        end local 1 // java.lang.String path
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  runtime  Lorg/jruby/Ruby;
            0   14     1     path  Ljava/lang/String;
            0   14     2      dir  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      path     
      dir      

  private static long[] extractTimespec(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1664
            iconst_2
            newarray 11
            astore 2 /* timespec */
        start local 2 // long[] timespec
         1: .line 1666
            aload 1 /* value */
            instanceof org.jruby.RubyFloat
            ifeq 8
         2: .line 1667
            aload 2 /* timespec */
            iconst_0
            getstatic jnr.posix.util.Platform.IS_32_BIT:Z
            ifeq 3
            aload 1 /* value */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            i2l
            goto 4
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[]
      StackMap stack: long[] int
         3: aload 1 /* value */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[]
      StackMap stack: long[] int long
         4: lastore
         5: .line 1668
            aload 1 /* value */
            checkcast org.jruby.RubyFloat
            invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
            dconst_1
            drem
            dstore 3 /* fraction */
        start local 3 // double fraction
         6: .line 1669
            aload 2 /* timespec */
            iconst_1
            dload 3 /* fraction */
            ldc 1.0E9
            dmul
            ldc 0.5
            dadd
            d2l
            lastore
        end local 3 // double fraction
         7: .line 1670
            goto 24
      StackMap locals:
      StackMap stack:
         8: aload 1 /* value */
            instanceof org.jruby.RubyNumeric
            ifeq 14
         9: .line 1671
            aload 2 /* timespec */
            iconst_0
            getstatic jnr.posix.util.Platform.IS_32_BIT:Z
            ifeq 10
            aload 1 /* value */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            i2l
            goto 11
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[]
      StackMap stack: long[] int
        10: aload 1 /* value */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[]
      StackMap stack: long[] int long
        11: lastore
        12: .line 1672
            aload 2 /* timespec */
            iconst_1
            lconst_0
            lastore
        13: .line 1673
            goto 24
        14: .line 1675
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof org.jruby.RubyTime
            ifeq 17
        15: .line 1676
            aload 1 /* value */
            checkcast org.jruby.RubyTime
            astore 3 /* time */
        start local 3 // org.jruby.RubyTime time
        16: .line 1677
            goto 18
        end local 3 // org.jruby.RubyTime time
        17: .line 1678
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* value */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTime:()Lorg/jruby/RubyClass;
            aload 0 /* context */
            invokestatic org.jruby.RubyFile.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$FileSites;
            getfield org.jruby.runtime.JavaSites$FileSites.to_time_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            iconst_1
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyTime
            astore 3 /* time */
        start local 3 // org.jruby.RubyTime time
        18: .line 1680
      StackMap locals: org.jruby.RubyTime
      StackMap stack:
            aload 2 /* timespec */
            iconst_0
            getstatic jnr.posix.util.Platform.IS_32_BIT:Z
            ifeq 19
            aload 3 /* time */
            invokevirtual org.jruby.RubyTime.to_i:()Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            i2l
            goto 20
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[] org.jruby.RubyTime
      StackMap stack: long[] int
        19: aload 3 /* time */
            invokevirtual org.jruby.RubyTime.to_i:()Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[] org.jruby.RubyTime
      StackMap stack: long[] int long
        20: lastore
        21: .line 1681
            aload 2 /* timespec */
            iconst_1
            getstatic jnr.posix.util.Platform.IS_32_BIT:Z
            ifeq 22
            aload 3 /* time */
            invokevirtual org.jruby.RubyTime.nsec:()Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            i2l
            goto 23
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[] org.jruby.RubyTime
      StackMap stack: long[] int
        22: aload 3 /* time */
            invokevirtual org.jruby.RubyTime.nsec:()Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject long[] org.jruby.RubyTime
      StackMap stack: long[] int long
        23: lastore
        end local 3 // org.jruby.RubyTime time
        24: .line 1684
      StackMap locals:
      StackMap stack:
            aload 2 /* timespec */
            areturn
        end local 2 // long[] timespec
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0   context  Lorg/jruby/runtime/ThreadContext;
            0   25     1     value  Lorg/jruby/runtime/builtin/IRubyObject;
            1   25     2  timespec  [J
            6    7     3  fraction  D
           16   17     3      time  Lorg/jruby/RubyTime;
           18   24     3      time  Lorg/jruby/RubyTime;
    MethodParameters:
         Name  Flags
      context  
      value    

  private static long[] convertTimespecToTimeval(long[]);
    descriptor: ([J)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long[] timespec
         0: .line 1694
            aload 0 /* timespec */
            ifnonnull 2
         1: .line 1695
            aconst_null
            areturn
         2: .line 1698
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 11
            astore 1 /* timeval */
        start local 1 // long[] timeval
         3: .line 1699
            aload 1 /* timeval */
            iconst_0
            aload 0 /* timespec */
            iconst_0
            laload
            lastore
         4: .line 1700
            aload 1 /* timeval */
            iconst_1
            aload 0 /* timespec */
            iconst_1
            laload
            ldc 1000
            ldiv
            lastore
         5: .line 1701
            aload 1 /* timeval */
            areturn
        end local 1 // long[] timeval
        end local 0 // long[] timespec
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  timespec  [J
            3    6     1   timeval  [J
    MethodParameters:
          Name  Flags
      timespec  

  private void checkClosed(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1705
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.checkClosed:()V
         1: .line 1706
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyFile;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  private static org.jruby.RubyString expandPathInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // boolean expandUser
        start local 3 // boolean canonicalize
         0: .line 1711
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* path */
        start local 4 // org.jruby.RubyString path
         1: .line 1712
            aconst_null
            astore 5 /* wd */
        start local 5 // org.jruby.RubyString wd
         2: .line 1713
            aload 1 /* args */
            arraylength
            iconst_2
            if_icmpne 4
            aload 1 /* args */
            iconst_1
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 4
         3: .line 1714
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 1 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 5 /* wd */
         4: .line 1716
      StackMap locals: org.jruby.RubyString org.jruby.RubyString
      StackMap stack:
            aload 0 /* context */
            aload 4 /* path */
            aload 5 /* wd */
            iload 2 /* expandUser */
            iload 3 /* canonicalize */
            invokestatic org.jruby.RubyFile.expandPathInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;ZZ)Lorg/jruby/RubyString;
            areturn
        end local 5 // org.jruby.RubyString wd
        end local 4 // org.jruby.RubyString path
        end local 3 // boolean canonicalize
        end local 2 // boolean expandUser
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        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          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2    expandUser  Z
            0    5     3  canonicalize  Z
            1    5     4          path  Lorg/jruby/RubyString;
            2    5     5            wd  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      context       
      args          
      expandUser    
      canonicalize  

  static org.jruby.RubyString expandPathInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.RubyString, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;ZZ)Lorg/jruby/RubyString;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString path
        start local 2 // org.jruby.RubyString wd
        start local 3 // boolean expandUser
        start local 4 // boolean canonicalize
         0: .line 1720
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 5 /* relativePath */
        start local 5 // java.lang.String relativePath
         1: .line 1721
            iconst_1
            anewarray org.jcodings.Encoding
            dup
            iconst_0
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            aastore
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding[] enc
         2: .line 1722
            aload 2 /* wd */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.lang.String org.jcodings.Encoding[]
      StackMap stack:
         3: aload 2 /* wd */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 7 /* cwd */
        start local 7 // java.lang.String cwd
         5: .line 1723
            aload 0 /* context */
            aload 5 /* relativePath */
            aload 6 /* enc */
            aload 7 /* cwd */
            iload 3 /* expandUser */
            iload 4 /* canonicalize */
            invokestatic org.jruby.RubyFile.expandPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jcodings/Encoding;Ljava/lang/String;ZZ)Ljava/lang/String;
            astore 8 /* expanded */
        start local 8 // java.lang.String expanded
         6: .line 1725
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 8 /* expanded */
            aload 6 /* enc */
            iconst_0
            aaload
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 8 // java.lang.String expanded
        end local 7 // java.lang.String cwd
        end local 6 // org.jcodings.Encoding[] enc
        end local 5 // java.lang.String relativePath
        end local 4 // boolean canonicalize
        end local 3 // boolean expandUser
        end local 2 // org.jruby.RubyString wd
        end local 1 // org.jruby.RubyString path
        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          path  Lorg/jruby/RubyString;
            0    7     2            wd  Lorg/jruby/RubyString;
            0    7     3    expandUser  Z
            0    7     4  canonicalize  Z
            1    7     5  relativePath  Ljava/lang/String;
            2    7     6           enc  [Lorg/jcodings/Encoding;
            5    7     7           cwd  Ljava/lang/String;
            6    7     8      expanded  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      context       
      path          
      wd            
      expandUser    
      canonicalize  

  public static java.lang.String expandPath(org.jruby.runtime.ThreadContext, java.lang.String, org.jcodings.Encoding[], java.lang.String, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jcodings/Encoding;Ljava/lang/String;ZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String relativePath
        start local 2 // org.jcodings.Encoding[] enc
        start local 3 // java.lang.String cwd
        start local 4 // boolean expandUser
        start local 5 // boolean canonicalize
         0: .line 1730
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 1743
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* fsenc */
        start local 7 // org.jcodings.Encoding fsenc
         2: .line 1746
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 5
            ldc "NUL:"
            aload 1 /* relativePath */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 3
            ldc "NUL"
            aload 1 /* relativePath */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 1747
      StackMap locals: org.jruby.Ruby org.jcodings.Encoding
      StackMap stack:
            aload 2 /* enc */
            iconst_0
            aload 7 /* fsenc */
            aastore
         4: .line 1748
            ldc "//./"
            aload 1 /* relativePath */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic org.jruby.util.StringSupport.concat:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         5: .line 1752
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 8 /* preFix */
        start local 8 // java.lang.String preFix
         6: .line 1753
            aload 1 /* relativePath */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 1754
            ldc "file:"
            astore 8 /* preFix */
         8: .line 1755
            aload 1 /* relativePath */
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* relativePath */
         9: .line 1757
      StackMap locals: java.lang.String
      StackMap stack:
            ldc ""
            astore 9 /* postFix */
        start local 9 // java.lang.String postFix
        10: .line 1758
            getstatic org.jruby.RubyFile.PROTOCOL_PREFIX_PATTERN:Ljava/util/regex/Pattern;
            aload 1 /* relativePath */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 10 /* protocol */
        start local 10 // java.util.regex.Matcher protocol
        11: .line 1759
            aload 1 /* relativePath */
            ldc ".jar!/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 23
        12: .line 1760
            aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 19
        13: .line 1761
            aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
            astore 8 /* preFix */
        14: .line 1762
            iconst_0
            istore 11 /* extra */
        start local 11 // int extra
        15: .line 1763
            aload 1 /* relativePath */
            ldc "file://"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 18
        16: .line 1764
            iconst_2
            istore 11 /* extra */
        17: .line 1765
            new java.lang.StringBuilder
            dup
            aload 8 /* preFix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "//"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* preFix */
        18: .line 1767
      StackMap locals: java.lang.String java.util.regex.Matcher int
      StackMap stack:
            aload 1 /* relativePath */
            aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.end:()I
            iload 11 /* extra */
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* relativePath */
        end local 11 // int extra
        19: .line 1769
      StackMap locals:
      StackMap stack:
            aload 1 /* relativePath */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 11 /* index */
        start local 11 // int index
        20: .line 1770
            aload 1 /* relativePath */
            iload 11 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* postFix */
        21: .line 1771
            aload 1 /* relativePath */
            iconst_0
            iload 11 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* relativePath */
        end local 11 // int index
        22: .line 1772
            goto 54
      StackMap locals:
      StackMap stack:
        23: aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 54
        24: .line 1773
            aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
            astore 8 /* preFix */
        25: .line 1774
            aload 10 /* protocol */
            invokevirtual java.util.regex.Matcher.end:()I
            istore 11 /* offset */
        start local 11 // int offset
        26: .line 1775
            ldc ""
            astore 12 /* extra */
        start local 12 // java.lang.String extra
        27: .line 1776
            aload 1 /* relativePath */
            ldc "file://"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 13 /* index */
        start local 13 // int index
        28: .line 1777
            aload 8 /* preFix */
            ldc "uri:classloader:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            aload 8 /* preFix */
            ldc "classpath:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            iconst_0
            goto 30
      StackMap locals: int java.lang.String int
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 14 /* classloaderURI */
        start local 14 // boolean classloaderURI
        31: .line 1779
            iload 13 /* index */
            iflt 38
        32: .line 1780
            iinc 13 /* index */ 7
        33: .line 1782
            aload 1 /* relativePath */
            invokevirtual java.lang.String.length:()I
            iload 13 /* index */
            if_icmple 36
            aload 1 /* relativePath */
            iload 13 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 36
        34: .line 1783
            iinc 11 /* offset */ 2
            ldc "//"
            astore 12 /* extra */
        35: .line 1784
            goto 40
        36: .line 1785
      StackMap locals: int
      StackMap stack:
            iinc 11 /* offset */ 1
            ldc "/"
            astore 12 /* extra */
        37: .line 1787
            goto 40
        38: .line 1788
      StackMap locals:
      StackMap stack:
            iload 14 /* classloaderURI */
            ifeq 40
            aload 1 /* relativePath */
            ldc "//"
            iload 11 /* offset */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 40
        39: .line 1790
            iinc 11 /* offset */ 1
        40: .line 1794
      StackMap locals:
      StackMap stack:
            aload 1 /* relativePath */
            iload 11 /* offset */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* relativePath */
        41: .line 1796
            iload 14 /* classloaderURI */
            ifeq 47
        42: .line 1797
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 43
            ldc "C:/FAKEPATH_PREFIX__"
            goto 44
      StackMap locals:
      StackMap stack:
        43: ldc "/FAKEPATH_PREFIX__"
      StackMap locals:
      StackMap stack: java.lang.String
        44: astore 15 /* fakePrefix */
        start local 15 // java.lang.String fakePrefix
        45: .line 1798
            new java.lang.StringBuilder
            dup
            aload 15 /* fakePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* relativePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.jruby.RubyFile.canonicalizePath:(Ljava/lang/String;)Ljava/lang/String;
            aload 15 /* fakePrefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* relativePath */
        end local 15 // java.lang.String fakePrefix
        46: .line 1799
            goto 48
        47: .line 1800
      StackMap locals:
      StackMap stack:
            aload 1 /* relativePath */
            invokestatic org.jruby.RubyFile.canonicalizePath:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* relativePath */
        48: .line 1803
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 53
        49: .line 1806
            aload 8 /* preFix */
            ldc "file:"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 51
            aload 1 /* relativePath */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifeq 51
        50: .line 1808
            aload 1 /* relativePath */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* relativePath */
        51: .line 1810
      StackMap locals:
      StackMap stack:
            iload 14 /* classloaderURI */
            ifeq 53
        52: .line 1811
            aload 1 /* relativePath */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* relativePath */
        53: .line 1815
      StackMap locals:
      StackMap stack:
            aload 8 /* preFix */
            aload 12 /* extra */
            aload 1 /* relativePath */
            invokestatic org.jruby.RubyFile.concatStrings:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 14 // boolean classloaderURI
        end local 13 // int index
        end local 12 // java.lang.String extra
        end local 11 // int offset
        54: .line 1818
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String org.jcodings.Encoding[] java.lang.String int int org.jruby.Ruby org.jcodings.Encoding java.lang.String java.lang.String java.util.regex.Matcher
      StackMap stack:
            aload 1 /* relativePath */
            invokestatic org.jruby.RubyFile.splitURI:(Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* uriParts */
        start local 11 // java.lang.String[] uriParts
        55: .line 1821
            iload 4 /* expandUser */
            ifeq 58
            aload 1 /* relativePath */
            bipush 126
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 58
        56: .line 1822
            aload 2 /* enc */
            iconst_0
            aload 7 /* fsenc */
            aastore
        57: .line 1823
            aload 0 /* context */
            aload 1 /* relativePath */
            iconst_1
            invokestatic org.jruby.RubyFile.expandUserPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* relativePath */
        58: .line 1826
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 11 /* uriParts */
            ifnull 62
        59: .line 1828
            aload 11 /* uriParts */
            iconst_0
            aaload
            ldc "classpath:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 61
        60: .line 1829
            aload 8 /* preFix */
            aload 1 /* relativePath */
            aload 9 /* postFix */
            invokestatic org.jruby.RubyFile.concatStrings:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String;
            areturn
        61: .line 1831
      StackMap locals:
      StackMap stack:
            aload 11 /* uriParts */
            iconst_1
            aaload
            astore 1 /* relativePath */
        62: .line 1838
      StackMap locals:
      StackMap stack:
            aload 3 /* cwd */
            ifnull 82
        63: .line 1839
            aload 2 /* enc */
            iconst_0
            aload 7 /* fsenc */
            aastore
        64: .line 1840
            aload 3 /* cwd */
            ldc "uri:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 83
        65: .line 1842
            iload 4 /* expandUser */
            ifeq 67
        66: .line 1843
            aload 0 /* context */
            aload 3 /* cwd */
            iconst_1
            invokestatic org.jruby.RubyFile.expandUserPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* cwd */
        67: .line 1847
      StackMap locals:
      StackMap stack:
            aload 3 /* cwd */
            invokestatic org.jruby.RubyFile.splitURI:(Ljava/lang/String;)[Ljava/lang/String;
            astore 12 /* cwdURIParts */
        start local 12 // java.lang.String[] cwdURIParts
        68: .line 1848
            aload 11 /* uriParts */
            ifnonnull 71
            aload 12 /* cwdURIParts */
            ifnull 71
        69: .line 1849
            aload 12 /* cwdURIParts */
            astore 11 /* uriParts */
        70: .line 1850
            aload 12 /* cwdURIParts */
            iconst_1
            aaload
            astore 3 /* cwd */
        71: .line 1853
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 6 /* runtime */
            aload 3 /* cwd */
            aconst_null
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* cwd */
        72: .line 1855
            aload 3 /* cwd */
            ifnull 76
        73: .line 1856
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 76
            aload 3 /* cwd */
            invokevirtual java.lang.String.length:()I
            ifle 76
        74: .line 1857
            aload 3 /* cwd */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 76
        75: .line 1855
            iconst_1
            goto 77
      StackMap locals:
      StackMap stack:
        76: iconst_0
      StackMap locals:
      StackMap stack: int
        77: istore 13 /* startsWithSlashNotOnWindows */
        start local 13 // boolean startsWithSlashNotOnWindows
        78: .line 1861
            iload 13 /* startsWithSlashNotOnWindows */
            ifne 83
            aload 3 /* cwd */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 83
        79: .line 1862
            aload 3 /* cwd */
            invokevirtual java.lang.String.length:()I
            ifne 80
            ldc "."
            astore 3 /* cwd */
        80: .line 1863
      StackMap locals: int
      StackMap stack:
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 3 /* cwd */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* cwd */
        end local 13 // boolean startsWithSlashNotOnWindows
        end local 12 // java.lang.String[] cwdURIParts
        81: .line 1866
            goto 83
        82: .line 1868
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            astore 3 /* cwd */
        83: .line 1871
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyFile.$assertionsDisabled:Z
            ifne 84
            aload 3 /* cwd */
            ifnonnull 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        84: .line 1897
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 12 /* padSlashes */
        start local 12 // java.lang.String padSlashes
        85: .line 1898
            aload 11 /* uriParts */
            ifnull 88
        86: .line 1899
            aload 11 /* uriParts */
            iconst_0
            aaload
            astore 12 /* padSlashes */
        87: .line 1900
            goto 93
      StackMap locals: java.lang.String
      StackMap stack:
        88: getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 93
        89: .line 1901
            aload 1 /* relativePath */
            invokevirtual java.lang.String.length:()I
            ifle 92
            aload 1 /* relativePath */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 92
        90: .line 1902
            aload 1 /* relativePath */
            invokestatic org.jruby.RubyFile.countSlashes:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* padSlashes */
        91: .line 1903
            goto 93
        92: .line 1904
      StackMap locals:
      StackMap stack:
            aload 3 /* cwd */
            invokestatic org.jruby.RubyFile.countSlashes:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* padSlashes */
        93: .line 1909
      StackMap locals:
      StackMap stack:
            aload 1 /* relativePath */
            invokevirtual java.lang.String.length:()I
            ifne 96
        94: .line 1910
            aload 1 /* relativePath */
            aload 3 /* cwd */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 13 /* pathFile */
        start local 13 // org.jruby.util.JRubyFile pathFile
        95: .line 1911
            goto 98
        end local 13 // org.jruby.util.JRubyFile pathFile
        96: .line 1912
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 1 /* relativePath */
            aload 3 /* cwd */
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* relativePath */
        97: .line 1913
            aload 3 /* cwd */
            aload 1 /* relativePath */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 13 /* pathFile */
        start local 13 // org.jruby.util.JRubyFile pathFile
        98: .line 1916
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aconst_null
            astore 14 /* canonicalPath */
        start local 14 // java.lang.CharSequence canonicalPath
        99: .line 1917
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 103
            aload 11 /* uriParts */
            ifnull 103
            ldc "classpath:"
            aload 11 /* uriParts */
            iconst_0
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 103
       100: .line 1924
            aload 13 /* pathFile */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            astore 15 /* absolutePath */
        start local 15 // java.lang.String absolutePath
       101: .line 1925
            aload 15 /* absolutePath */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 103
            aload 15 /* absolutePath */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 103
       102: .line 1926
            aconst_null
            aload 15 /* absolutePath */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyFile.canonicalize:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/CharSequence;
            astore 14 /* canonicalPath */
        end local 15 // java.lang.String absolutePath
       103: .line 1930
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 14 /* canonicalPath */
            ifnonnull 104
            aconst_null
            aload 13 /* pathFile */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            invokestatic org.jruby.RubyFile.canonicalize:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/CharSequence;
            astore 14 /* canonicalPath */
       104: .line 1933
      StackMap locals:
      StackMap stack:
            aload 12 /* padSlashes */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 107
       105: .line 1934
            aload 14 /* canonicalPath */
            astore 15 /* realPath */
        start local 15 // java.lang.CharSequence realPath
       106: .line 1935
            goto 110
        end local 15 // java.lang.CharSequence realPath
       107: .line 1937
      StackMap locals:
      StackMap stack:
            aload 12 /* padSlashes */
            aload 14 /* canonicalPath */
            invokestatic org.jruby.util.StringSupport.concat:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            astore 15 /* realPath */
        start local 15 // java.lang.CharSequence realPath
       108: .line 1938
            aload 8 /* preFix */
            invokevirtual java.lang.String.length:()I
            ifle 110
            aload 12 /* padSlashes */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 110
       109: .line 1939
            aload 15 /* realPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 15 /* realPath */
       110: .line 1943
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            iload 5 /* canonicalize */
            ifeq 111
            aload 15 /* realPath */
            invokestatic org.jruby.RubyFile.canonicalNormalized:(Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 15 /* realPath */
       111: .line 1945
      StackMap locals:
      StackMap stack:
            aload 9 /* postFix */
            ldc ".."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 112
            aload 9 /* postFix */
            invokestatic org.jruby.RubyFile.adjustPostFixDotDot:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* postFix */
       112: .line 1947
      StackMap locals:
      StackMap stack:
            aload 8 /* preFix */
            aload 15 /* realPath */
            aload 9 /* postFix */
            invokestatic org.jruby.RubyFile.concatStrings:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 15 // java.lang.CharSequence realPath
        end local 14 // java.lang.CharSequence canonicalPath
        end local 13 // org.jruby.util.JRubyFile pathFile
        end local 12 // java.lang.String padSlashes
        end local 11 // java.lang.String[] uriParts
        end local 10 // java.util.regex.Matcher protocol
        end local 9 // java.lang.String postFix
        end local 8 // java.lang.String preFix
        end local 7 // org.jcodings.Encoding fsenc
        end local 6 // org.jruby.Ruby runtime
        end local 5 // boolean canonicalize
        end local 4 // boolean expandUser
        end local 3 // java.lang.String cwd
        end local 2 // org.jcodings.Encoding[] enc
        end local 1 // java.lang.String relativePath
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  113     0                      context  Lorg/jruby/runtime/ThreadContext;
            0  113     1                 relativePath  Ljava/lang/String;
            0  113     2                          enc  [Lorg/jcodings/Encoding;
            0  113     3                          cwd  Ljava/lang/String;
            0  113     4                   expandUser  Z
            0  113     5                 canonicalize  Z
            1  113     6                      runtime  Lorg/jruby/Ruby;
            2  113     7                        fsenc  Lorg/jcodings/Encoding;
            6  113     8                       preFix  Ljava/lang/String;
           10  113     9                      postFix  Ljava/lang/String;
           11  113    10                     protocol  Ljava/util/regex/Matcher;
           15   19    11                        extra  I
           20   22    11                        index  I
           26   54    11                       offset  I
           27   54    12                        extra  Ljava/lang/String;
           28   54    13                        index  I
           31   54    14               classloaderURI  Z
           45   46    15                   fakePrefix  Ljava/lang/String;
           55  113    11                     uriParts  [Ljava/lang/String;
           68   81    12                  cwdURIParts  [Ljava/lang/String;
           78   81    13  startsWithSlashNotOnWindows  Z
           85  113    12                   padSlashes  Ljava/lang/String;
           95   96    13                     pathFile  Lorg/jruby/util/JRubyFile;
           98  113    13                     pathFile  Lorg/jruby/util/JRubyFile;
           99  113    14                canonicalPath  Ljava/lang/CharSequence;
          101  103    15                 absolutePath  Ljava/lang/String;
          106  107    15                     realPath  Ljava/lang/CharSequence;
          108  113    15                     realPath  Ljava/lang/CharSequence;
    MethodParameters:
              Name  Flags
      context       
      relativePath  
      enc           
      cwd           
      expandUser    
      canonicalize  

  private static java.lang.String canonicalNormalized(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.CharSequence realPath
         0: .line 1951
            aload 0 /* realPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         1: .line 1953
            new java.io.File
            dup
            aload 1 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.normalizeSeps:(Ljava/lang/String;)Ljava/lang/String;
         2: areturn
         3: .line 1954
      StackMap locals: java.lang.CharSequence java.lang.String
      StackMap stack: java.io.IOException
            pop
         4: .line 1955
            aload 1 /* path */
            areturn
        end local 1 // java.lang.String path
        end local 0 // java.lang.CharSequence realPath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  realPath  Ljava/lang/CharSequence;
            1    5     1      path  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    MethodParameters:
          Name  Flags
      realPath  

  private static java.lang.String adjustPostFixDotDot(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String postFix
         0: .line 1960
            new java.lang.StringBuilder
            dup
            bipush 33
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* postFix */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyFile.canonicalizePath:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* postFix */
         1: .line 1961
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 5
         2: .line 1962
            aload 0 /* postFix */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 0 /* postFix */
         3: .line 1963
            aload 0 /* postFix */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 1964
            new java.lang.StringBuilder
            dup
            bipush 33
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* postFix */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* postFix */
         5: .line 1967
      StackMap locals:
      StackMap stack:
            aload 0 /* postFix */
            areturn
        end local 0 // java.lang.String postFix
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  postFix  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      postFix  

  private static java.lang.String concatStrings(java.lang.String, java.lang.CharSequence, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String s1
        start local 1 // java.lang.CharSequence s2
        start local 2 // java.lang.String s3
         0: .line 1971
            new java.lang.StringBuilder
            dup
            aload 0 /* s1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* s2 */
            invokeinterface java.lang.CharSequence.length:()I
            iadd
            aload 2 /* s3 */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 0 /* s1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            aload 2 /* s3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String s3
        end local 1 // java.lang.CharSequence s2
        end local 0 // java.lang.String s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    s1  Ljava/lang/String;
            0    1     1    s2  Ljava/lang/CharSequence;
            0    1     2    s3  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s1    
      s2    
      s3    

  private static java.lang.String canonicalizePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1976
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
         1: areturn
         2: .line 1978
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
            aload 0 /* path */
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  path  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String[] splitURI(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.lang.String path
         0: .line 1982
            getstatic org.jruby.RubyFile.URI_PREFIX:Ljava/util/regex/Pattern;
            aload 0 /* path */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* m */
        start local 1 // java.util.regex.Matcher m
         1: .line 1983
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 18
         2: .line 1984
            aload 1 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 1985
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* path */
            aastore
            dup
            iconst_1
            ldc ""
            aastore
            areturn
         4: .line 1988
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 1 /* m */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            ifnull 7
         5: .line 1989
            aload 0 /* path */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* pathWithoutJarPrefix */
        start local 2 // java.lang.String pathWithoutJarPrefix
         6: .line 1990
            goto 8
        end local 2 // java.lang.String pathWithoutJarPrefix
         7: .line 1991
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            astore 2 /* pathWithoutJarPrefix */
        start local 2 // java.lang.String pathWithoutJarPrefix
         8: .line 1994
      StackMap locals: java.lang.String
      StackMap stack:
            new java.net.URI
            dup
            aload 2 /* pathWithoutJarPrefix */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 3 /* u */
        start local 3 // java.net.URI u
         9: .line 1995
            aload 3 /* u */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 4 /* pathPart */
        start local 4 // java.lang.String pathPart
        10: .line 1996
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            aload 4 /* pathPart */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* pathPart */
            aastore
        11: areturn
        end local 4 // java.lang.String pathPart
        end local 3 // java.net.URI u
        12: .line 1997
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        13: .line 1999
            new java.net.URL
            dup
            aload 2 /* pathWithoutJarPrefix */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 3 /* u */
        start local 3 // java.net.URL u
        14: .line 2000
            aload 3 /* u */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 4 /* pathPart */
        start local 4 // java.lang.String pathPart
        15: .line 2001
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            aload 4 /* pathPart */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* pathPart */
            aastore
        16: areturn
        end local 4 // java.lang.String pathPart
        end local 3 // java.net.URL u
        17: .line 2002
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        end local 2 // java.lang.String pathWithoutJarPrefix
        18: .line 2005
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.util.regex.Matcher m
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  path  Ljava/lang/String;
            1   19     1                     m  Ljava/util/regex/Matcher;
            6    7     2  pathWithoutJarPrefix  Ljava/lang/String;
            8   18     2  pathWithoutJarPrefix  Ljava/lang/String;
            9   12     3                     u  Ljava/net/URI;
           10   12     4              pathPart  Ljava/lang/String;
           14   17     3                     u  Ljava/net/URL;
           15   17     4              pathPart  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
          13    16      17  Class java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String expandUserPath(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String path
         0: .line 2018
            aload 0 /* context */
            aload 1 /* path */
            iconst_0
            invokestatic org.jruby.RubyFile.expandUserPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     path  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      path     

  public static java.lang.String expandUserPath(org.jruby.runtime.ThreadContext, java.lang.String, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String path
        start local 2 // boolean raiseOnRelativePath
         0: .line 2024
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            istore 3 /* pathLength */
        start local 3 // int pathLength
         1: .line 2026
            aload 1 /* path */
            bipush 126
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 23
         2: .line 2028
            aload 1 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* userEnd */
        start local 4 // int userEnd
         3: .line 2030
            iload 4 /* userEnd */
            iconst_m1
            if_icmpne 9
         4: .line 2031
            iload 3 /* pathLength */
            iconst_1
            if_icmpne 8
         5: .line 2033
            aload 0 /* context */
            aload 0 /* context */
            invokestatic org.jruby.RubyFile.checkHome:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            invokestatic org.jruby.RubyDir.getHomeDirectoryPath:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 1 /* path */
         6: .line 2035
            iload 2 /* raiseOnRelativePath */
            ifeq 9
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 9
         7: .line 2036
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "non-absolute home"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 2040
      StackMap locals: int int
      StackMap stack:
            iload 3 /* pathLength */
            istore 4 /* userEnd */
         9: .line 2044
      StackMap locals:
      StackMap stack:
            iload 4 /* userEnd */
            iconst_1
            if_icmpne 13
        10: .line 2046
            new java.lang.StringBuilder
            dup
            aload 0 /* context */
            aload 0 /* context */
            invokestatic org.jruby.RubyFile.checkHome:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            invokestatic org.jruby.RubyDir.getHomeDirectoryPath:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* path */
        11: .line 2048
            iload 2 /* raiseOnRelativePath */
            ifeq 23
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 23
        12: .line 2049
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "non-absolute home"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 2051
      StackMap locals:
      StackMap stack:
            iload 4 /* userEnd */
            iconst_1
            if_icmple 23
        14: .line 2053
            aload 1 /* path */
            iconst_1
            iload 4 /* userEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* user */
        start local 5 // java.lang.String user
        15: .line 2054
            aload 0 /* context */
            aload 5 /* user */
            invokestatic org.jruby.RubyDir.getHomeDirectoryPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* dir */
        start local 6 // org.jruby.runtime.builtin.IRubyObject dir
        16: .line 2056
            aload 6 /* dir */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 18
        17: .line 2057
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "user "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* user */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        18: .line 2060
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 6 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            iload 3 /* pathLength */
            iload 4 /* userEnd */
            if_icmpne 19
            ldc ""
            goto 20
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        19: aload 1 /* path */
            iload 4 /* userEnd */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String int int int java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack: java.lang.StringBuilder java.lang.String
        20: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* path */
        21: .line 2063
            iload 2 /* raiseOnRelativePath */
            ifeq 23
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 23
        22: .line 2064
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "non-absolute home of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* user */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // org.jruby.runtime.builtin.IRubyObject dir
        end local 5 // java.lang.String user
        end local 4 // int userEnd
        23: .line 2068
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
        end local 3 // int pathLength
        end local 2 // boolean raiseOnRelativePath
        end local 1 // java.lang.String path
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0              context  Lorg/jruby/runtime/ThreadContext;
            0   24     1                 path  Ljava/lang/String;
            0   24     2  raiseOnRelativePath  Z
            1   24     3           pathLength  I
            3   23     4              userEnd  I
           15   23     5                 user  Ljava/lang/String;
           16   23     6                  dir  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                     Name  Flags
      context              
      path                 
      raiseOnRelativePath  final

  private static java.lang.String countSlashes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String stringToCheck
         0: .line 2080
            iconst_0
            istore 1 /* slashCount */
        start local 1 // int slashCount
         1: .line 2082
            aload 0 /* stringToCheck */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 2083
            iload 2 /* len */
            ifle 11
            aload 0 /* stringToCheck */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         3: .line 2085
            iload 2 /* len */
            iconst_1
            if_icmple 11
            aload 0 /* stringToCheck */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         4: .line 2086
            iinc 1 /* slashCount */ 1
         5: .line 2087
            iconst_2
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 2088
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* stringToCheck */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         8: .line 2089
            iinc 1 /* slashCount */ 1
         9: .line 2087
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 7
        end local 3 // int i
        11: .line 2097
      StackMap locals:
      StackMap stack:
            iload 1 /* slashCount */
            getstatic org.jruby.RubyFile.SLASHES:[Ljava/lang/String;
            arraylength
            if_icmpge 13
        12: .line 2098
            getstatic org.jruby.RubyFile.SLASHES:[Ljava/lang/String;
            iload 1 /* slashCount */
            aaload
            areturn
        13: .line 2102
      StackMap locals:
      StackMap stack:
            iload 1 /* slashCount */
            newarray 5
            astore 3 /* slashes */
        start local 3 // char[] slashes
        14: .line 2103
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 18
        16: .line 2104
      StackMap locals: char[] int
      StackMap stack:
            aload 3 /* slashes */
            iload 4 /* i */
            bipush 47
            castore
        17: .line 2103
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            iload 1 /* slashCount */
            if_icmplt 16
        end local 4 // int i
        19: .line 2106
            new java.lang.String
            dup
            aload 3 /* slashes */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // char[] slashes
        end local 2 // int len
        end local 1 // int slashCount
        end local 0 // java.lang.String stringToCheck
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0  stringToCheck  Ljava/lang/String;
            1   20     1     slashCount  I
            2   20     2            len  I
            6   11     3              i  I
           14   20     3        slashes  [C
           15   19     4              i  I
    MethodParameters:
               Name  Flags
      stringToCheck  

  public static java.lang.String canonicalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 2110
            aconst_null
            aload 0 /* path */
            invokestatic org.jruby.RubyFile.canonicalize:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/CharSequence;
            astore 1 /* canonical */
        start local 1 // java.lang.CharSequence canonical
         1: .line 2111
            aload 1 /* canonical */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.CharSequence
      StackMap stack:
         2: aload 1 /* canonical */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.CharSequence canonical
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       path  Ljava/lang/String;
            1    4     1  canonical  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      path  

  private static java.lang.CharSequence canonicalize(java.lang.CharSequence, java.lang.String);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/CharSequence;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.CharSequence canonicalPath
        start local 1 // java.lang.String remaining
         0: .line 2115
            aload 1 /* remaining */
            ifnonnull 6
         1: .line 2116
            aload 0 /* canonicalPath */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 2117
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            ifne 3
            ldc "/"
            areturn
         3: .line 2119
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/CharSequence;)Z
            ifeq 5
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_2
            if_icmpne 5
         4: .line 2120
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.appendSlash:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            areturn
         5: .line 2122
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            areturn
         6: .line 2126
      StackMap locals:
      StackMap stack:
            aload 1 /* remaining */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* slash */
        start local 3 // int slash
         7: .line 2127
            iload 3 /* slash */
            iconst_m1
            if_icmpne 11
         8: .line 2128
            aload 1 /* remaining */
            astore 2 /* child */
        start local 2 // java.lang.String child
         9: .line 2129
            aconst_null
            astore 1 /* remaining */
        10: .line 2130
            goto 13
        end local 2 // java.lang.String child
        11: .line 2131
      StackMap locals: java.lang.CharSequence java.lang.String top int
      StackMap stack:
            aload 1 /* remaining */
            iconst_0
            iload 3 /* slash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* child */
        start local 2 // java.lang.String child
        12: .line 2132
            aload 1 /* remaining */
            iload 3 /* slash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* remaining */
        13: .line 2135
      StackMap locals: java.lang.CharSequence java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* canonicalPath */
            astore 4 /* path */
        start local 4 // java.lang.CharSequence path
        14: .line 2136
            aload 2 /* child */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        15: .line 2138
            iload 3 /* slash */
            iconst_m1
            if_icmpne 35
        16: .line 2140
            aload 0 /* canonicalPath */
            ifnull 35
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            ifne 35
        17: .line 2141
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.appendSlash:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            astore 4 /* path */
        18: .line 2146
            goto 35
      StackMap locals: java.lang.CharSequence
      StackMap stack:
        19: aload 2 /* child */
            ldc ".."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        20: .line 2147
            aload 0 /* canonicalPath */
            ifnonnull 21
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot have .. at the start of an absolute path"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 0 /* canonicalPath */
        22: .line 2149
            aload 0 /* canonicalPath */
            checkcast java.lang.String
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* lastDir */
        start local 5 // int lastDir
        23: .line 2150
            iload 5 /* lastDir */
            iconst_m1
            if_icmpne 27
        24: .line 2151
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/CharSequence;)Z
            ifne 35
        25: .line 2154
            ldc ""
            astore 4 /* path */
        26: .line 2156
            goto 35
        27: .line 2157
      StackMap locals: int
      StackMap stack:
            aload 0 /* canonicalPath */
            iconst_0
            iload 5 /* lastDir */
            invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
            astore 4 /* path */
        end local 5 // int lastDir
        28: .line 2159
            goto 35
      StackMap locals:
      StackMap stack:
        29: aload 0 /* canonicalPath */
            ifnonnull 32
        30: .line 2160
            aload 2 /* child */
            astore 4 /* path */
        31: .line 2161
            goto 35
        32: .line 2162
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            iadd
            aload 2 /* child */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
        33: .line 2163
            aload 0 /* canonicalPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* child */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 2162
            astore 4 /* path */
        35: .line 2166
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            aload 1 /* remaining */
            invokestatic org.jruby.RubyFile.canonicalize:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/CharSequence;
            areturn
        end local 4 // java.lang.CharSequence path
        end local 3 // int slash
        end local 2 // java.lang.String child
        end local 1 // java.lang.String remaining
        end local 0 // java.lang.CharSequence canonicalPath
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0  canonicalPath  Ljava/lang/CharSequence;
            0   36     1      remaining  Ljava/lang/String;
            9   11     2          child  Ljava/lang/String;
           12   36     2          child  Ljava/lang/String;
            7   36     3          slash  I
           14   36     4           path  Ljava/lang/CharSequence;
           23   28     5        lastDir  I
    MethodParameters:
               Name  Flags
      canonicalPath  
      remaining      

  private static java.lang.StringBuilder appendSlash(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.CharSequence canonicalPath
         0: .line 2170
            new java.lang.StringBuilder
            dup
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 0 /* canonicalPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 0 // java.lang.CharSequence canonicalPath
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  canonicalPath  Ljava/lang/CharSequence;
    MethodParameters:
               Name  Flags
      canonicalPath  final

  private static org.jruby.RubyString checkHome(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 2178
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 2179
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getENV:()Lorg/jruby/RubyHash;
            aload 1 /* runtime */
            getstatic org.jruby.RubyDir.HOME:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* home */
        start local 2 // org.jruby.runtime.builtin.IRubyObject home
         2: .line 2180
            aload 2 /* home */
            ifnull 3
            aload 2 /* home */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 3
            aload 2 /* home */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.size:()I
            ifne 4
         3: .line 2181
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* runtime */
            ldc "couldn't find HOME environment -- expanding `~'"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2183
      StackMap locals:
      StackMap stack:
            aload 2 /* home */
            checkcast org.jruby.RubyString
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject home
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  context  Lorg/jruby/runtime/ThreadContext;
            1    5     1  runtime  Lorg/jruby/Ruby;
            2    5     2     home  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  

  public <T> T toJava(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyFile this
        start local 1 // java.lang.Class target
         0: .line 2188
            aload 1 /* target */
            ldc Ljava/io/File;
            if_acmpne 5
         1: .line 2189
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         2: .line 2190
            aload 2 /* path */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: new java.io.File
            dup
            aload 2 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.io.File
         4: areturn
        end local 2 // java.lang.String path
         5: .line 2192
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            ldc Ljava/nio/file/Path;
            if_acmpeq 6
            aload 1 /* target */
            ldc Ljava/nio/file/Watchable;
            if_acmpne 10
         6: .line 2193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         7: .line 2194
            aload 2 /* path */
            ifnonnull 8
            aconst_null
            goto 9
      StackMap locals: java.lang.String
      StackMap stack:
         8: invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
            aload 2 /* path */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
         9: areturn
        end local 2 // java.lang.String path
        10: .line 2196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.jruby.RubyIO.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class target
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/RubyFile;
            0   11     1  target  Ljava/lang/Class<TT;>;
            2    5     2    path  Ljava/lang/String;
            7   10     2    path  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
        Name  Flags
      target  

  private static org.jruby.RubyString doJoin(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/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2200
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2201
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            ldc "SEPARATOR"
            invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 4 /* separator */
        start local 4 // java.lang.String separator
         2: .line 2203
            aload 3 /* runtime */
            aload 2 /* args */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 5 /* argsAry */
        start local 5 // org.jruby.RubyArray argsAry
         3: .line 2205
            new java.lang.StringBuilder
            dup
            bipush 24
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 6 /* buffer */
        start local 6 // java.lang.StringBuilder buffer
         4: .line 2206
            aload 6 /* buffer */
            aload 4 /* separator */
            aload 0 /* context */
            aload 1 /* recv */
            aload 5 /* argsAry */
            invokestatic org.jruby.RubyFile.joinImpl:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;)Z
            istore 7 /* isTainted */
        start local 7 // boolean isTainted
         5: .line 2208
            new org.jruby.RubyString
            dup
            aload 3 /* runtime */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 6 /* buffer */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;)V
            astore 8 /* fixedStr */
        start local 8 // org.jruby.RubyString fixedStr
         6: .line 2209
            aload 8 /* fixedStr */
            iload 7 /* isTainted */
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         7: .line 2210
            aload 8 /* fixedStr */
            areturn
        end local 8 // org.jruby.RubyString fixedStr
        end local 7 // boolean isTainted
        end local 6 // java.lang.StringBuilder buffer
        end local 5 // org.jruby.RubyArray argsAry
        end local 4 // java.lang.String separator
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0    context  Lorg/jruby/runtime/ThreadContext;
            0    8     1       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     3    runtime  Lorg/jruby/Ruby;
            2    8     4  separator  Ljava/lang/String;
            3    8     5    argsAry  Lorg/jruby/RubyArray;
            4    8     6     buffer  Ljava/lang/StringBuilder;
            5    8     7  isTainted  Z
            6    8     8   fixedStr  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

  private static boolean joinImpl(java.lang.StringBuilder, java.lang.String, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyArray);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // java.lang.StringBuilder buffer
        start local 1 // java.lang.String separator
        start local 2 // org.jruby.runtime.ThreadContext context
        start local 3 // org.jruby.runtime.builtin.IRubyObject recv
        start local 4 // org.jruby.RubyArray args
         0: .line 2216
            iconst_0
            istore 5 /* isTainted */
        start local 5 // boolean isTainted
         1: .line 2218
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 30
         3: .line 2219
      StackMap locals: int int
      StackMap stack:
            aload 4 /* args */
            iload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* arg */
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg
         4: .line 2220
            aload 7 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 5
            iconst_1
            istore 5 /* isTainted */
         5: .line 2223
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* arg */
            instanceof org.jruby.RubyString
            ifeq 8
         6: .line 2224
            aload 7 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 8 /* element */
        start local 8 // java.lang.CharSequence element
         7: .line 2225
            goto 15
        end local 8 // java.lang.CharSequence element
      StackMap locals:
      StackMap stack:
         8: aload 7 /* arg */
            instanceof org.jruby.RubyArray
            ifeq 13
         9: .line 2226
            aload 2 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 7 /* arg */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 2227
            aload 2 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "recursive array"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 2229
      StackMap locals:
      StackMap stack:
            aload 1 /* separator */
            aload 2 /* context */
            aload 3 /* recv */
            aload 4 /* args */
            aload 7 /* arg */
            checkcast org.jruby.RubyArray
            invokestatic org.jruby.RubyFile.joinImplInspecting:(Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;)Ljava/lang/StringBuilder;
            astore 8 /* element */
        start local 8 // java.lang.CharSequence element
        12: .line 2231
            goto 15
        end local 8 // java.lang.CharSequence element
        13: .line 2232
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* context */
            aload 7 /* arg */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 9 /* path */
        start local 9 // org.jruby.RubyString path
        14: .line 2233
            aload 9 /* path */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 8 /* element */
        end local 9 // org.jruby.RubyString path
        start local 8 // java.lang.CharSequence element
        15: .line 2236
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* buffer */
            invokestatic org.jruby.RubyFile.chomp:(Ljava/lang/StringBuilder;)I
            istore 9 /* trailingDelimiterIndex */
        start local 9 // int trailingDelimiterIndex
        16: .line 2237
            iload 9 /* trailingDelimiterIndex */
            iconst_m1
            if_icmpeq 17
            iconst_1
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 10 /* trailingDelimiter */
        start local 10 // boolean trailingDelimiter
        19: .line 2238
            aload 8 /* element */
            invokeinterface java.lang.CharSequence.length:()I
            ifle 20
            aload 8 /* element */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic org.jruby.RubyFile.isDirSeparator:(C)Z
            ifeq 20
            iconst_1
            goto 21
      StackMap locals: int
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 11 /* leadingDelimiter */
        start local 11 // boolean leadingDelimiter
        22: .line 2239
            iload 6 /* i */
            ifle 28
        23: .line 2240
            iload 11 /* leadingDelimiter */
            ifeq 26
        24: .line 2242
            iload 10 /* trailingDelimiter */
            ifeq 28
            aload 0 /* buffer */
            iload 9 /* trailingDelimiterIndex */
            aload 0 /* buffer */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        25: .line 2243
            goto 28
      StackMap locals: int
      StackMap stack:
        26: iload 10 /* trailingDelimiter */
            ifne 28
        27: .line 2244
            aload 0 /* buffer */
            aload 1 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 2247
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            aload 8 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 11 // boolean leadingDelimiter
        end local 10 // boolean trailingDelimiter
        end local 9 // int trailingDelimiterIndex
        end local 8 // java.lang.CharSequence element
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg
        29: .line 2218
            iinc 6 /* i */ 1
      StackMap locals: java.lang.StringBuilder java.lang.String org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray int int
      StackMap stack:
        30: iload 6 /* i */
            aload 4 /* args */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 3
        end local 6 // int i
        31: .line 2250
            iload 5 /* isTainted */
            ireturn
        end local 5 // boolean isTainted
        end local 4 // org.jruby.RubyArray args
        end local 3 // org.jruby.runtime.builtin.IRubyObject recv
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // java.lang.String separator
        end local 0 // java.lang.StringBuilder buffer
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   32     0                  buffer  Ljava/lang/StringBuilder;
            0   32     1               separator  Ljava/lang/String;
            0   32     2                 context  Lorg/jruby/runtime/ThreadContext;
            0   32     3                    recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   32     4                    args  Lorg/jruby/RubyArray;
            1   32     5               isTainted  Z
            2   31     6                       i  I
            4   29     7                     arg  Lorg/jruby/runtime/builtin/IRubyObject;
            7    8     8                 element  Ljava/lang/CharSequence;
           12   13     8                 element  Ljava/lang/CharSequence;
           15   29     8                 element  Ljava/lang/CharSequence;
           14   15     9                    path  Lorg/jruby/RubyString;
           16   29     9  trailingDelimiterIndex  I
           19   29    10       trailingDelimiter  Z
           22   29    11        leadingDelimiter  Z
    MethodParameters:
           Name  Flags
      buffer     final
      separator  final
      context    
      recv       
      args       

  private static java.lang.StringBuilder joinImplInspecting(java.lang.String, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyArray, org.jruby.RubyArray);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // java.lang.String separator
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject recv
        start local 3 // org.jruby.RubyArray parent
        start local 4 // org.jruby.RubyArray array
         0: .line 2255
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2257
            new java.lang.StringBuilder
            dup
            bipush 24
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 6 /* buffer */
        start local 6 // java.lang.StringBuilder buffer
         2: .line 2259
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 2260
            aload 6 /* buffer */
            aload 0 /* separator */
            aload 1 /* context */
            aload 2 /* recv */
            aload 4 /* array */
            invokestatic org.jruby.RubyFile.joinImpl:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;)Z
            pop
         4: .line 2261
            aload 6 /* buffer */
            areturn
         5: .line 2265
      StackMap locals: org.jruby.Ruby java.lang.StringBuilder
      StackMap stack:
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.registerInspecting:(Ljava/lang/Object;)V
         6: .line 2266
            aload 6 /* buffer */
            aload 0 /* separator */
            aload 1 /* context */
            aload 2 /* recv */
            aload 4 /* array */
            invokestatic org.jruby.RubyFile.joinImpl:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyArray;)Z
            pop
         7: .line 2267
            aload 6 /* buffer */
            astore 8
         8: .line 2270
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         9: .line 2267
            aload 8
            areturn
        10: .line 2269
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        11: .line 2270
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
        12: .line 2271
            aload 7
            athrow
        end local 6 // java.lang.StringBuilder buffer
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.RubyArray array
        end local 3 // org.jruby.RubyArray parent
        end local 2 // org.jruby.runtime.builtin.IRubyObject recv
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // java.lang.String separator
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0  separator  Ljava/lang/String;
            0   13     1    context  Lorg/jruby/runtime/ThreadContext;
            0   13     2       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   13     3     parent  Lorg/jruby/RubyArray;
            0   13     4      array  Lorg/jruby/RubyArray;
            1   13     5    runtime  Lorg/jruby/Ruby;
            2   13     6     buffer  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           5     8      10  any
    MethodParameters:
           Name  Flags
      separator  final
      context    
      recv       
      parent     
      array      

  private static boolean isDirSeparator(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 2277
            iload 0 /* c */
            bipush 47
            if_icmpeq 2
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 1
            iload 0 /* c */
            bipush 92
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static int chomp(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.StringBuilder buffer
         0: .line 2284
            iconst_0
            istore 1 /* found */
        start local 1 // boolean found
         1: .line 2286
            aload 0 /* buffer */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            istore 2 /* lastIndex */
        start local 2 // int lastIndex
         2: goto 7
         3: .line 2287
      StackMap locals: int int
      StackMap stack:
            aload 0 /* buffer */
            iload 2 /* lastIndex */
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            invokestatic org.jruby.RubyFile.isDirSeparator:(C)Z
            ifne 5
         4: .line 2288
            iload 1 /* found */
            ifeq 8
            iload 2 /* lastIndex */
            iconst_1
            iadd
            ireturn
         5: .line 2292
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* found */
         6: .line 2286
            iinc 2 /* lastIndex */ -1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* lastIndex */
            ifge 3
        end local 2 // int lastIndex
         8: .line 2295
      StackMap locals:
      StackMap stack:
            iload 1 /* found */
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_m1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 1 // boolean found
        end local 0 // java.lang.StringBuilder buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0     buffer  Ljava/lang/StringBuilder;
            1   11     1      found  Z
            2    8     2  lastIndex  I
    MethodParameters:
        Name  Flags
      buffer  final

  private static java.lang.String replace(java.lang.String, java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String str
        start local 1 // java.lang.CharSequence target
        start local 2 // java.lang.CharSequence replace
         0: .line 2299
            aload 1 /* target */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            if_icmpne 2
            aload 2 /* replace */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            if_icmpne 2
         1: .line 2300
            aload 0 /* str */
            aload 1 /* target */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            aload 2 /* replace */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
         2: .line 2302
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            aload 1 /* target */
            aload 2 /* replace */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.CharSequence replace
        end local 1 // java.lang.CharSequence target
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0      str  Ljava/lang/String;
            0    3     1   target  Ljava/lang/CharSequence;
            0    3     2  replace  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      str      final
      target   
      replace  

  private static org.jruby.runtime.builtin.IRubyObject truncateCommon(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: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 2306
            aload 2 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* filename */
        start local 4 // org.jruby.RubyString filename
         1: .line 2307
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         2: .line 2308
            aload 3 /* arg2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            astore 6 /* newLength */
        start local 6 // org.jruby.RubyInteger newLength
         3: .line 2311
            new java.io.File
            dup
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* childFile */
        start local 8 // java.io.File childFile
         4: .line 2312
            aload 5 /* runtime */
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.runtime.Helpers.decodeByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Ljava/lang/String;
            astore 9 /* filenameString */
        start local 9 // java.lang.String filenameString
         5: .line 2314
            aload 8 /* childFile */
            invokevirtual java.io.File.isAbsolute:()Z
            ifeq 8
         6: .line 2315
            aload 8 /* childFile */
            astore 7 /* testFile */
        start local 7 // java.io.File testFile
         7: .line 2316
            goto 9
        end local 7 // java.io.File testFile
         8: .line 2317
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.Ruby org.jruby.RubyInteger top java.io.File java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 9 /* filenameString */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* testFile */
        start local 7 // java.io.File testFile
         9: .line 2320
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.Ruby org.jruby.RubyInteger java.io.File java.io.File java.lang.String
      StackMap stack:
            aload 7 /* testFile */
            invokevirtual java.io.File.exists:()Z
            ifne 11
        10: .line 2321
            aload 5 /* runtime */
            aload 9 /* filenameString */
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 2324
      StackMap locals:
      StackMap stack:
            aload 6 /* newLength */
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lconst_0
            lcmp
            ifge 13
        12: .line 2325
            aload 5 /* runtime */
            aload 9 /* filenameString */
            invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 2328
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 4 /* filename */
            aastore
            dup
            iconst_1
            aload 5 /* runtime */
            ldc "r+"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            aastore
            astore 10 /* args */
        start local 10 // org.jruby.runtime.builtin.IRubyObject[] args
        14: .line 2329
            aload 0 /* context */
            aload 1 /* recv */
            aload 10 /* args */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.RubyFile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyFile
            astore 11 /* file */
        start local 11 // org.jruby.RubyFile file
        15: .line 2330
            aload 11 /* file */
            aload 0 /* context */
            aload 6 /* newLength */
            invokevirtual org.jruby.RubyFile.truncate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        16: .line 2331
            aload 11 /* file */
            invokevirtual org.jruby.RubyFile.close:()V
        17: .line 2333
            aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 11 // org.jruby.RubyFile file
        end local 10 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 9 // java.lang.String filenameString
        end local 8 // java.io.File childFile
        end local 7 // java.io.File testFile
        end local 6 // org.jruby.RubyInteger newLength
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.RubyString filename
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0         context  Lorg/jruby/runtime/ThreadContext;
            0   18     1            recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     2            arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     3            arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            1   18     4        filename  Lorg/jruby/RubyString;
            2   18     5         runtime  Lorg/jruby/Ruby;
            3   18     6       newLength  Lorg/jruby/RubyInteger;
            7    8     7        testFile  Ljava/io/File;
            9   18     7        testFile  Ljava/io/File;
            4   18     8       childFile  Ljava/io/File;
            5   18     9  filenameString  Ljava/lang/String;
           14   18    10            args  [Lorg/jruby/runtime/builtin/IRubyObject;
           15   18    11            file  Lorg/jruby/RubyFile;
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg1     
      arg2     

  private static org.jruby.runtime.JavaSites$FileSites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$FileSites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 2337
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.File:Lorg/jruby/runtime/JavaSites$FileSites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject initialize19(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyFile this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 2342
            aload 0 /* this */
            aconst_null
            aload 1 /* args */
            aload 2 /* block */
            invokevirtual org.jruby.RubyFile.initialize:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyFile;
            0    1     1   args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      args   
      block  

  static int[] $SWITCH_TABLE$jnr$constants$platform$Errno();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 89
            getstatic org.jruby.RubyFile.$SWITCH_TABLE$jnr$constants$platform$Errno:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jnr.constants.platform.Errno.values:()[Ljnr/constants/platform/Errno;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jnr.constants.platform.Errno.E2BIG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 7
            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.Errno.EACCES:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 13
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jnr.constants.platform.Errno.EADDRINUSE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 49
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jnr.constants.platform.Errno.EADDRNOTAVAIL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 50
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jnr.constants.platform.Errno.EADV:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 104
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jnr.constants.platform.Errno.EAFNOSUPPORT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 48
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jnr.constants.platform.Errno.EAGAIN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 36
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jnr.constants.platform.Errno.EALREADY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 38
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jnr.constants.platform.Errno.EAUTH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 133
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jnr.constants.platform.Errno.EBADE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 94
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jnr.constants.platform.Errno.EBADF:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 9
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jnr.constants.platform.Errno.EBADFD:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 109
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jnr.constants.platform.Errno.EBADMSG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 78
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jnr.constants.platform.Errno.EBADR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 95
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jnr.constants.platform.Errno.EBADRPC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 134
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jnr.constants.platform.Errno.EBADRQC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 98
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jnr.constants.platform.Errno.EBADSLT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 99
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jnr.constants.platform.Errno.EBFONT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 101
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic jnr.constants.platform.Errno.EBUSY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 16
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic jnr.constants.platform.Errno.ECANCELED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 123
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic jnr.constants.platform.Errno.ECAPMODE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 147
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic jnr.constants.platform.Errno.ECHILD:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 10
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic jnr.constants.platform.Errno.ECHRNG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 86
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic jnr.constants.platform.Errno.ECOMM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 106
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic jnr.constants.platform.Errno.ECONNABORTED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 54
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic jnr.constants.platform.Errno.ECONNREFUSED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 62
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic jnr.constants.platform.Errno.ECONNRESET:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 55
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic jnr.constants.platform.Errno.EDEADLK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 11
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic jnr.constants.platform.Errno.EDEADLOCK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 100
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic jnr.constants.platform.Errno.EDESTADDRREQ:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 40
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic jnr.constants.platform.Errno.EDOM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 33
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic jnr.constants.platform.Errno.EDOOFUS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 135
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic jnr.constants.platform.Errno.EDOTDOT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 107
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic jnr.constants.platform.Errno.EDQUOT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 69
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic jnr.constants.platform.Errno.EEXIST:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 17
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic jnr.constants.platform.Errno.EFAULT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 14
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic jnr.constants.platform.Errno.EFBIG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 27
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic jnr.constants.platform.Errno.EFTYPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 136
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic jnr.constants.platform.Errno.EHOSTDOWN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 65
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic jnr.constants.platform.Errno.EHOSTUNREACH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 66
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic jnr.constants.platform.Errno.EHWPOISON:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 146
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic jnr.constants.platform.Errno.EIDRM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 75
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic jnr.constants.platform.Errno.EILSEQ:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 77
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic jnr.constants.platform.Errno.EINPROGRESS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 37
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iconst_4
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic jnr.constants.platform.Errno.EINVAL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 22
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic jnr.constants.platform.Errno.EIO:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iconst_5
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic jnr.constants.platform.Errno.EIPSEC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 145
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic jnr.constants.platform.Errno.EISCONN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 57
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic jnr.constants.platform.Errno.EISDIR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 21
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            getstatic jnr.constants.platform.Errno.EISNAM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 121
            iastore
       153: goto 155
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       154: pop
      StackMap locals:
      StackMap stack:
       155: aload 0
            getstatic jnr.constants.platform.Errno.EKEYEXPIRED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 124
            iastore
       156: goto 158
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       157: pop
      StackMap locals:
      StackMap stack:
       158: aload 0
            getstatic jnr.constants.platform.Errno.EKEYREJECTED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 125
            iastore
       159: goto 161
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       160: pop
      StackMap locals:
      StackMap stack:
       161: aload 0
            getstatic jnr.constants.platform.Errno.EKEYREVOKED:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 126
            iastore
       162: goto 164
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       163: pop
      StackMap locals:
      StackMap stack:
       164: aload 0
            getstatic jnr.constants.platform.Errno.EL2HLT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 93
            iastore
       165: goto 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       166: pop
      StackMap locals:
      StackMap stack:
       167: aload 0
            getstatic jnr.constants.platform.Errno.EL2NSYNC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 87
            iastore
       168: goto 170
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       169: pop
      StackMap locals:
      StackMap stack:
       170: aload 0
            getstatic jnr.constants.platform.Errno.EL3HLT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 88
            iastore
       171: goto 173
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       172: pop
      StackMap locals:
      StackMap stack:
       173: aload 0
            getstatic jnr.constants.platform.Errno.EL3RST:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 89
            iastore
       174: goto 176
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       175: pop
      StackMap locals:
      StackMap stack:
       176: aload 0
            getstatic jnr.constants.platform.Errno.ELIBACC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 111
            iastore
       177: goto 179
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       178: pop
      StackMap locals:
      StackMap stack:
       179: aload 0
            getstatic jnr.constants.platform.Errno.ELIBBAD:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 112
            iastore
       180: goto 182
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       181: pop
      StackMap locals:
      StackMap stack:
       182: aload 0
            getstatic jnr.constants.platform.Errno.ELIBEXEC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 115
            iastore
       183: goto 185
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       184: pop
      StackMap locals:
      StackMap stack:
       185: aload 0
            getstatic jnr.constants.platform.Errno.ELIBMAX:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 114
            iastore
       186: goto 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       187: pop
      StackMap locals:
      StackMap stack:
       188: aload 0
            getstatic jnr.constants.platform.Errno.ELIBSCN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 113
            iastore
       189: goto 191
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       190: pop
      StackMap locals:
      StackMap stack:
       191: aload 0
            getstatic jnr.constants.platform.Errno.ELNRNG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 90
            iastore
       192: goto 194
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       193: pop
      StackMap locals:
      StackMap stack:
       194: aload 0
            getstatic jnr.constants.platform.Errno.ELOOP:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 63
            iastore
       195: goto 197
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       196: pop
      StackMap locals:
      StackMap stack:
       197: aload 0
            getstatic jnr.constants.platform.Errno.EMEDIUMTYPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 127
            iastore
       198: goto 200
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       199: pop
      StackMap locals:
      StackMap stack:
       200: aload 0
            getstatic jnr.constants.platform.Errno.EMFILE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 24
            iastore
       201: goto 203
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       202: pop
      StackMap locals:
      StackMap stack:
       203: aload 0
            getstatic jnr.constants.platform.Errno.EMLINK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 31
            iastore
       204: goto 206
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       205: pop
      StackMap locals:
      StackMap stack:
       206: aload 0
            getstatic jnr.constants.platform.Errno.EMSGSIZE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 41
            iastore
       207: goto 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       208: pop
      StackMap locals:
      StackMap stack:
       209: aload 0
            getstatic jnr.constants.platform.Errno.EMULTIHOP:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 79
            iastore
       210: goto 212
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       211: pop
      StackMap locals:
      StackMap stack:
       212: aload 0
            getstatic jnr.constants.platform.Errno.ENAMETOOLONG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 64
            iastore
       213: goto 215
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       214: pop
      StackMap locals:
      StackMap stack:
       215: aload 0
            getstatic jnr.constants.platform.Errno.ENAVAIL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 120
            iastore
       216: goto 218
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       217: pop
      StackMap locals:
      StackMap stack:
       218: aload 0
            getstatic jnr.constants.platform.Errno.ENEEDAUTH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 137
            iastore
       219: goto 221
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       220: pop
      StackMap locals:
      StackMap stack:
       221: aload 0
            getstatic jnr.constants.platform.Errno.ENETDOWN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 51
            iastore
       222: goto 224
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       223: pop
      StackMap locals:
      StackMap stack:
       224: aload 0
            getstatic jnr.constants.platform.Errno.ENETRESET:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 53
            iastore
       225: goto 227
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       226: pop
      StackMap locals:
      StackMap stack:
       227: aload 0
            getstatic jnr.constants.platform.Errno.ENETUNREACH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 52
            iastore
       228: goto 230
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       229: pop
      StackMap locals:
      StackMap stack:
       230: aload 0
            getstatic jnr.constants.platform.Errno.ENFILE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 23
            iastore
       231: goto 233
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       232: pop
      StackMap locals:
      StackMap stack:
       233: aload 0
            getstatic jnr.constants.platform.Errno.ENOANO:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 97
            iastore
       234: goto 236
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       235: pop
      StackMap locals:
      StackMap stack:
       236: aload 0
            getstatic jnr.constants.platform.Errno.ENOATTR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 138
            iastore
       237: goto 239
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       238: pop
      StackMap locals:
      StackMap stack:
       239: aload 0
            getstatic jnr.constants.platform.Errno.ENOBUFS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 56
            iastore
       240: goto 242
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       241: pop
      StackMap locals:
      StackMap stack:
       242: aload 0
            getstatic jnr.constants.platform.Errno.ENOCSI:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 92
            iastore
       243: goto 245
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       244: pop
      StackMap locals:
      StackMap stack:
       245: aload 0
            getstatic jnr.constants.platform.Errno.ENODATA:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 80
            iastore
       246: goto 248
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       247: pop
      StackMap locals:
      StackMap stack:
       248: aload 0
            getstatic jnr.constants.platform.Errno.ENODEV:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 19
            iastore
       249: goto 251
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       250: pop
      StackMap locals:
      StackMap stack:
       251: aload 0
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iconst_2
            iastore
       252: goto 254
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       253: pop
      StackMap locals:
      StackMap stack:
       254: aload 0
            getstatic jnr.constants.platform.Errno.ENOEXEC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 8
            iastore
       255: goto 257
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       256: pop
      StackMap locals:
      StackMap stack:
       257: aload 0
            getstatic jnr.constants.platform.Errno.ENOKEY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 128
            iastore
       258: goto 260
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       259: pop
      StackMap locals:
      StackMap stack:
       260: aload 0
            getstatic jnr.constants.platform.Errno.ENOLCK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 72
            iastore
       261: goto 263
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       262: pop
      StackMap locals:
      StackMap stack:
       263: aload 0
            getstatic jnr.constants.platform.Errno.ENOLINK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 81
            iastore
       264: goto 266
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       265: pop
      StackMap locals:
      StackMap stack:
       266: aload 0
            getstatic jnr.constants.platform.Errno.ENOMEDIUM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 129
            iastore
       267: goto 269
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       268: pop
      StackMap locals:
      StackMap stack:
       269: aload 0
            getstatic jnr.constants.platform.Errno.ENOMEM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 12
            iastore
       270: goto 272
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       271: pop
      StackMap locals:
      StackMap stack:
       272: aload 0
            getstatic jnr.constants.platform.Errno.ENOMSG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 76
            iastore
       273: goto 275
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       274: pop
      StackMap locals:
      StackMap stack:
       275: aload 0
            getstatic jnr.constants.platform.Errno.ENONET:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 102
            iastore
       276: goto 278
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       277: pop
      StackMap locals:
      StackMap stack:
       278: aload 0
            getstatic jnr.constants.platform.Errno.ENOPKG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 103
            iastore
       279: goto 281
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       280: pop
      StackMap locals:
      StackMap stack:
       281: aload 0
            getstatic jnr.constants.platform.Errno.ENOPROTOOPT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 43
            iastore
       282: goto 284
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       283: pop
      StackMap locals:
      StackMap stack:
       284: aload 0
            getstatic jnr.constants.platform.Errno.ENOSPC:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 28
            iastore
       285: goto 287
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       286: pop
      StackMap locals:
      StackMap stack:
       287: aload 0
            getstatic jnr.constants.platform.Errno.ENOSR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 82
            iastore
       288: goto 290
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       289: pop
      StackMap locals:
      StackMap stack:
       290: aload 0
            getstatic jnr.constants.platform.Errno.ENOSTR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 83
            iastore
       291: goto 293
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       292: pop
      StackMap locals:
      StackMap stack:
       293: aload 0
            getstatic jnr.constants.platform.Errno.ENOSYS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 73
            iastore
       294: goto 296
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       295: pop
      StackMap locals:
      StackMap stack:
       296: aload 0
            getstatic jnr.constants.platform.Errno.ENOTBLK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 15
            iastore
       297: goto 299
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       298: pop
      StackMap locals:
      StackMap stack:
       299: aload 0
            getstatic jnr.constants.platform.Errno.ENOTCAPABLE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 148
            iastore
       300: goto 302
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       301: pop
      StackMap locals:
      StackMap stack:
       302: aload 0
            getstatic jnr.constants.platform.Errno.ENOTCONN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 58
            iastore
       303: goto 305
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       304: pop
      StackMap locals:
      StackMap stack:
       305: aload 0
            getstatic jnr.constants.platform.Errno.ENOTDIR:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 20
            iastore
       306: goto 308
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       307: pop
      StackMap locals:
      StackMap stack:
       308: aload 0
            getstatic jnr.constants.platform.Errno.ENOTEMPTY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 67
            iastore
       309: goto 311
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       310: pop
      StackMap locals:
      StackMap stack:
       311: aload 0
            getstatic jnr.constants.platform.Errno.ENOTNAM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 119
            iastore
       312: goto 314
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       313: pop
      StackMap locals:
      StackMap stack:
       314: aload 0
            getstatic jnr.constants.platform.Errno.ENOTRECOVERABLE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 130
            iastore
       315: goto 317
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       316: pop
      StackMap locals:
      StackMap stack:
       317: aload 0
            getstatic jnr.constants.platform.Errno.ENOTSOCK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 39
            iastore
       318: goto 320
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       319: pop
      StackMap locals:
      StackMap stack:
       320: aload 0
            getstatic jnr.constants.platform.Errno.ENOTSUP:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 139
            iastore
       321: goto 323
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       322: pop
      StackMap locals:
      StackMap stack:
       323: aload 0
            getstatic jnr.constants.platform.Errno.ENOTTY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 25
            iastore
       324: goto 326
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       325: pop
      StackMap locals:
      StackMap stack:
       326: aload 0
            getstatic jnr.constants.platform.Errno.ENOTUNIQ:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 108
            iastore
       327: goto 329
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       328: pop
      StackMap locals:
      StackMap stack:
       329: aload 0
            getstatic jnr.constants.platform.Errno.ENXIO:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 6
            iastore
       330: goto 332
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       331: pop
      StackMap locals:
      StackMap stack:
       332: aload 0
            getstatic jnr.constants.platform.Errno.EOPNOTSUPP:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 46
            iastore
       333: goto 335
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       334: pop
      StackMap locals:
      StackMap stack:
       335: aload 0
            getstatic jnr.constants.platform.Errno.EOVERFLOW:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 74
            iastore
       336: goto 338
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       337: pop
      StackMap locals:
      StackMap stack:
       338: aload 0
            getstatic jnr.constants.platform.Errno.EOWNERDEAD:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 131
            iastore
       339: goto 341
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       340: pop
      StackMap locals:
      StackMap stack:
       341: aload 0
            getstatic jnr.constants.platform.Errno.EPERM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iconst_1
            iastore
       342: goto 344
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       343: pop
      StackMap locals:
      StackMap stack:
       344: aload 0
            getstatic jnr.constants.platform.Errno.EPFNOSUPPORT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 47
            iastore
       345: goto 347
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       346: pop
      StackMap locals:
      StackMap stack:
       347: aload 0
            getstatic jnr.constants.platform.Errno.EPIPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 32
            iastore
       348: goto 350
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       349: pop
      StackMap locals:
      StackMap stack:
       350: aload 0
            getstatic jnr.constants.platform.Errno.EPROCLIM:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 140
            iastore
       351: goto 353
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       352: pop
      StackMap locals:
      StackMap stack:
       353: aload 0
            getstatic jnr.constants.platform.Errno.EPROCUNAVAIL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 141
            iastore
       354: goto 356
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       355: pop
      StackMap locals:
      StackMap stack:
       356: aload 0
            getstatic jnr.constants.platform.Errno.EPROGMISMATCH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 142
            iastore
       357: goto 359
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       358: pop
      StackMap locals:
      StackMap stack:
       359: aload 0
            getstatic jnr.constants.platform.Errno.EPROGUNAVAIL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 143
            iastore
       360: goto 362
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       361: pop
      StackMap locals:
      StackMap stack:
       362: aload 0
            getstatic jnr.constants.platform.Errno.EPROTO:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 84
            iastore
       363: goto 365
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       364: pop
      StackMap locals:
      StackMap stack:
       365: aload 0
            getstatic jnr.constants.platform.Errno.EPROTONOSUPPORT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 44
            iastore
       366: goto 368
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       367: pop
      StackMap locals:
      StackMap stack:
       368: aload 0
            getstatic jnr.constants.platform.Errno.EPROTOTYPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 42
            iastore
       369: goto 371
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       370: pop
      StackMap locals:
      StackMap stack:
       371: aload 0
            getstatic jnr.constants.platform.Errno.ERANGE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 34
            iastore
       372: goto 374
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       373: pop
      StackMap locals:
      StackMap stack:
       374: aload 0
            getstatic jnr.constants.platform.Errno.EREMCHG:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 110
            iastore
       375: goto 377
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       376: pop
      StackMap locals:
      StackMap stack:
       377: aload 0
            getstatic jnr.constants.platform.Errno.EREMOTE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 71
            iastore
       378: goto 380
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       379: pop
      StackMap locals:
      StackMap stack:
       380: aload 0
            getstatic jnr.constants.platform.Errno.EREMOTEIO:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 122
            iastore
       381: goto 383
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       382: pop
      StackMap locals:
      StackMap stack:
       383: aload 0
            getstatic jnr.constants.platform.Errno.ERESTART:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 116
            iastore
       384: goto 386
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       385: pop
      StackMap locals:
      StackMap stack:
       386: aload 0
            getstatic jnr.constants.platform.Errno.ERFKILL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 132
            iastore
       387: goto 389
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       388: pop
      StackMap locals:
      StackMap stack:
       389: aload 0
            getstatic jnr.constants.platform.Errno.EROFS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 30
            iastore
       390: goto 392
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       391: pop
      StackMap locals:
      StackMap stack:
       392: aload 0
            getstatic jnr.constants.platform.Errno.ERPCMISMATCH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 144
            iastore
       393: goto 395
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       394: pop
      StackMap locals:
      StackMap stack:
       395: aload 0
            getstatic jnr.constants.platform.Errno.ESHUTDOWN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 59
            iastore
       396: goto 398
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       397: pop
      StackMap locals:
      StackMap stack:
       398: aload 0
            getstatic jnr.constants.platform.Errno.ESOCKTNOSUPPORT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 45
            iastore
       399: goto 401
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       400: pop
      StackMap locals:
      StackMap stack:
       401: aload 0
            getstatic jnr.constants.platform.Errno.ESPIPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 29
            iastore
       402: goto 404
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       403: pop
      StackMap locals:
      StackMap stack:
       404: aload 0
            getstatic jnr.constants.platform.Errno.ESRCH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iconst_3
            iastore
       405: goto 407
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       406: pop
      StackMap locals:
      StackMap stack:
       407: aload 0
            getstatic jnr.constants.platform.Errno.ESRMNT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 105
            iastore
       408: goto 410
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       409: pop
      StackMap locals:
      StackMap stack:
       410: aload 0
            getstatic jnr.constants.platform.Errno.ESTALE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 70
            iastore
       411: goto 413
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       412: pop
      StackMap locals:
      StackMap stack:
       413: aload 0
            getstatic jnr.constants.platform.Errno.ESTRPIPE:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 117
            iastore
       414: goto 416
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       415: pop
      StackMap locals:
      StackMap stack:
       416: aload 0
            getstatic jnr.constants.platform.Errno.ETIME:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 85
            iastore
       417: goto 419
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       418: pop
      StackMap locals:
      StackMap stack:
       419: aload 0
            getstatic jnr.constants.platform.Errno.ETIMEDOUT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 61
            iastore
       420: goto 422
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       421: pop
      StackMap locals:
      StackMap stack:
       422: aload 0
            getstatic jnr.constants.platform.Errno.ETOOMANYREFS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 60
            iastore
       423: goto 425
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       424: pop
      StackMap locals:
      StackMap stack:
       425: aload 0
            getstatic jnr.constants.platform.Errno.ETXTBSY:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 26
            iastore
       426: goto 428
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       427: pop
      StackMap locals:
      StackMap stack:
       428: aload 0
            getstatic jnr.constants.platform.Errno.EUCLEAN:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 118
            iastore
       429: goto 431
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       430: pop
      StackMap locals:
      StackMap stack:
       431: aload 0
            getstatic jnr.constants.platform.Errno.EUNATCH:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 91
            iastore
       432: goto 434
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       433: pop
      StackMap locals:
      StackMap stack:
       434: aload 0
            getstatic jnr.constants.platform.Errno.EUSERS:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 68
            iastore
       435: goto 437
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       436: pop
      StackMap locals:
      StackMap stack:
       437: aload 0
            getstatic jnr.constants.platform.Errno.EWOULDBLOCK:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 35
            iastore
       438: goto 440
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       439: pop
      StackMap locals:
      StackMap stack:
       440: aload 0
            getstatic jnr.constants.platform.Errno.EXDEV:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 18
            iastore
       441: goto 443
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       442: pop
      StackMap locals:
      StackMap stack:
       443: aload 0
            getstatic jnr.constants.platform.Errno.EXFULL:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            bipush 96
            iastore
       444: goto 446
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       445: pop
      StackMap locals:
      StackMap stack:
       446: aload 0
            getstatic jnr.constants.platform.Errno.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            sipush 149
            iastore
       447: goto 449
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       448: pop
      StackMap locals:
      StackMap stack:
       449: aload 0
            dup
            putstatic org.jruby.RubyFile.$SWITCH_TABLE$jnr$constants$platform$Errno:[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
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
         152   153     154  Class java.lang.NoSuchFieldError
         155   156     157  Class java.lang.NoSuchFieldError
         158   159     160  Class java.lang.NoSuchFieldError
         161   162     163  Class java.lang.NoSuchFieldError
         164   165     166  Class java.lang.NoSuchFieldError
         167   168     169  Class java.lang.NoSuchFieldError
         170   171     172  Class java.lang.NoSuchFieldError
         173   174     175  Class java.lang.NoSuchFieldError
         176   177     178  Class java.lang.NoSuchFieldError
         179   180     181  Class java.lang.NoSuchFieldError
         182   183     184  Class java.lang.NoSuchFieldError
         185   186     187  Class java.lang.NoSuchFieldError
         188   189     190  Class java.lang.NoSuchFieldError
         191   192     193  Class java.lang.NoSuchFieldError
         194   195     196  Class java.lang.NoSuchFieldError
         197   198     199  Class java.lang.NoSuchFieldError
         200   201     202  Class java.lang.NoSuchFieldError
         203   204     205  Class java.lang.NoSuchFieldError
         206   207     208  Class java.lang.NoSuchFieldError
         209   210     211  Class java.lang.NoSuchFieldError
         212   213     214  Class java.lang.NoSuchFieldError
         215   216     217  Class java.lang.NoSuchFieldError
         218   219     220  Class java.lang.NoSuchFieldError
         221   222     223  Class java.lang.NoSuchFieldError
         224   225     226  Class java.lang.NoSuchFieldError
         227   228     229  Class java.lang.NoSuchFieldError
         230   231     232  Class java.lang.NoSuchFieldError
         233   234     235  Class java.lang.NoSuchFieldError
         236   237     238  Class java.lang.NoSuchFieldError
         239   240     241  Class java.lang.NoSuchFieldError
         242   243     244  Class java.lang.NoSuchFieldError
         245   246     247  Class java.lang.NoSuchFieldError
         248   249     250  Class java.lang.NoSuchFieldError
         251   252     253  Class java.lang.NoSuchFieldError
         254   255     256  Class java.lang.NoSuchFieldError
         257   258     259  Class java.lang.NoSuchFieldError
         260   261     262  Class java.lang.NoSuchFieldError
         263   264     265  Class java.lang.NoSuchFieldError
         266   267     268  Class java.lang.NoSuchFieldError
         269   270     271  Class java.lang.NoSuchFieldError
         272   273     274  Class java.lang.NoSuchFieldError
         275   276     277  Class java.lang.NoSuchFieldError
         278   279     280  Class java.lang.NoSuchFieldError
         281   282     283  Class java.lang.NoSuchFieldError
         284   285     286  Class java.lang.NoSuchFieldError
         287   288     289  Class java.lang.NoSuchFieldError
         290   291     292  Class java.lang.NoSuchFieldError
         293   294     295  Class java.lang.NoSuchFieldError
         296   297     298  Class java.lang.NoSuchFieldError
         299   300     301  Class java.lang.NoSuchFieldError
         302   303     304  Class java.lang.NoSuchFieldError
         305   306     307  Class java.lang.NoSuchFieldError
         308   309     310  Class java.lang.NoSuchFieldError
         311   312     313  Class java.lang.NoSuchFieldError
         314   315     316  Class java.lang.NoSuchFieldError
         317   318     319  Class java.lang.NoSuchFieldError
         320   321     322  Class java.lang.NoSuchFieldError
         323   324     325  Class java.lang.NoSuchFieldError
         326   327     328  Class java.lang.NoSuchFieldError
         329   330     331  Class java.lang.NoSuchFieldError
         332   333     334  Class java.lang.NoSuchFieldError
         335   336     337  Class java.lang.NoSuchFieldError
         338   339     340  Class java.lang.NoSuchFieldError
         341   342     343  Class java.lang.NoSuchFieldError
         344   345     346  Class java.lang.NoSuchFieldError
         347   348     349  Class java.lang.NoSuchFieldError
         350   351     352  Class java.lang.NoSuchFieldError
         353   354     355  Class java.lang.NoSuchFieldError
         356   357     358  Class java.lang.NoSuchFieldError
         359   360     361  Class java.lang.NoSuchFieldError
         362   363     364  Class java.lang.NoSuchFieldError
         365   366     367  Class java.lang.NoSuchFieldError
         368   369     370  Class java.lang.NoSuchFieldError
         371   372     373  Class java.lang.NoSuchFieldError
         374   375     376  Class java.lang.NoSuchFieldError
         377   378     379  Class java.lang.NoSuchFieldError
         380   381     382  Class java.lang.NoSuchFieldError
         383   384     385  Class java.lang.NoSuchFieldError
         386   387     388  Class java.lang.NoSuchFieldError
         389   390     391  Class java.lang.NoSuchFieldError
         392   393     394  Class java.lang.NoSuchFieldError
         395   396     397  Class java.lang.NoSuchFieldError
         398   399     400  Class java.lang.NoSuchFieldError
         401   402     403  Class java.lang.NoSuchFieldError
         404   405     406  Class java.lang.NoSuchFieldError
         407   408     409  Class java.lang.NoSuchFieldError
         410   411     412  Class java.lang.NoSuchFieldError
         413   414     415  Class java.lang.NoSuchFieldError
         416   417     418  Class java.lang.NoSuchFieldError
         419   420     421  Class java.lang.NoSuchFieldError
         422   423     424  Class java.lang.NoSuchFieldError
         425   426     427  Class java.lang.NoSuchFieldError
         428   429     430  Class java.lang.NoSuchFieldError
         431   432     433  Class java.lang.NoSuchFieldError
         434   435     436  Class java.lang.NoSuchFieldError
         437   438     439  Class java.lang.NoSuchFieldError
         440   441     442  Class java.lang.NoSuchFieldError
         443   444     445  Class java.lang.NoSuchFieldError
         446   447     448  Class java.lang.NoSuchFieldError
}
SourceFile: "RubyFile.java"
NestMembers:
  org.jruby.RubyFile$1  org.jruby.RubyFile$2
InnerClasses:
  org.jruby.RubyFile$1
  org.jruby.RubyFile$2
  public FileTestFileMethods = org.jruby.RubyFileTest$FileTestFileMethods of org.jruby.RubyFileTest
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
  public FileSites = org.jruby.runtime.JavaSites$FileSites of org.jruby.runtime.JavaSites
  public ConvConfig = org.jruby.util.io.IOEncodable$ConvConfig of org.jruby.util.io.IOEncodable
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"File"}, parent = "IO", include = {"FileTest"})