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 241
            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 520
            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 696
            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 1710
            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 2355
            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 2357
            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 2358
            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 0 /* runtime */
            aload 2 /* fileClass */
            invokevirtual org.jruby.Ruby.setFile:(Lorg/jruby/RubyClass;)V
         3: .line 101
            aload 2 /* fileClass */
            ldc Lorg/jruby/RubyFile;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         4: .line 103
            aload 2 /* fileClass */
            getstatic org.jruby.runtime.ClassIndex.FILE:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         5: .line 104
            aload 2 /* fileClass */
            ldc Lorg/jruby/RubyFile;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         6: .line 106
            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;
         7: .line 109
            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
         8: .line 110
            aload 3 /* separator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         9: .line 111
            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
            aload 2 /* fileClass */
            ldc "Separator"
            aload 3 /* separator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        11: .line 114
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 16
        12: .line 115
            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
        13: .line 116
            aload 4 /* altSeparator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        14: .line 117
            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
        15: .line 118
            goto 17
        16: .line 119
      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
        17: .line 123
      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
        18: .line 124
            aload 4 /* pathSeparator */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        19: .line 125
            aload 2 /* fileClass */
            ldc "PATH_SEPARATOR"
            aload 4 /* pathSeparator */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
        20: .line 128
            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
        21: .line 131
            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
        22: .line 135
            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
        23: .line 137
            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
        24: .line 139
            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
        25: .line 141
            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
        26: .line 143
            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
        27: .line 145
            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
        28: .line 148
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 32
        29: .line 149
            getstatic jnr.constants.platform.OpenFlags.O_NONBLOCK:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            pop
        30: .line 153
            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
        31: .line 154
            goto 34
      StackMap locals: org.jruby.RubyString org.jruby.RubyModule
      StackMap stack:
        32: getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 34
        33: .line 156
            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
        34: .line 159
      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
        35: .line 163
            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
        36: .line 165
            getstatic jnr.constants.platform.OpenFlags.O_BINARY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifne 39
        37: .line 166
            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
        38: .line 167
            goto 40
        39: .line 169
      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
        40: .line 172
      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
        41: .line 173
            getstatic jnr.constants.platform.OpenFlags.O_SYNC:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 43
        42: .line 175
            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
        43: .line 186
      StackMap locals:
      StackMap stack:
            getstatic jnr.constants.platform.OpenFlags.O_NOFOLLOW:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 45
        44: .line 188
            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
        45: .line 199
      StackMap locals:
      StackMap stack:
            getstatic jnr.constants.platform.OpenFlags.O_TMPFILE:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.defined:()Z
            ifeq 47
        46: .line 201
            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
        47: .line 205
      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
        48: .line 206
            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
        49: .line 207
            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
        50: .line 208
            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
        51: .line 209
            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
        52: .line 210
            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
        53: .line 213
            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
        54: .line 214
            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
        55: .line 215
            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
        56: .line 216
            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
        57: .line 219
            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
        58: .line 222
            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
        59: .line 224
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 62
        60: .line 227
            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
        61: .line 229
            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
        62: .line 232
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_BSD:Z
            ifne 64
        63: .line 235
            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
        64: .line 238
      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   65     0        runtime  Lorg/jruby/Ruby;
            1   65     1        context  Lorg/jruby/runtime/ThreadContext;
            2   65     2      fileClass  Lorg/jruby/RubyClass;
            8   65     3      separator  Lorg/jruby/RubyString;
           13   15     4   altSeparator  Lorg/jruby/RubyString;
           18   65     4  pathSeparator  Lorg/jruby/RubyString;
           22   65     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 252
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 3
         1: .line 253
            ldc "NUL"
            astore 0 /* null_device */
        start local 0 // java.lang.String null_device
         2: .line 254
            goto 4
        end local 0 // java.lang.String null_device
         3: .line 255
      StackMap locals:
      StackMap stack:
            ldc "/dev/null"
            astore 0 /* null_device */
        start local 0 // java.lang.String null_device
         4: .line 257
      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 261
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.RubyIO.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 262
            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 267
            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 273
            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 276
            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 277
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.jruby.RubyFile.setPath:(Ljava/lang/String;)V
         2: .line 278
            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 281
            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 282
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.jruby.RubyFile.setPath:(Ljava/lang/String;)V
         2: .line 283
            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 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;
            ifnull 5
         1: .line 290
            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 291
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 292
            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 295
      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 302
            getstatic jnr.posix.util.Platform.IS_SOLARIS:Z
            ifeq 2
         1: .line 303
            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 306
      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 313
            aload 2 /* operation */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* op1 */
        start local 5 // int op1
         4: .line 314
            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 316
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.isWritable:()Z
            ifeq 18
         6: .line 317
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokevirtual org.jruby.RubyFile.flushRaw:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyIO;
            pop
         7: .line 323
            goto 18
         8: .line 324
      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 328
      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 331
      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 332
            goto 14
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        12: pop
        13: .line 333
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
        14: .line 335
      StackMap locals:
      StackMap stack:
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.checkClosed:()V
        15: .line 336
            goto 18
        16: .line 339
      StackMap locals:
      StackMap stack:
            goto 18
        17: .line 342
      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 323
      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 345
            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 351
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnull 2
         1: .line 352
            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 355
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifle 10
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpgt 10
         3: .line 356
            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 357
            aload 4 /* fd */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 10
         5: .line 358
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 7
         6: .line 359
            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 360
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 9
         8: .line 361
            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 363
      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 367
      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 372
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 373
            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 375
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
         3: .line 376
            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 377
            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 380
      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 385
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 386
            iconst_m1
            istore 4 /* owner */
        start local 4 // int owner
         2: .line 387
            aload 2 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         3: .line 388
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* owner */
         4: .line 391
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 5 /* group */
        start local 5 // int group
         5: .line 392
            aload 3 /* arg2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
         6: .line 393
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* group */
         7: .line 396
      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 397
            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 398
            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 401
      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 406
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 407
            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 412
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 413
            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 418
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 420
            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 421
            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 422
      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 427
            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 428
            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 430
            aload 2 /* view */
            ifnull 6
         3: .line 431
            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 433
      StackMap locals: java.lang.String java.nio.file.Path java.nio.file.attribute.PosixFileAttributeView
      StackMap stack: java.io.IOException
            pop
         6: .line 436
      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 441
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 442
            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 447
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyFile.checkClosed:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 448
            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 453
            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 458
            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 459
            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 462
      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 463
            aload 2 /* path */
            ifnull 7
         4: .line 464
            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 465
            aload 3 /* newPath */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         6: .line 466
            aload 3 /* newPath */
            areturn
        end local 3 // org.jruby.RubyString newPath
         7: .line 468
      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 473
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 477
            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 478
            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 479
            aload 4 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.isWritable:()Z
            ifne 5
         4: .line 480
            aload 3 /* runtime */
            ldc "not opened for writing"
            invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 482
      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 484
            lload 5 /* pos */
            lconst_0
            lcmp
            ifge 8
         7: .line 485
            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 488
      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 489
            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 492
      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 497
            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 502
            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 503
            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 505
            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 506
            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 507
            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 508
            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 509
            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 510
            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 511
            aload 3 /* str */
            bipush 41
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        13: .line 513
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            bipush 62
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        14: .line 515
            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 516
            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 528
            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 533
            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 538
            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 539
            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 543
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 545
            aload 1 /* klass */
            invokestatic org.jruby.RubyFile.getSeparatorChar:(Lorg/jruby/RubyClass;)I
            istore 5 /* separatorChar */
        start local 5 // int separatorChar
         2: .line 546
            aload 1 /* klass */
            invokestatic org.jruby.RubyFile.getAltSeparatorChar:(Lorg/jruby/RubyClass;)I
            istore 6 /* altSeparatorChar */
        start local 6 // int altSeparatorChar
         3: .line 548
            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 549
            aload 7 /* origString */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 8 /* origEncoding */
        start local 8 // org.jcodings.Encoding origEncoding
         5: .line 550
            aload 7 /* origString */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         6: .line 553
            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 556
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 18
         9: .line 557
            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 558
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            tableswitch { // 2 - 3
                    2: 11
                    3: 12
              default: 13
          }
        11: .line 560
      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 562
      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 564
      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 567
      StackMap locals:
      StackMap stack:
            goto 18
        15: .line 570
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* name */
        16: .line 577
            goto 18
        17: .line 578
      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 577
      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 582
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* slashCount */
        start local 10 // int slashCount
        20: .line 583
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            istore 11 /* length */
        start local 11 // int length
        21: .line 584
            iload 11 /* length */
            iconst_1
            isub
            istore 12 /* i */
        start local 12 // int i
        22: goto 28
        23: .line 585
      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 586
            iload 13 /* c */
            iload 5 /* separatorChar */
            if_icmpeq 26
            iload 13 /* c */
            iload 6 /* altSeparatorChar */
            if_icmpeq 26
        25: .line 587
            goto 29
        26: .line 589
      StackMap locals: int
      StackMap stack:
            iinc 10 /* slashCount */ 1
        end local 13 // char c
        27: .line 584
            iinc 12 /* i */ -1
      StackMap locals:
      StackMap stack:
        28: iload 12 /* i */
            ifge 23
        end local 12 // int i
        29: .line 591
      StackMap locals:
      StackMap stack:
            iload 10 /* slashCount */
            ifle 31
            iload 11 /* length */
            iconst_1
            if_icmple 31
        30: .line 592
            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 595
      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 596
            iload 6 /* altSeparatorChar */
            ifeq 34
        33: .line 597
            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 600
      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 601
            aload 9 /* name */
            iload 12 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* name */
        36: .line 604
      StackMap locals:
      StackMap stack:
            aload 3 /* ext */
            ifnull 45
        37: .line 605
            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 606
            ldc ".*"
            aload 13 /* extStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        39: .line 607
            aload 9 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 12 /* index */
        40: .line 608
            iload 12 /* index */
            ifle 45
        41: .line 609
            aload 9 /* name */
            iconst_0
            iload 12 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        42: .line 611
            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 612
            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 616
      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 620
            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 621
            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 625
            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 626
            aload 1 /* sep */
            instanceof org.jruby.RubyString
            ifeq 3
         2: .line 627
            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 629
      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 634
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 636
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 637
            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 638
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 12
         5: .line 639
      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 641
            aload 7 /* filename */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 8
         7: .line 642
            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 645
      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 646
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 648
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        end local 7 // org.jruby.util.JRubyFile filename
        11: .line 638
            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 652
            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 657
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 659
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 660
            iconst_m1
            istore 5 /* owner */
        start local 5 // int owner
         3: .line 661
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 5
         4: .line 662
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* owner */
         5: .line 665
      StackMap locals: org.jruby.Ruby int int
      StackMap stack:
            iconst_m1
            istore 6 /* group */
        start local 6 // int group
         6: .line 666
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         7: .line 667
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 6 /* group */
         8: .line 669
      StackMap locals: int
      StackMap stack:
            iconst_2
            istore 7 /* i */
        start local 7 // int i
         9: goto 17
        10: .line 670
      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 672
            aload 8 /* filename */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 673
            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 676
      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 677
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 679
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        end local 8 // org.jruby.util.JRubyFile filename
        16: .line 669
            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 683
            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 688
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 689
            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 691
            aload 4 /* filename */
            invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
            astore 5 /* jfilename */
        start local 5 // java.lang.String jfilename
         3: .line 693
            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 699
            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 700
            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 702
            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 703
            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 704
            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 705
            goto 12
        end local 5 // char separatorChar
        end local 4 // java.lang.String separator
         8: .line 707
      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 708
            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 711
      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 712
            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 713
            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 714
            aload 8 /* rbAltSeparator */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 6 /* altSeparator */
        17: .line 715
            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 718
      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 719
            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 721
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 10 /* startsWithSeparator */
        start local 10 // boolean startsWithSeparator
        21: .line 722
            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 725
      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 726
            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 727
            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 728
            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 729
      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 732
      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 733
            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 734
            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 735
            aload 13 /* path */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
            ldc ""
            astore 13 /* path */
        35: .line 736
      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 739
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* minPathLength */
        start local 12 // int minPathLength
        37: .line 740
            iconst_0
            istore 13 /* trimmedSlashes */
        start local 13 // boolean trimmedSlashes
        38: .line 742
            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 744
            iload 14 /* startsWithUNCOnWindows */
            ifeq 42
            iconst_2
            istore 12 /* minPathLength */
        42: .line 746
      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 748
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 47
            iconst_3
            istore 12 /* minPathLength */
        44: .line 750
            goto 47
        45: .line 751
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 13 /* trimmedSlashes */
        46: .line 752
            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 750
      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 756
      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 757
            iload 13 /* trimmedSlashes */
            ifeq 52
        50: .line 759
            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 760
            goto 74
        end local 16 // java.lang.String result
        52: .line 761
      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 763
            goto 74
        end local 16 // java.lang.String result
        54: .line 765
      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 767
            iload 17 /* index */
            iconst_m1
            if_icmpne 59
        56: .line 768
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 58
        57: .line 769
            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 771
      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 773
      StackMap locals:
      StackMap stack:
            iload 17 /* index */
            ifne 61
        60: .line 774
            aload 1 /* filename */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        61: .line 777
      StackMap locals:
      StackMap stack:
            iload 15 /* startsWithDriveLetterOnWindows */
            ifeq 63
            iload 17 /* index */
            iconst_2
            if_icmpne 63
        62: .line 780
            iinc 17 /* index */ 1
        63: .line 783
      StackMap locals:
      StackMap stack:
            iload 14 /* startsWithUNCOnWindows */
            ifeq 73
        64: .line 784
            aload 1 /* filename */
            invokevirtual java.lang.String.length:()I
            istore 17 /* index */
        65: .line 785
            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 786
            iconst_0
            istore 19 /* pathSectionCount */
        start local 19 // int pathSectionCount
        67: .line 787
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        68: goto 71
        69: .line 788
      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 787
      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 790
            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 792
      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 796
      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 797
            goto 77
        76: .line 800
      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 797
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmple 84
        78: .line 798
            aload 16 /* result */
            iload 12 /* minPathLength */
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* separatorChar */
            if_icmpeq 76
        79: .line 799
            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 806
            goto 84
        81: .line 807
      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 808
            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 809
      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 806
      StackMap locals:
      StackMap stack:
            aload 16 /* result */
            invokevirtual java.lang.String.length:()I
            iload 12 /* minPathLength */
            if_icmpgt 81
        85: .line 815
      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 827
            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 829
            aload 3 /* filename */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* dotIndex */
        start local 4 // int dotIndex
         2: .line 830
            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 832
            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 835
      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 850
            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 855
            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 880
            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 885
            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 889
            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 890
            aload 0 /* context */
            aload 3 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 3
         2: .line 891
            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 893
      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 899
            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 901
            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 902
            aload 0 /* context */
            aload 3 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 4
         3: .line 903
            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 905
      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 911
            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 912
            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 914
            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 915
            aload 0 /* context */
            aload 4 /* file */
            invokestatic org.jruby.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            ifne 5
         4: .line 916
            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 918
      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 932
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 933
            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 934
            iconst_0
            istore 5 /* braces_match */
        start local 5 // boolean braces_match
         5: .line 935
            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 937
            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 938
            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 940
            iload 6 /* extglob */
            ifeq 22
        11: .line 941
            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 942
            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 944
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* matches */
        start local 11 // java.util.ArrayList matches
        14: .line 945
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        15: goto 20
        16: .line 946
      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 947
            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 948
            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 945
            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 950
            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 953
      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 954
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
        24: .line 956
      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 960
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         1: .line 961
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         2: .line 962
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* pattern */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         3: .line 963
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         4: .line 964
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         5: .line 965
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* path */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         6: .line 966
            iload 2 /* flags */
         7: .line 960
            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 971
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 972
            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 973
            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 978
            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 983
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 984
            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 985
            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 990
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 991
            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 992
            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 997
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 998
            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 999
            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 1004
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1005
            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 1006
            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 1011
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1012
            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 1013
            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 1018
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1020
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 1021
            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 1022
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 10
         5: .line 1023
      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 1024
            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 1025
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1027
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            iinc 4 /* count */ 1
        end local 7 // org.jruby.util.JRubyFile file
         9: .line 1022
            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 1031
            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 1036
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1037
            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 1038
            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 1039
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         8: .line 1041
            iconst_2
            istore 7 /* i */
        start local 7 // int i
         9: goto 15
        10: .line 1042
      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 1044
            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 1045
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 1047
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            iinc 6 /* count */ 1
        end local 8 // org.jruby.util.JRubyFile file
        14: .line 1041
            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 1051
            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 1056
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1057
            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 1058
            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 1060
            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 1061
            iload 7 /* ret */
            ifeq 8
         5: .line 1062
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 7
         6: .line 1063
            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 1069
      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 1072
      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 1077
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1078
            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 1079
            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 1084
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1085
            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 1086
            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 1088
            aload 6 /* newNameString */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 7 /* newNameJavaString */
        start local 7 // java.lang.String newNameJavaString
         4: .line 1089
            aload 5 /* oldNameString */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 8 /* oldNameJavaString */
        start local 8 // java.lang.String oldNameJavaString
         5: .line 1090
            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 1091
            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 1093
            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 1096
            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 1097
      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 1100
      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 1102
            aload 9 /* oldFile */
            aload 12 /* dest */
            invokevirtual org.jruby.util.JRubyFile.renameTo:(Ljava/io/File;)Z
            ifeq 14
        13: .line 1103
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        14: .line 1108
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aload 10 /* newFile */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifeq 17
        15: .line 1109
            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 1110
            aload 10 /* newFile */
            invokevirtual org.jruby.util.JRubyFile.delete:()Z
            pop
        17: .line 1114
      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 1115
            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 1117
            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 1118
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
        21: areturn
        22: .line 1119
      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 1120
            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 1126
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1127
            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 1129
            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 1134
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1136
            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 1137
            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 1138
            aload 6 /* toStr */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 7 /* tovalue */
        start local 7 // java.lang.String tovalue
         4: .line 1139
            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 1141
            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 1142
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 8
         7: .line 1143
            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 1145
      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 1148
      StackMap locals:
      StackMap stack: java.lang.UnsatisfiedLinkError
            pop
        10: .line 1149
            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 1152
      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 1157
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1159
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 3
         2: .line 1162
            aload 3 /* runtime */
            ldc "readlink"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1165
      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 1168
            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 1170
            aload 5 /* realPath */
            ifnonnull 7
         6: .line 1171
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newErrnoFromLastPOSIXErrno:()Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1174
      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 1175
      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 1176
            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 1182
            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 1187
            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 1188
            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 1193
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1195
            aload 2 /* args */
            arraylength
            ifne 4
         2: .line 1196
            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 1197
            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 1198
            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 1199
            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 1200
            goto 9
        end local 4 // int oldMask
         8: .line 1201
      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 1204
      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 1209
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1210
            aconst_null
            astore 4 /* atimeval */
        start local 4 // long[] atimeval
         2: .line 1211
            aconst_null
            astore 5 /* mtimeval */
        start local 5 // long[] mtimeval
         3: .line 1213
            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 1214
      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 1215
            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 1218
      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 1219
      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 1221
            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 1223
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 1224
            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 1227
      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 1228
            iload 10 /* result */
            iconst_m1
            if_icmpne 16
        15: .line 1229
            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 1218
      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 1233
            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 1238
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1239
            aconst_null
            astore 4 /* atimespec */
        start local 4 // long[] atimespec
         2: .line 1240
            aconst_null
            astore 5 /* mtimespec */
        start local 5 // long[] mtimespec
         3: .line 1242
            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 1243
      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 1244
            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 1247
      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 1248
      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 1250
            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 1252
            aload 9 /* fileToTouch */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 13
        12: .line 1253
            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 1259
      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 1260
            goto 20
        end local 10 // int result
      StackMap locals:
      StackMap stack: org.jruby.exceptions.NotImplementedError
        15: pop
        16: .line 1262
            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 1263
            aload 4 /* atimespec */
            invokestatic org.jruby.RubyFile.convertTimespecToTimeval:([J)[J
            astore 11 /* atimeval */
        start local 11 // long[] atimeval
        18: .line 1264
            aload 5 /* mtimespec */
            invokestatic org.jruby.RubyFile.convertTimespecToTimeval:([J)[J
            astore 12 /* mtimeval */
        start local 12 // long[] mtimeval
        19: .line 1265
            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 1268
      StackMap locals: int
      StackMap stack:
            iload 10 /* result */
            iconst_m1
            if_icmpne 22
        21: .line 1269
            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 1247
      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 1273
            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 1278
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1280
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 12
         3: .line 1281
      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 1282
            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 1286
            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 1287
            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 1290
      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 1291
            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 1294
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            invokevirtual org.jruby.util.JRubyFile.delete:()Z
            ifne 11
        10: .line 1295
            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 1280
      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 1299
            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 1303
            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 1308
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1309
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 4 /* posix */
        start local 4 // jnr.posix.POSIX posix
         2: .line 1311
            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 1313
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 16
         6: .line 1314
      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 1315
            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 1317
            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 1320
            aload 7 /* lToDelete */
            invokevirtual org.jruby.util.JRubyFile.exists:()Z
            ifne 11
            iload 8 /* isSymlink */
            ifne 11
        10: .line 1321
            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 1324
      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 1325
            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 1328
      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 1329
            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 1313
      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 1333
            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 1337
            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 1343
            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 1347
            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 1349
            aload 2 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getMode:()I
            iconst_2
            iand
            ifeq 3
         2: .line 1350
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokevirtual org.jruby.RubyFile.flushRaw:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyIO;
            pop
         3: .line 1353
      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 1358
            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 1360
      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 1365
            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 1367
      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 1371
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1372
            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 1374
            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 1375
            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 1377
      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 1381
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1382
      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 1386
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            ifnonnull 1
            return
         1: .line 1387
      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 1388
            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 1392
            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 1398
            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 1402
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1403
            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 1405
            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 1407
            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 1408
            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 1410
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 4
                    1: 6
                    2: 7
                    3: 13
                    4: 20
              default: 26
          }
         6: .line 1412
      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 1414
      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 1415
            aload 7 /* test */
            instanceof org.jruby.RubyHash
            ifeq 11
         9: .line 1416
            aload 7 /* test */
            astore 6 /* options */
        10: .line 1417
            goto 26
        11: .line 1418
      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 1420
            goto 26
        end local 7 // org.jruby.runtime.builtin.IRubyObject test
        13: .line 1423
      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 1424
            aload 7 /* test */
            instanceof org.jruby.RubyHash
            ifeq 17
        15: .line 1425
            aload 7 /* test */
            astore 6 /* options */
        16: .line 1426
            goto 18
        17: .line 1427
      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 1429
      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 1430
            goto 26
        end local 7 // org.jruby.runtime.builtin.IRubyObject test
        20: .line 1433
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_3
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 24
        21: .line 1434
            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 1435
            aload 6 /* options */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 24
        23: .line 1436
            aload 3 /* runtime */
            iconst_4
            iconst_1
            iconst_3
            invokevirtual org.jruby.Ruby.newArgumentError:(III)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 1439
      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 1440
            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 1444
      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 1445
            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 1446
            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 1447
            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 1448
            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 1447
      StackMap locals:
      StackMap stack: int
            istore 10 /* perm */
        start local 10 // int perm
        34: .line 1450
            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 1455
            aload 5 /* convConfig */
            ifnonnull 5
         1: .line 1456
            new org.jruby.util.io.IOEncodable$ConvConfig
            dup
            invokespecial org.jruby.util.io.IOEncodable$ConvConfig.<init>:()V
            astore 5 /* convConfig */
         2: .line 1457
            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 1458
            aload 5 /* convConfig */
            iconst_0
            invokeinterface org.jruby.util.io.IOEncodable.setEcflags:(I)V
         4: .line 1459
            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 1462
      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 1464
            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 1466
            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 1468
            aload 8 /* fptr */
            aload 7 /* fmode_p */
            iconst_0
            iaload
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
         9: .line 1469
            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 1470
            aload 8 /* fptr */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
        11: .line 1471
            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 1470
            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 1473
            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 1474
            aload 8 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.checkTTY:()V
        15: .line 1475
            aload 7 /* fmode_p */
            iconst_0
            iaload
            ldc 1048576
            iand
            ifeq 17
        16: .line 1476
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.ioSetEncodingByBOM:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyIO;)V
        17: .line 1479
      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 1484
            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 1486
      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 1487
            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 1489
      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 1495
            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 1497
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 11
         2: .line 1498
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         3: .line 1499
            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 1500
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* pathEncoding */
        start local 4 // org.jcodings.Encoding pathEncoding
         5: .line 1503
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            ifnull 11
         6: .line 1504
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getUSAsciiEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         7: .line 1505
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getAscii8bitEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         8: .line 1506
            aload 4 /* pathEncoding */
            aload 3 /* encodingService */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 11
         9: .line 1507
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.isAsciiOnly:()Z
            ifne 11
        10: .line 1508
            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 1512
      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 1517
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1519
            aload 1 /* pathOrFile */
            instanceof org.jruby.RubyFile
            ifeq 3
         2: .line 1520
            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 1521
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* pathOrFile */
            instanceof org.jruby.RubyIO
            ifeq 5
         4: .line 1522
            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 1526
      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 1527
            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 1535
            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 1537
            aload 0 /* pathOrFile */
            instanceof org.jruby.RubyIO
            ifeq 3
         2: .line 1538
            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 1541
      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 1542
            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 1543
            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 1548
            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 1553
            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 1557
            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 1558
            aload 3 /* entry */
            ifnonnull 4
         2: .line 1560
            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 1561
            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 1563
      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 1568
            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 1573
            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 1574
            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 1575
            aload 3 /* entry */
            ifnonnull 16
         3: .line 1576
            aload 2 /* dirPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 5
         4: .line 1577
            new java.util.zip.ZipEntry
            dup
            aload 2 /* dirPath */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            areturn
         5: .line 1580
      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 1581
            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 1584
            aload 3 /* entry */
            ifnonnull 14
         8: .line 1585
            aload 0 /* jar */
            invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
            astore 5 /* entries */
        start local 5 // java.util.Enumeration entries
         9: .line 1586
            goto 13
        10: .line 1587
      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 1588
            aload 6 /* zipEntry */
            aload 2 /* dirPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 1589
            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 1586
      StackMap locals:
      StackMap stack:
            aload 5 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 5 // java.util.Enumeration entries
        14: .line 1594
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            ifnonnull 16
        15: .line 1595
            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 1598
      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 1604
            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 1605
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1604
            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 1609
            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 1613
            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 1617
            aload 0 /* path */
            ifnull 10
         1: .line 1618
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 10
         2: .line 1619
            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 1620
            aload 0 /* path */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_2
            if_icmple 10
         4: .line 1621
            aload 0 /* path */
            iconst_1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic org.jruby.RubyFile.isWindowsDriveLetter:(C)Z
            ifeq 10
         5: .line 1622
            aload 0 /* path */
            iconst_2
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 10
            goto 9
         6: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            if_icmple 10
         7: .line 1624
            aload 0 /* path */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic org.jruby.RubyFile.isWindowsDriveLetter:(C)Z
            ifeq 10
         8: .line 1625
            aload 0 /* path */
            iconst_1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 10
         9: .line 1617
      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 1630
            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 1640
      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 1641
      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 1642
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
         6: .line 1647
      StackMap locals:
      StackMap stack:
            aload 2 /* dir */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 8
         7: .line 1648
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            astore 2 /* dir */
         8: .line 1650
      StackMap locals:
      StackMap stack:
            aload 2 /* dir */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 13
         9: .line 1651
            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 1653
            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 1655
            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 1658
      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 1666
            iconst_2
            newarray 11
            astore 2 /* timespec */
        start local 2 // long[] timespec
         1: .line 1668
            aload 1 /* value */
            instanceof org.jruby.RubyFloat
            ifeq 8
         2: .line 1669
            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 1670
            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 1671
            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 1672
            goto 24
      StackMap locals:
      StackMap stack:
         8: aload 1 /* value */
            instanceof org.jruby.RubyNumeric
            ifeq 14
         9: .line 1673
            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 1674
            aload 2 /* timespec */
            iconst_1
            lconst_0
            lastore
        13: .line 1675
            goto 24
        14: .line 1677
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof org.jruby.RubyTime
            ifeq 17
        15: .line 1678
            aload 1 /* value */
            checkcast org.jruby.RubyTime
            astore 3 /* time */
        start local 3 // org.jruby.RubyTime time
        16: .line 1679
            goto 18
        end local 3 // org.jruby.RubyTime time
        17: .line 1680
      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 1682
      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 1683
            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 1686
      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 1696
            aload 0 /* timespec */
            ifnonnull 2
         1: .line 1697
            aconst_null
            areturn
         2: .line 1700
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 11
            astore 1 /* timeval */
        start local 1 // long[] timeval
         3: .line 1701
            aload 1 /* timeval */
            iconst_0
            aload 0 /* timespec */
            iconst_0
            laload
            lastore
         4: .line 1702
            aload 1 /* timeval */
            iconst_1
            aload 0 /* timespec */
            iconst_1
            laload
            ldc 1000
            ldiv
            lastore
         5: .line 1703
            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 1707
            aload 0 /* this */
            getfield org.jruby.RubyFile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.checkClosed:()V
         1: .line 1708
            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 1713
            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 1714
            aconst_null
            astore 5 /* wd */
        start local 5 // org.jruby.RubyString wd
         2: .line 1715
            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 1716
            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 1718
      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=5, locals=18, 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 1722
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 1724
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            astore 6 /* relativePath */
        start local 6 // java.lang.String relativePath
         2: .line 1736
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         3: .line 1738
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            astore 8 /* fsenc */
        start local 8 // org.jcodings.Encoding fsenc
         4: .line 1741
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 6
            ldc "NUL:"
            aload 6 /* relativePath */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 5
            ldc "NUL"
            aload 6 /* relativePath */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 1742
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.RubyString int int org.jruby.Ruby java.lang.String org.jcodings.Encoding org.jcodings.Encoding
      StackMap stack:
            aload 5 /* runtime */
            ldc "//./"
            aload 6 /* relativePath */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic org.jruby.util.StringSupport.concat:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            aload 8 /* fsenc */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
         6: .line 1746
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 9 /* preFix */
        start local 9 // java.lang.String preFix
         7: .line 1747
            aload 6 /* relativePath */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 1748
            ldc "file:"
            astore 9 /* preFix */
         9: .line 1749
            aload 6 /* relativePath */
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        10: .line 1751
      StackMap locals: java.lang.String
      StackMap stack:
            ldc ""
            astore 10 /* postFix */
        start local 10 // java.lang.String postFix
        11: .line 1752
            getstatic org.jruby.RubyFile.PROTOCOL_PREFIX_PATTERN:Ljava/util/regex/Pattern;
            aload 6 /* relativePath */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 11 /* protocol */
        start local 11 // java.util.regex.Matcher protocol
        12: .line 1753
            aload 6 /* relativePath */
            ldc ".jar!/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 24
        13: .line 1754
            aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 20
        14: .line 1755
            aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
            astore 9 /* preFix */
        15: .line 1756
            iconst_0
            istore 12 /* extra */
        start local 12 // int extra
        16: .line 1757
            aload 6 /* relativePath */
            ldc "file://"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 19
        17: .line 1758
            iconst_2
            istore 12 /* extra */
        18: .line 1759
            new java.lang.StringBuilder
            dup
            aload 9 /* 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 9 /* preFix */
        19: .line 1761
      StackMap locals: java.lang.String java.util.regex.Matcher int
      StackMap stack:
            aload 6 /* relativePath */
            aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.end:()I
            iload 12 /* extra */
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        end local 12 // int extra
        20: .line 1763
      StackMap locals:
      StackMap stack:
            aload 6 /* relativePath */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 12 /* index */
        start local 12 // int index
        21: .line 1764
            aload 6 /* relativePath */
            iload 12 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* postFix */
        22: .line 1765
            aload 6 /* relativePath */
            iconst_0
            iload 12 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* relativePath */
        end local 12 // int index
        23: .line 1766
            goto 55
      StackMap locals:
      StackMap stack:
        24: aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 55
        25: .line 1767
            aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
            astore 9 /* preFix */
        26: .line 1768
            aload 11 /* protocol */
            invokevirtual java.util.regex.Matcher.end:()I
            istore 12 /* offset */
        start local 12 // int offset
        27: .line 1769
            ldc ""
            astore 13 /* extra */
        start local 13 // java.lang.String extra
        28: .line 1770
            aload 6 /* relativePath */
            ldc "file://"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 14 /* index */
        start local 14 // int index
        29: .line 1771
            aload 9 /* preFix */
            ldc "uri:classloader:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
            aload 9 /* preFix */
            ldc "classpath:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
            iconst_0
            goto 31
      StackMap locals: int java.lang.String int
      StackMap stack:
        30: iconst_1
      StackMap locals:
      StackMap stack: int
        31: istore 15 /* classloaderURI */
        start local 15 // boolean classloaderURI
        32: .line 1773
            iload 14 /* index */
            iflt 39
        33: .line 1774
            iinc 14 /* index */ 7
        34: .line 1776
            aload 6 /* relativePath */
            invokevirtual java.lang.String.length:()I
            iload 14 /* index */
            if_icmple 37
            aload 6 /* relativePath */
            iload 14 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 37
        35: .line 1777
            iinc 12 /* offset */ 2
            ldc "//"
            astore 13 /* extra */
        36: .line 1778
            goto 41
        37: .line 1779
      StackMap locals: int
      StackMap stack:
            iinc 12 /* offset */ 1
            ldc "/"
            astore 13 /* extra */
        38: .line 1781
            goto 41
        39: .line 1782
      StackMap locals:
      StackMap stack:
            iload 15 /* classloaderURI */
            ifeq 41
            aload 6 /* relativePath */
            ldc "//"
            iload 12 /* offset */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 41
        40: .line 1784
            iinc 12 /* offset */ 1
        41: .line 1788
      StackMap locals:
      StackMap stack:
            aload 6 /* relativePath */
            iload 12 /* offset */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        42: .line 1790
            iload 15 /* classloaderURI */
            ifeq 48
        43: .line 1791
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 44
            ldc "C:/FAKEPATH_PREFIX__"
            goto 45
      StackMap locals:
      StackMap stack:
        44: ldc "/FAKEPATH_PREFIX__"
      StackMap locals:
      StackMap stack: java.lang.String
        45: astore 16 /* fakePrefix */
        start local 16 // java.lang.String fakePrefix
        46: .line 1792
            new java.lang.StringBuilder
            dup
            aload 16 /* 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 6 /* 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 16 /* fakePrefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        end local 16 // java.lang.String fakePrefix
        47: .line 1793
            goto 49
        48: .line 1794
      StackMap locals:
      StackMap stack:
            aload 6 /* relativePath */
            invokestatic org.jruby.RubyFile.canonicalizePath:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* relativePath */
        49: .line 1797
      StackMap locals:
      StackMap stack:
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 54
        50: .line 1800
            aload 9 /* preFix */
            ldc "file:"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 52
            aload 6 /* relativePath */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifeq 52
        51: .line 1802
            aload 6 /* relativePath */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        52: .line 1804
      StackMap locals:
      StackMap stack:
            iload 15 /* classloaderURI */
            ifeq 54
        53: .line 1805
            aload 6 /* relativePath */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 6 /* relativePath */
        54: .line 1809
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 9 /* preFix */
            aload 13 /* extra */
            aload 6 /* relativePath */
            aload 7 /* enc */
            invokestatic org.jruby.RubyFile.concatStrings:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 15 // boolean classloaderURI
        end local 14 // int index
        end local 13 // java.lang.String extra
        end local 12 // int offset
        55: .line 1812
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.RubyString int int org.jruby.Ruby java.lang.String org.jcodings.Encoding org.jcodings.Encoding java.lang.String java.lang.String java.util.regex.Matcher
      StackMap stack:
            aload 6 /* relativePath */
            invokestatic org.jruby.RubyFile.splitURI:(Ljava/lang/String;)[Ljava/lang/String;
            astore 12 /* uriParts */
        start local 12 // java.lang.String[] uriParts
        56: .line 1815
            iload 3 /* expandUser */
            ifeq 59
            aload 6 /* relativePath */
            bipush 126
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 59
        57: .line 1816
            aload 8 /* fsenc */
            astore 7 /* enc */
        58: .line 1817
            aload 0 /* context */
            aload 6 /* relativePath */
            iconst_1
            invokestatic org.jruby.RubyFile.expandUserPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
            astore 6 /* relativePath */
        59: .line 1820
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 12 /* uriParts */
            ifnull 63
        60: .line 1822
            aload 12 /* uriParts */
            iconst_0
            aaload
            ldc "classpath:"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 62
        61: .line 1823
            aload 5 /* runtime */
            aload 9 /* preFix */
            aload 6 /* relativePath */
            aload 10 /* postFix */
            aload 7 /* enc */
            invokestatic org.jruby.RubyFile.concatStrings:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        62: .line 1825
      StackMap locals:
      StackMap stack:
            aload 12 /* uriParts */
            iconst_1
            aaload
            astore 6 /* relativePath */
        63: .line 1833
      StackMap locals:
      StackMap stack:
            aload 2 /* wd */
            ifnull 84
        64: .line 1834
            aload 2 /* wd */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 13 /* cwd */
        start local 13 // java.lang.String cwd
        65: .line 1835
            aload 8 /* fsenc */
            astore 7 /* enc */
        66: .line 1836
            aload 13 /* cwd */
            ldc "uri:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 85
        67: .line 1838
            iload 3 /* expandUser */
            ifeq 69
        68: .line 1839
            aload 0 /* context */
            aload 13 /* cwd */
            iconst_1
            invokestatic org.jruby.RubyFile.expandUserPath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Z)Ljava/lang/String;
            astore 13 /* cwd */
        69: .line 1843
      StackMap locals: java.lang.String
      StackMap stack:
            aload 13 /* cwd */
            invokestatic org.jruby.RubyFile.splitURI:(Ljava/lang/String;)[Ljava/lang/String;
            astore 14 /* cwdURIParts */
        start local 14 // java.lang.String[] cwdURIParts
        70: .line 1844
            aload 12 /* uriParts */
            ifnonnull 73
            aload 14 /* cwdURIParts */
            ifnull 73
        71: .line 1845
            aload 14 /* cwdURIParts */
            astore 12 /* uriParts */
        72: .line 1846
            aload 14 /* cwdURIParts */
            iconst_1
            aaload
            astore 13 /* cwd */
        73: .line 1849
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 5 /* runtime */
            aload 13 /* cwd */
            aconst_null
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* cwd */
        74: .line 1851
            aload 13 /* cwd */
            ifnull 78
        75: .line 1852
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 78
            aload 13 /* cwd */
            invokevirtual java.lang.String.length:()I
            ifle 78
        76: .line 1853
            aload 13 /* cwd */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 78
        77: .line 1851
            iconst_1
            goto 79
      StackMap locals:
      StackMap stack:
        78: iconst_0
      StackMap locals:
      StackMap stack: int
        79: istore 15 /* startsWithSlashNotOnWindows */
        start local 15 // boolean startsWithSlashNotOnWindows
        80: .line 1857
            iload 15 /* startsWithSlashNotOnWindows */
            ifne 85
            aload 13 /* cwd */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/String;)Z
            ifne 85
        81: .line 1858
            aload 13 /* cwd */
            invokevirtual java.lang.String.length:()I
            ifne 82
            ldc "."
            astore 13 /* cwd */
        82: .line 1859
      StackMap locals: int
      StackMap stack:
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            aload 13 /* 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 13 /* cwd */
        end local 15 // boolean startsWithSlashNotOnWindows
        end local 14 // java.lang.String[] cwdURIParts
        83: .line 1862
            goto 85
        end local 13 // java.lang.String cwd
        84: .line 1864
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            astore 13 /* cwd */
        start local 13 // java.lang.String cwd
        85: .line 1867
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.jruby.RubyFile.$assertionsDisabled:Z
            ifne 86
            aload 13 /* cwd */
            ifnonnull 86
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        86: .line 1893
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 14 /* padSlashes */
        start local 14 // java.lang.String padSlashes
        87: .line 1894
            aload 12 /* uriParts */
            ifnull 90
        88: .line 1895
            aload 12 /* uriParts */
            iconst_0
            aaload
            astore 14 /* padSlashes */
        89: .line 1896
            goto 95
      StackMap locals: java.lang.String
      StackMap stack:
        90: getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifne 95
        91: .line 1897
            aload 6 /* relativePath */
            invokevirtual java.lang.String.length:()I
            ifle 94
            aload 6 /* relativePath */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 94
        92: .line 1898
            aload 6 /* relativePath */
            invokestatic org.jruby.RubyFile.countSlashes:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* padSlashes */
        93: .line 1899
            goto 95
        94: .line 1900
      StackMap locals:
      StackMap stack:
            aload 13 /* cwd */
            invokestatic org.jruby.RubyFile.countSlashes:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* padSlashes */
        95: .line 1905
      StackMap locals:
      StackMap stack:
            aload 6 /* relativePath */
            invokevirtual java.lang.String.length:()I
            ifne 98
        96: .line 1906
            aload 6 /* relativePath */
            aload 13 /* cwd */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 15 /* pathFile */
        start local 15 // org.jruby.util.JRubyFile pathFile
        97: .line 1907
            goto 100
        end local 15 // org.jruby.util.JRubyFile pathFile
        98: .line 1908
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 6 /* relativePath */
            aload 13 /* cwd */
            invokestatic org.jruby.RubyFile.adjustRootPathOnWindows:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* relativePath */
        99: .line 1909
            aload 13 /* cwd */
            aload 6 /* relativePath */
            invokestatic org.jruby.util.JRubyFile.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/JRubyFile;
            astore 15 /* pathFile */
        start local 15 // org.jruby.util.JRubyFile pathFile
       100: .line 1912
      StackMap locals: org.jruby.util.JRubyFile
      StackMap stack:
            aconst_null
            astore 16 /* canonicalPath */
        start local 16 // java.lang.CharSequence canonicalPath
       101: .line 1913
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 105
            aload 12 /* uriParts */
            ifnull 105
            ldc "classpath:"
            aload 12 /* uriParts */
            iconst_0
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 105
       102: .line 1920
            aload 15 /* pathFile */
            invokevirtual org.jruby.util.JRubyFile.getAbsolutePath:()Ljava/lang/String;
            astore 17 /* absolutePath */
        start local 17 // java.lang.String absolutePath
       103: .line 1921
            aload 17 /* absolutePath */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 105
            aload 17 /* absolutePath */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 105
       104: .line 1922
            aconst_null
            aload 17 /* 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 16 /* canonicalPath */
        end local 17 // java.lang.String absolutePath
       105: .line 1926
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 16 /* canonicalPath */
            ifnonnull 106
            aconst_null
            aload 15 /* 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 16 /* canonicalPath */
       106: .line 1929
      StackMap locals:
      StackMap stack:
            aload 14 /* padSlashes */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 109
       107: .line 1930
            aload 16 /* canonicalPath */
            astore 17 /* realPath */
        start local 17 // java.lang.CharSequence realPath
       108: .line 1931
            goto 112
        end local 17 // java.lang.CharSequence realPath
       109: .line 1933
      StackMap locals:
      StackMap stack:
            aload 14 /* padSlashes */
            aload 16 /* canonicalPath */
            invokestatic org.jruby.util.StringSupport.concat:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            astore 17 /* realPath */
        start local 17 // java.lang.CharSequence realPath
       110: .line 1934
            aload 9 /* preFix */
            invokevirtual java.lang.String.length:()I
            ifle 112
            aload 14 /* padSlashes */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 112
       111: .line 1935
            aload 17 /* realPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 17 /* realPath */
       112: .line 1939
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            iload 4 /* canonicalize */
            ifeq 113
            aload 17 /* realPath */
            invokestatic org.jruby.RubyFile.canonicalNormalized:(Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 17 /* realPath */
       113: .line 1941
      StackMap locals:
      StackMap stack:
            aload 10 /* postFix */
            ldc ".."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 114
            aload 10 /* postFix */
            invokestatic org.jruby.RubyFile.adjustPostFixDotDot:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* postFix */
       114: .line 1943
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 9 /* preFix */
            aload 17 /* realPath */
            aload 10 /* postFix */
            aload 7 /* enc */
            invokestatic org.jruby.RubyFile.concatStrings:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 17 // java.lang.CharSequence realPath
        end local 16 // java.lang.CharSequence canonicalPath
        end local 15 // org.jruby.util.JRubyFile pathFile
        end local 14 // java.lang.String padSlashes
        end local 13 // java.lang.String cwd
        end local 12 // java.lang.String[] uriParts
        end local 11 // java.util.regex.Matcher protocol
        end local 10 // java.lang.String postFix
        end local 9 // java.lang.String preFix
        end local 8 // org.jcodings.Encoding fsenc
        end local 7 // org.jcodings.Encoding enc
        end local 6 // java.lang.String relativePath
        end local 5 // org.jruby.Ruby runtime
        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  115     0                      context  Lorg/jruby/runtime/ThreadContext;
            0  115     1                         path  Lorg/jruby/RubyString;
            0  115     2                           wd  Lorg/jruby/RubyString;
            0  115     3                   expandUser  Z
            0  115     4                 canonicalize  Z
            1  115     5                      runtime  Lorg/jruby/Ruby;
            2  115     6                 relativePath  Ljava/lang/String;
            3  115     7                          enc  Lorg/jcodings/Encoding;
            4  115     8                        fsenc  Lorg/jcodings/Encoding;
            7  115     9                       preFix  Ljava/lang/String;
           11  115    10                      postFix  Ljava/lang/String;
           12  115    11                     protocol  Ljava/util/regex/Matcher;
           16   20    12                        extra  I
           21   23    12                        index  I
           27   55    12                       offset  I
           28   55    13                        extra  Ljava/lang/String;
           29   55    14                        index  I
           32   55    15               classloaderURI  Z
           46   47    16                   fakePrefix  Ljava/lang/String;
           56  115    12                     uriParts  [Ljava/lang/String;
           65   84    13                          cwd  Ljava/lang/String;
           85  115    13                          cwd  Ljava/lang/String;
           70   83    14                  cwdURIParts  [Ljava/lang/String;
           80   83    15  startsWithSlashNotOnWindows  Z
           87  115    14                   padSlashes  Ljava/lang/String;
           97   98    15                     pathFile  Lorg/jruby/util/JRubyFile;
          100  115    15                     pathFile  Lorg/jruby/util/JRubyFile;
          101  115    16                canonicalPath  Ljava/lang/CharSequence;
          103  105    17                 absolutePath  Ljava/lang/String;
          108  109    17                     realPath  Ljava/lang/CharSequence;
          110  115    17                     realPath  Ljava/lang/CharSequence;
    MethodParameters:
              Name  Flags
      context       
      path          
      wd            
      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 1947
            aload 0 /* realPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         1: .line 1949
            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 1950
      StackMap locals: java.lang.CharSequence java.lang.String
      StackMap stack: java.io.IOException
            pop
         4: .line 1951
            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 1956
            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 1957
            getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
            ifeq 5
         2: .line 1958
            aload 0 /* postFix */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 0 /* postFix */
         3: .line 1959
            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 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_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 1963
      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 org.jruby.RubyString concatStrings(org.jruby.Ruby, java.lang.String, java.lang.CharSequence, java.lang.String, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String s1
        start local 2 // java.lang.CharSequence s2
        start local 3 // java.lang.String s3
        start local 4 // org.jcodings.Encoding enc
         0: .line 1968
            new java.lang.StringBuilder
            dup
            aload 1 /* s1 */
            invokevirtual java.lang.String.length:()I
            aload 2 /* s2 */
            invokeinterface java.lang.CharSequence.length:()I
            iadd
            aload 3 /* s3 */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 1 /* s1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* s2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            aload 3 /* s3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1967
            astore 5 /* str */
        start local 5 // java.lang.StringBuilder str
         2: .line 1969
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 5 /* str */
            aload 4 /* enc */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)V
            areturn
        end local 5 // java.lang.StringBuilder str
        end local 4 // org.jcodings.Encoding enc
        end local 3 // java.lang.String s3
        end local 2 // java.lang.CharSequence s2
        end local 1 // java.lang.String s1
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1       s1  Ljava/lang/String;
            0    3     2       s2  Ljava/lang/CharSequence;
            0    3     3       s3  Ljava/lang/String;
            0    3     4      enc  Lorg/jcodings/Encoding;
            2    3     5      str  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      runtime  final
      s1       
      s2       
      s3       
      enc      

  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 1974
            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 1976
      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 1980
            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 1981
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 18
         2: .line 1982
            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 1983
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* path */
            aastore
            dup
            iconst_1
            ldc ""
            aastore
            areturn
         4: .line 1986
      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 1987
            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 1988
            goto 8
        end local 2 // java.lang.String pathWithoutJarPrefix
         7: .line 1989
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            astore 2 /* pathWithoutJarPrefix */
        start local 2 // java.lang.String pathWithoutJarPrefix
         8: .line 1992
      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 1993
            aload 3 /* u */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 4 /* pathPart */
        start local 4 // java.lang.String pathPart
        10: .line 1994
            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 1995
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        13: .line 1997
            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 1998
            aload 3 /* u */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 4 /* pathPart */
        start local 4 // java.lang.String pathPart
        15: .line 1999
            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 2000
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        end local 2 // java.lang.String pathWithoutJarPrefix
        18: .line 2003
      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 2016
            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 2022
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            istore 3 /* pathLength */
        start local 3 // int pathLength
         1: .line 2024
            aload 1 /* path */
            bipush 126
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 23
         2: .line 2026
            aload 1 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* userEnd */
        start local 4 // int userEnd
         3: .line 2028
            iload 4 /* userEnd */
            iconst_m1
            if_icmpne 9
         4: .line 2029
            iload 3 /* pathLength */
            iconst_1
            if_icmpne 8
         5: .line 2031
            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 2033
            iload 2 /* raiseOnRelativePath */
            ifeq 9
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 9
         7: .line 2034
            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 2038
      StackMap locals: int int
      StackMap stack:
            iload 3 /* pathLength */
            istore 4 /* userEnd */
         9: .line 2042
      StackMap locals:
      StackMap stack:
            iload 4 /* userEnd */
            iconst_1
            if_icmpne 13
        10: .line 2044
            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 2046
            iload 2 /* raiseOnRelativePath */
            ifeq 23
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 23
        12: .line 2047
            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 2049
      StackMap locals:
      StackMap stack:
            iload 4 /* userEnd */
            iconst_1
            if_icmple 23
        14: .line 2051
            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 2052
            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 2054
            aload 6 /* dir */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 18
        17: .line 2055
            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 2058
      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 2061
            iload 2 /* raiseOnRelativePath */
            ifeq 23
            aload 1 /* path */
            invokestatic org.jruby.RubyFile.isAbsolutePath:(Ljava/lang/String;)Z
            ifne 23
        22: .line 2062
            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 2066
      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 2078
            iconst_0
            istore 1 /* slashCount */
        start local 1 // int slashCount
         1: .line 2080
            aload 0 /* stringToCheck */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 2081
            iload 2 /* len */
            ifle 11
            aload 0 /* stringToCheck */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         3: .line 2083
            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 2084
            iinc 1 /* slashCount */ 1
         5: .line 2085
            iconst_2
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 2086
      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 2087
            iinc 1 /* slashCount */ 1
         9: .line 2085
            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 2095
      StackMap locals:
      StackMap stack:
            iload 1 /* slashCount */
            getstatic org.jruby.RubyFile.SLASHES:[Ljava/lang/String;
            arraylength
            if_icmpge 13
        12: .line 2096
            getstatic org.jruby.RubyFile.SLASHES:[Ljava/lang/String;
            iload 1 /* slashCount */
            aaload
            areturn
        13: .line 2100
      StackMap locals:
      StackMap stack:
            iload 1 /* slashCount */
            newarray 5
            astore 3 /* slashes */
        start local 3 // char[] slashes
        14: .line 2101
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 18
        16: .line 2102
      StackMap locals: char[] int
      StackMap stack:
            aload 3 /* slashes */
            iload 4 /* i */
            bipush 47
            castore
        17: .line 2101
            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 2104
            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 2108
            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 2109
            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 2113
            aload 1 /* remaining */
            ifnonnull 6
         1: .line 2114
            aload 0 /* canonicalPath */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 2115
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            ifne 3
            ldc "/"
            areturn
         3: .line 2117
      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 2118
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.appendSlash:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            areturn
         5: .line 2120
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            areturn
         6: .line 2124
      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 2125
            iload 3 /* slash */
            iconst_m1
            if_icmpne 11
         8: .line 2126
            aload 1 /* remaining */
            astore 2 /* child */
        start local 2 // java.lang.String child
         9: .line 2127
            aconst_null
            astore 1 /* remaining */
        10: .line 2128
            goto 13
        end local 2 // java.lang.String child
        11: .line 2129
      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 2130
            aload 1 /* remaining */
            iload 3 /* slash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* remaining */
        13: .line 2133
      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 2134
            aload 2 /* child */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        15: .line 2136
            iload 3 /* slash */
            iconst_m1
            if_icmpne 35
        16: .line 2138
            aload 0 /* canonicalPath */
            ifnull 35
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.length:()I
            ifne 35
        17: .line 2139
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.appendSlash:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            astore 4 /* path */
        18: .line 2144
            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 2145
            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 2146
      StackMap locals:
      StackMap stack:
            aload 0 /* canonicalPath */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 0 /* canonicalPath */
        22: .line 2147
            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 2148
            iload 5 /* lastDir */
            iconst_m1
            if_icmpne 27
        24: .line 2149
            aload 0 /* canonicalPath */
            invokestatic org.jruby.RubyFile.startsWithDriveLetterOnWindows:(Ljava/lang/CharSequence;)Z
            ifne 35
        25: .line 2152
            ldc ""
            astore 4 /* path */
        26: .line 2154
            goto 35
        27: .line 2155
      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 2157
            goto 35
      StackMap locals:
      StackMap stack:
        29: aload 0 /* canonicalPath */
            ifnonnull 32
        30: .line 2158
            aload 2 /* child */
            astore 4 /* path */
        31: .line 2159
            goto 35
        32: .line 2160
      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 2161
            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 2160
            astore 4 /* path */
        35: .line 2164
      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 2168
            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 2176
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 2177
            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 2178
            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 2179
      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 2181
      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 2186
            aload 1 /* target */
            ldc Ljava/io/File;
            if_acmpne 5
         1: .line 2187
            aload 0 /* this */
            invokevirtual org.jruby.RubyFile.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         2: .line 2188
            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 2190
      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 2191
      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 2192
            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 2194
      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 2198
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2199
            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 2201
            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 2203
            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 2204
            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 2206
            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 2207
            aload 8 /* fixedStr */
            iload 7 /* isTainted */
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         7: .line 2208
            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 2214
            iconst_0
            istore 5 /* isTainted */
        start local 5 // boolean isTainted
         1: .line 2216
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 30
         3: .line 2217
      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 2218
            aload 7 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 5
            iconst_1
            istore 5 /* isTainted */
         5: .line 2221
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* arg */
            instanceof org.jruby.RubyString
            ifeq 8
         6: .line 2222
            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 2223
            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 2224
            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 2225
            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 2227
      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 2229
            goto 15
        end local 8 // java.lang.CharSequence element
        13: .line 2230
      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 2231
            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 2234
      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 2235
            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 2236
            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 2237
            iload 6 /* i */
            ifle 28
        23: .line 2238
            iload 11 /* leadingDelimiter */
            ifeq 26
        24: .line 2240
            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 2241
            goto 28
      StackMap locals: int
      StackMap stack:
        26: iload 10 /* trailingDelimiter */
            ifne 28
        27: .line 2242
            aload 0 /* buffer */
            aload 1 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 2245
      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 2216
            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 2248
            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 2253
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2255
            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 2257
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 2258
            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 2259
            aload 6 /* buffer */
            areturn
         5: .line 2263
      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 2264
            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 2265
            aload 6 /* buffer */
            astore 8
         8: .line 2268
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         9: .line 2265
            aload 8
            areturn
        10: .line 2267
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        11: .line 2268
            aload 5 /* runtime */
            aload 3 /* parent */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
        12: .line 2269
            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 2275
            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 2282
            iconst_0
            istore 1 /* found */
        start local 1 // boolean found
         1: .line 2284
            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 2285
      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 2286
            iload 1 /* found */
            ifeq 8
            iload 2 /* lastIndex */
            iconst_1
            iadd
            ireturn
         5: .line 2290
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* found */
         6: .line 2284
            iinc 2 /* lastIndex */ -1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* lastIndex */
            ifge 3
        end local 2 // int lastIndex
         8: .line 2293
      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 2297
            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 2298
            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 2300
      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 2304
            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 2305
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         2: .line 2306
            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 2309
            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 2310
            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 2312
            aload 8 /* childFile */
            invokevirtual java.io.File.isAbsolute:()Z
            ifeq 8
         6: .line 2313
            aload 8 /* childFile */
            astore 7 /* testFile */
        start local 7 // java.io.File testFile
         7: .line 2314
            goto 9
        end local 7 // java.io.File testFile
         8: .line 2315
      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 2318
      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 2319
            aload 5 /* runtime */
            aload 9 /* filenameString */
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 2322
      StackMap locals:
      StackMap stack:
            aload 6 /* newLength */
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lconst_0
            lcmp
            ifge 13
        12: .line 2323
            aload 5 /* runtime */
            aload 9 /* filenameString */
            invokevirtual org.jruby.Ruby.newErrnoEINVALError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 2326
      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 2327
            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 2328
            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 2329
            aload 11 /* file */
            invokevirtual org.jruby.RubyFile.close:()V
        17: .line 2331
            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 2335
            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 2340
            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"})