public class org.jruby.RubyFileTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyFileTest
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyFileTest this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.RubyFileTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyFileTest;

  public static org.jruby.RubyModule createFileTestModule(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 55
            aload 0 /* runtime */
            ldc "FileTest"
            invokevirtual org.jruby.Ruby.defineModule:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            astore 1 /* fileTestModule */
        start local 1 // org.jruby.RubyModule fileTestModule
         1: .line 56
            aload 0 /* runtime */
            aload 1 /* fileTestModule */
            invokevirtual org.jruby.Ruby.setFileTest:(Lorg/jruby/RubyModule;)V
         2: .line 58
            aload 1 /* fileTestModule */
            ldc Lorg/jruby/RubyFileTest;
            invokevirtual org.jruby.RubyModule.defineAnnotatedMethods:(Ljava/lang/Class;)V
         3: .line 60
            aload 1 /* fileTestModule */
            areturn
        end local 1 // org.jruby.RubyModule fileTestModule
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0         runtime  Lorg/jruby/Ruby;
            1    4     1  fileTestModule  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  

  public static org.jruby.runtime.builtin.IRubyObject blockdev_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 65
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 67
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isBlockDev:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"blockdev?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject chardev_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 72
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 74
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isCharDev:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chardev?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject directory_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 79
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.directory_p:(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 filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject directory_p(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby ruby
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 83
            aload 0 /* ruby */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.directory_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.Ruby ruby
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      ruby  Lorg/jruby/Ruby;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
          Name  Flags
      ruby      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject directory_p(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=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 filename
         0: .line 88
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFileTest.directory_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        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    1     0   context  Lorg/jruby/runtime/ThreadContext;
            0    1     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"directory?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject directory_p(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: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 92
            aload 1 /* filename */
            instanceof org.jruby.RubyIO
            ifne 2
            aload 1 /* filename */
            ldc "to_io"
            invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 93
            aload 1 /* filename */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            ldc "to_io"
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* filename */
         2: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.isDirectory:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        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  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
          Name  Flags
      context   
      filename  

  public static org.jruby.runtime.builtin.IRubyObject executable_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 101
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.canExecute:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"executable?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject executable_real_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 106
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 5
         1: .line 107
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         2: .line 109
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 3
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isExecutableReal:()Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         3: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         4: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
         5: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.executable_p:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            2    5     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"executable_real?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject exist_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 118
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.exist_p:(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 filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject exist_p(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 filename
         0: .line 124
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* context */
            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.RubyFileTest.exist:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        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    1     0   context  Lorg/jruby/runtime/ThreadContext;
            0    1     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"exist?", "exists?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  static boolean exist(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString path
         0: .line 128
            aload 1 /* path */
            invokevirtual org.jruby.RubyString.decodeString:()Ljava/lang/String;
            astore 2 /* pathStr */
        start local 2 // java.lang.String pathStr
         1: .line 129
            invokestatic org.jruby.Ruby.isSecurityRestricted:()Z
            ifne 3
         2: .line 130
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* pathStr */
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.exists:()Z
            ifeq 3
            iconst_1
            ireturn
         3: .line 132
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* context */
            aload 2 /* pathStr */
            invokestatic org.jruby.RubyFileTest.existsOnClasspath:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String pathStr
        end local 1 // org.jruby.RubyString 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/RubyString;
            1    4     2  pathStr  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      path     

  public static org.jruby.RubyBoolean file_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 137
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.file_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.RubyBoolean file_p(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/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, 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 filename
         0: .line 142
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.isFile:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        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    1     0   context  Lorg/jruby/runtime/ThreadContext;
            0    1     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"file?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject grpowned_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=4, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 147
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 148
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 3 /* stat */
        start local 3 // jnr.posix.FileStat stat
         2: .line 151
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 3
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         3: .line 153
      StackMap locals: org.jruby.Ruby jnr.posix.FileStat
      StackMap stack:
            aload 2 /* runtime */
            aload 3 /* stat */
            ifnull 4
            aload 3 /* stat */
            invokeinterface jnr.posix.FileStat.isGroupOwned:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         4: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         5: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // jnr.posix.FileStat stat
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     2   runtime  Lorg/jruby/Ruby;
            2    6     3      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"grpowned?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject identical_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=8, args_size=3
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename1
        start local 2 // org.jruby.runtime.builtin.IRubyObject filename2
         0: .line 158
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 159
            aload 1 /* filename1 */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            astore 4 /* file1 */
        start local 4 // org.jruby.util.FileResource file1
         2: .line 160
            aload 2 /* filename2 */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            astore 5 /* file2 */
        start local 5 // org.jruby.util.FileResource file2
         3: .line 162
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifne 4
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifne 12
         4: .line 166
      StackMap locals: org.jruby.Ruby org.jruby.util.FileResource org.jruby.util.FileResource
      StackMap stack:
            aload 4 /* file1 */
            invokeinterface org.jruby.util.FileResource.exists:()Z
            ifeq 11
            aload 5 /* file2 */
            invokeinterface org.jruby.util.FileResource.exists:()Z
            ifeq 11
         5: .line 168
            new java.io.File
            dup
            aload 4 /* file1 */
            invokeinterface org.jruby.util.FileResource.absolutePath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 6 /* canon1 */
        start local 6 // java.lang.String canon1
         6: .line 169
            new java.io.File
            dup
            aload 5 /* file2 */
            invokeinterface org.jruby.util.FileResource.absolutePath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 7 /* canon2 */
        start local 7 // java.lang.String canon2
         7: .line 170
            aload 3 /* runtime */
            aload 6 /* canon1 */
            aload 7 /* canon2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
         8: areturn
        end local 7 // java.lang.String canon2
        end local 6 // java.lang.String canon1
         9: .line 171
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        10: .line 172
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        11: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        12: .line 179
      StackMap locals:
      StackMap stack:
            aload 4 /* file1 */
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 6 /* stat1 */
        start local 6 // jnr.posix.FileStat stat1
        13: .line 180
            aload 5 /* file2 */
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 7 /* stat2 */
        start local 7 // jnr.posix.FileStat stat2
        14: .line 182
            aload 3 /* runtime */
            aload 6 /* stat1 */
            ifnull 15
            aload 7 /* stat2 */
            ifnull 15
            aload 6 /* stat1 */
            aload 7 /* stat2 */
            invokeinterface jnr.posix.FileStat.isIdentical:(Ljnr/posix/FileStat;)Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.util.FileResource org.jruby.util.FileResource jnr.posix.FileStat jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
        15: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.util.FileResource org.jruby.util.FileResource jnr.posix.FileStat jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
        16: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 7 // jnr.posix.FileStat stat2
        end local 6 // jnr.posix.FileStat stat1
        end local 5 // org.jruby.util.FileResource file2
        end local 4 // org.jruby.util.FileResource file1
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject filename2
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename1
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     1  filename1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     2  filename2  Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     3    runtime  Lorg/jruby/Ruby;
            2   17     4      file1  Lorg/jruby/util/FileResource;
            3   17     5      file2  Lorg/jruby/util/FileResource;
            6    9     6     canon1  Ljava/lang/String;
            7    9     7     canon2  Ljava/lang/String;
           13   17     6      stat1  Ljnr/posix/FileStat;
           14   17     7      stat2  Ljnr/posix/FileStat;
      Exception table:
        from    to  target  type
           5     8       9  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"identical?"}, required = 2, module = true)
    MethodParameters:
           Name  Flags
      recv       
      filename1  
      filename2  

  public static org.jruby.runtime.builtin.IRubyObject owned_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 187
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 189
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isOwned:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"owned?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject pipe_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 194
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 196
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isNamedPipe:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"pipe?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject readable_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 201
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.readable_p:(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 filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject readable_p(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=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 filename
         0: .line 207
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 208
            aload 2 /* filename */
            instanceof org.jruby.RubyFile
            ifne 3
         2: .line 209
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 2 /* filename */
         3: .line 212
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.canRead:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        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    4     0   context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3   runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"readable?", "readable_real?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject rowned_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 217
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 219
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isROwned:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject setgid_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 224
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 226
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isSetgid:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"setgid?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject setuid_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 231
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 233
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isSetuid:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"setuid?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject size(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 237
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.size:(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 filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject size(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=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 filename
         0: .line 242
            aload 2 /* filename */
            instanceof org.jruby.RubyFile
            ifne 2
            aload 2 /* filename */
            ldc "to_io"
            invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 243
            aload 2 /* filename */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            ldc "to_io"
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* filename */
         2: .line 246
      StackMap locals:
      StackMap stack:
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 3 /* stat */
        start local 3 // jnr.posix.FileStat stat
         3: .line 248
            aload 3 /* stat */
            ifnonnull 4
            aload 2 /* filename */
            invokestatic org.jruby.RubyFileTest.noFileError:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 250
      StackMap locals: jnr.posix.FileStat
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* stat */
            invokeinterface jnr.posix.FileStat.st_size:()J
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // jnr.posix.FileStat stat
        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    5     0   context  Lorg/jruby/runtime/ThreadContext;
            0    5     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     3      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"size"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject size_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 255
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.size_p:(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 filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject size_p(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 filename
         0: .line 260
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 261
            aload 2 /* filename */
            instanceof org.jruby.RubyFile
            ifne 3
            aload 2 /* filename */
            ldc "to_io"
            invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 262
            aload 2 /* filename */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            ldc "to_io"
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* filename */
         3: .line 265
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 4 /* stat */
        start local 4 // jnr.posix.FileStat stat
         4: .line 267
            aload 4 /* stat */
            ifnonnull 5
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 269
      StackMap locals: jnr.posix.FileStat
      StackMap stack:
            aload 4 /* stat */
            invokeinterface jnr.posix.FileStat.st_size:()J
            lstore 5 /* length */
        start local 5 // long length
         6: .line 270
            lload 5 /* length */
            lconst_0
            lcmp
            ifle 7
            aload 3 /* runtime */
            lload 5 /* length */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            goto 8
      StackMap locals: long
      StackMap stack:
         7: aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         8: areturn
        end local 5 // long length
        end local 4 // jnr.posix.FileStat stat
        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    9     0   context  Lorg/jruby/runtime/ThreadContext;
            0    9     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3   runtime  Lorg/jruby/Ruby;
            4    9     4      stat  Ljnr/posix/FileStat;
            6    9     5    length  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"size?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject socket_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 275
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 277
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isSocket:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"socket?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject sticky_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (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=3, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 282
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 2 /* stat */
        start local 2 // jnr.posix.FileStat stat
         1: .line 284
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* stat */
            ifnull 2
            aload 2 /* stat */
            invokeinterface jnr.posix.FileStat.isSticky:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // jnr.posix.FileStat stat
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sticky?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.RubyBoolean symlink_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 289
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.isSymLink:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"symlink?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.RubyBoolean writable_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 296
            aload 1 /* filename */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            invokeinterface org.jruby.util.FileResource.canWrite:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"writable?", "writable_real?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.RubyBoolean zero_p(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 301
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* recv */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFileTest.zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      recv      
      filename  

  public static org.jruby.RubyBoolean zero_p(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/RubyBoolean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, 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 filename
         0: .line 306
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 308
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFile.fileResource:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/util/FileResource;
            astore 4 /* resource */
        start local 4 // org.jruby.util.FileResource resource
         2: .line 312
            aload 4 /* resource */
            invokeinterface org.jruby.util.FileResource.isNull:()Z
            ifeq 3
            aload 3 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         3: .line 314
      StackMap locals: org.jruby.Ruby org.jruby.util.FileResource
      StackMap stack:
            aload 4 /* resource */
            invokeinterface org.jruby.util.FileResource.stat:()Ljnr/posix/FileStat;
            astore 5 /* stat */
        start local 5 // jnr.posix.FileStat stat
         4: .line 316
            aload 5 /* stat */
            ifnonnull 5
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         5: .line 318
      StackMap locals: jnr.posix.FileStat
      StackMap stack:
            aload 5 /* stat */
            invokeinterface jnr.posix.FileStat.isDirectory:()Z
            ifeq 6
            aload 3 /* runtime */
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         6: .line 320
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 5 /* stat */
            invokeinterface jnr.posix.FileStat.st_size:()J
            lconst_0
            lcmp
            ifne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         7: iconst_0
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.util.FileResource jnr.posix.FileStat
      StackMap stack: org.jruby.Ruby int
         8: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 5 // jnr.posix.FileStat stat
        end local 4 // org.jruby.util.FileResource resource
        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    9     0   context  Lorg/jruby/runtime/ThreadContext;
            0    9     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3   runtime  Lorg/jruby/Ruby;
            2    9     4  resource  Lorg/jruby/util/FileResource;
            4    9     5      stat  Ljnr/posix/FileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"empty?", "zero?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject worldReadable(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=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 filename
         0: .line 325
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFileTest.getRubyFileStat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFileStat;
            astore 3 /* stat */
        start local 3 // org.jruby.RubyFileStat stat
         1: .line 327
            aload 3 /* stat */
            ifnonnull 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.RubyFileStat
      StackMap stack:
         2: aload 3 /* stat */
            aload 0 /* context */
            invokevirtual org.jruby.RubyFileStat.worldReadable:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.RubyFileStat stat
        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    4     0   context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3      stat  Lorg/jruby/RubyFileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"world_readable?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  public static org.jruby.runtime.builtin.IRubyObject worldWritable(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=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 filename
         0: .line 332
            aload 0 /* context */
            aload 2 /* filename */
            invokestatic org.jruby.RubyFileTest.getRubyFileStat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFileStat;
            astore 3 /* stat */
        start local 3 // org.jruby.RubyFileStat stat
         1: .line 334
            aload 3 /* stat */
            ifnonnull 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.RubyFileStat
      StackMap stack:
         2: aload 3 /* stat */
            aload 0 /* context */
            invokevirtual org.jruby.RubyFileStat.worldWritable:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.RubyFileStat stat
        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    4     0   context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3      stat  Lorg/jruby/RubyFileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"world_writable?"}, required = 1, module = true)
    MethodParameters:
          Name  Flags
      context   
      recv      
      filename  

  private static org.jruby.RubyFileStat getRubyFileStat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFileStat;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 464
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 466
            aconst_null
            astore 3 /* stat */
        start local 3 // org.jruby.RubyFileStat stat
         2: .line 467
            aload 1 /* filename */
            instanceof org.jruby.RubyFile
            ifne 8
         3: .line 468
            aload 0 /* context */
            aload 1 /* filename */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 4 /* path */
        start local 4 // org.jruby.RubyString path
         4: .line 469
            aload 2 /* runtime */
            aload 4 /* path */
            invokevirtual org.jruby.RubyString.getUnicodeValue:()Ljava/lang/String;
            invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/util/FileResource;
            astore 5 /* file */
        start local 5 // org.jruby.util.FileResource file
         5: .line 470
            aload 5 /* file */
            invokeinterface org.jruby.util.FileResource.exists:()Z
            ifeq 9
         6: .line 471
            aload 2 /* runtime */
            aload 5 /* file */
            invokeinterface org.jruby.util.FileResource.absolutePath:()Ljava/lang/String;
            iconst_0
            invokevirtual org.jruby.Ruby.newFileStat:(Ljava/lang/String;Z)Lorg/jruby/RubyFileStat;
            astore 3 /* stat */
        end local 5 // org.jruby.util.FileResource file
        end local 4 // org.jruby.RubyString path
         7: .line 473
            goto 9
         8: .line 474
      StackMap locals: org.jruby.Ruby org.jruby.RubyFileStat
      StackMap stack:
            aload 1 /* filename */
            checkcast org.jruby.RubyFile
            aload 0 /* context */
            invokevirtual org.jruby.RubyFile.stat:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyFileStat
            astore 3 /* stat */
         9: .line 477
      StackMap locals:
      StackMap stack:
            aload 3 /* stat */
            areturn
        end local 3 // org.jruby.RubyFileStat stat
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject filename
        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  filename  Lorg/jruby/runtime/builtin/IRubyObject;
            1   10     2   runtime  Lorg/jruby/Ruby;
            2   10     3      stat  Lorg/jruby/RubyFileStat;
            4    7     4      path  Lorg/jruby/RubyString;
            5    7     5      file  Lorg/jruby/util/FileResource;
    MethodParameters:
          Name  Flags
      context   
      filename  

  private static boolean existsOnClasspath(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String path
         0: .line 481
            aload 1 /* path */
            ldc "classpath:/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
         1: .line 482
            aload 1 /* path */
            ldc "classpath:/"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* path */
         2: .line 484
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
            astore 2 /* classLoader */
        start local 2 // java.lang.ClassLoader classLoader
         3: .line 486
            aload 2 /* classLoader */
            ifnonnull 5
            invokestatic org.jruby.Ruby.isSecurityRestricted:()Z
            ifeq 5
         4: .line 487
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.getLoader:()Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
         5: .line 490
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 2 /* classLoader */
            aload 1 /* path */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 3 /* is */
        start local 3 // java.io.InputStream is
         6: .line 491
            aload 3 /* is */
            ifnull 12
         7: .line 493
            aload 3 /* is */
            invokevirtual java.io.InputStream.close:()V
         8: .line 494
            goto 11
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.String java.lang.ClassLoader java.io.InputStream
      StackMap stack: java.io.IOException
         9: pop
            goto 11
        10: .line 495
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            pop
        11: .line 498
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.io.InputStream is
        end local 2 // java.lang.ClassLoader classLoader
        12: .line 501
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String path
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0      context  Lorg/jruby/runtime/ThreadContext;
            0   13     1         path  Ljava/lang/String;
            3   12     2  classLoader  Ljava/lang/ClassLoader;
            6   12     3           is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException
           7     8      10  Class java.lang.NullPointerException
    MethodParameters:
         Name  Flags
      context  
      path     

  private static void noFileError(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject filename
         0: .line 505
            aload 0 /* filename */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "No such file or directory - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 506
            aload 0 /* filename */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 505
            invokevirtual org.jruby.Ruby.newErrnoENOENTError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 0 // org.jruby.runtime.builtin.IRubyObject filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  filename  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
          Name  Flags
      filename  
}
SourceFile: "RubyFileTest.java"
NestMembers:
  org.jruby.RubyFileTest$FileTestFileMethods
InnerClasses:
  public FileTestFileMethods = org.jruby.RubyFileTest$FileTestFileMethods of org.jruby.RubyFileTest
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyModule(name = {"FileTest"})