public class org.jruby.ext.tempfile.Tempfile extends org.jruby.RubyFile implements org.jruby.Finalizable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.tempfile.Tempfile
  super_class: org.jruby.RubyFile
{
  private static org.jruby.runtime.ObjectAllocator TEMPFILE_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.io.File tmpFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.runtime.builtin.IRubyObject tmpname;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.runtime.builtin.IRubyObject opts;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.runtime.builtin.IRubyObject mode;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            new org.jruby.ext.tempfile.Tempfile$1
            dup
            invokespecial org.jruby.ext.tempfile.Tempfile$1.<init>:()V
            putstatic org.jruby.ext.tempfile.Tempfile.TEMPFILE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         1: .line 71
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.RubyClass createTempfileClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 74
            aload 0 /* runtime */
            ldc "Tempfile"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
            getstatic org.jruby.ext.tempfile.Tempfile.TEMPFILE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* tempfileClass */
        start local 1 // org.jruby.RubyClass tempfileClass
         1: .line 76
            aload 1 /* tempfileClass */
            ldc Lorg/jruby/ext/tempfile/Tempfile;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         2: .line 78
            aload 1 /* tempfileClass */
            areturn
        end local 1 // org.jruby.RubyClass tempfileClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0        runtime  Lorg/jruby/Ruby;
            1    3     1  tempfileClass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
         0: .line 89
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.RubyFile.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 81
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ext.tempfile.Tempfile.tmpFile:Ljava/io/File;
         2: .line 90
            return
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2     type  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  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=4, locals=4, args_size=4
        start local 0 // org.jruby.ext.tempfile.Tempfile 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 95
            aload 2 /* args */
            arraylength
            ifne 2
         1: .line 96
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aastore
            astore 2 /* args */
         2: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.ext.tempfile.Tempfile.initializeCommon:(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.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 4, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject initializeCommon(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: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 102
            new org.jruby.ext.tempfile.Tempfile$TempfileCallback
            dup
            aload 0 /* this */
            invokespecial org.jruby.ext.tempfile.Tempfile$TempfileCallback.<init>:(Lorg/jruby/ext/tempfile/Tempfile;)V
            astore 3 /* body */
        start local 3 // org.jruby.runtime.BlockCallback body
         1: .line 107
            aload 0 /* this */
            aload 1 /* context */
            ldc "create"
            aload 2 /* args */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.getMetaClass:()Lorg/jruby/RubyClass;
            getstatic org.jruby.runtime.Signature.OPTIONAL:Lorg/jruby/runtime/Signature;
            aload 3 /* body */
            aload 1 /* context */
            invokestatic org.jruby.runtime.CallBlock19.newCallClosure:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Signature;Lorg/jruby/runtime/BlockCallback;Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.ext.tempfile.Tempfile.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 110
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.addInternalFinalizer:(Lorg/jruby/Finalizable;)V
         3: .line 112
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.BlockCallback body
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3     body  Lorg/jruby/runtime/BlockCallback;
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject open(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 166
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifne 1
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.rbIoClose:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ext.tempfile.Tempfile.openFile:Lorg/jruby/util/io/OpenFile;
         2: .line 171
            aload 0 /* this */
            aload 1 /* context */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.mode:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.opts:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.ext.tempfile.Tempfile.access$0:(Lorg/jruby/ext/tempfile/Tempfile;Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 173
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject _close(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 178
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifne 1
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyFile.close:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PROTECTED:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject close(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=2, locals=5, args_size=4
        start local 0 // org.jruby.ext.tempfile.Tempfile 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 183
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 1
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* unlink */
        start local 4 // boolean unlink
         3: .line 184
            iload 4 /* unlink */
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.close_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile._close:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         5: areturn
        end local 4 // boolean unlink
        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.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    block  Lorg/jruby/runtime/Block;
            3    6     4   unlink  Z
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject close_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 189
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile._close:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 190
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.unlink:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 191
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"close!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject unlink(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 196
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.openFile:Lorg/jruby/util/io/OpenFile;
            invokevirtual org.jruby.util.io.OpenFile.getPath:()Ljava/lang/String;
            ifnonnull 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         2: .line 199
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 3 /* posix */
        start local 3 // jnr.posix.POSIX posix
         3: .line 201
            aload 3 /* posix */
            invokeinterface jnr.posix.POSIX.isNative:()Z
            ifeq 17
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifne 17
         4: .line 202
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$!"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* oldExc */
        start local 4 // org.jruby.runtime.builtin.IRubyObject oldExc
         5: .line 204
            aload 1 /* context */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokestatic org.jruby.RubyFile.unlink:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 205
            goto 14
      StackMap locals: org.jruby.ext.tempfile.Tempfile org.jruby.runtime.ThreadContext org.jruby.Ruby jnr.posix.POSIX org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.exceptions.RaiseException
         7: astore 5 /* re */
        start local 5 // org.jruby.exceptions.RaiseException re
         8: .line 206
            aload 5 /* re */
            invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
            astore 6 /* excp */
        start local 6 // org.jruby.RubyException excp
         9: .line 207
            aload 6 /* excp */
            instanceof org.jruby.RubySystemCallError
            ifne 10
            aload 5 /* re */
            athrow
        10: .line 209
      StackMap locals: org.jruby.exceptions.RaiseException org.jruby.RubyException
      StackMap stack:
            aload 6 /* excp */
            checkcast org.jruby.RubySystemCallError
            invokevirtual org.jruby.RubySystemCallError.errno:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 7 /* errno */
        start local 7 // int errno
        11: .line 210
            iload 7 /* errno */
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.intValue:()I
            if_icmpeq 13
            iload 7 /* errno */
            getstatic jnr.constants.platform.Errno.EACCES:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.intValue:()I
            if_icmpeq 13
        12: .line 211
            aload 5 /* re */
            athrow
        13: .line 213
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$!"
            aload 4 /* oldExc */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 7 // int errno
        end local 6 // org.jruby.RubyException excp
        end local 5 // org.jruby.exceptions.RaiseException re
        14: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.openFile:Lorg/jruby/util/io/OpenFile;
            aconst_null
            invokevirtual org.jruby.util.io.OpenFile.setPath:(Ljava/lang/String;)V
        15: .line 216
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
        end local 4 // org.jruby.runtime.builtin.IRubyObject oldExc
        16: .line 217
            goto 23
        17: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifeq 22
        18: .line 221
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpFile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 19
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpFile:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            ifeq 23
        19: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.openFile:Lorg/jruby/util/io/OpenFile;
            aconst_null
            invokevirtual org.jruby.util.io.OpenFile.setPath:(Ljava/lang/String;)V
        20: .line 223
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
        21: .line 225
            goto 23
        22: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            ldc "Tempfile#unlink or delete called on open file; ignoring"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
        23: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // jnr.posix.POSIX posix
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0   24     1  context  Lorg/jruby/runtime/ThreadContext;
            2   24     2  runtime  Lorg/jruby/Ruby;
            3   24     3    posix  Ljnr/posix/POSIX;
            5   16     4   oldExc  Lorg/jruby/runtime/builtin/IRubyObject;
            8   14     5       re  Lorg/jruby/exceptions/RaiseException;
            9   14     6     excp  Lorg/jruby/RubyException;
           11   14     7    errno  I
      Exception table:
        from    to  target  type
           5     6       7  Class org.jruby.exceptions.RaiseException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"unlink", "delete"})
    MethodParameters:
         Name  Flags
      context  

  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=3, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 236
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifne 4
         1: .line 237
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.flush:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyIO;
            pop
         2: .line 238
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.stat:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyFileStat
            astore 2 /* stat */
        start local 2 // org.jruby.RubyFileStat stat
         3: .line 239
            aload 2 /* stat */
            invokevirtual org.jruby.RubyFileStat.size:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyFileStat stat
         4: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 7
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
         5: .line 241
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpname:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.ext.tempfile.Tempfile.stat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyFileStat
            astore 2 /* stat */
        start local 2 // org.jruby.RubyFileStat stat
         6: .line 242
            aload 2 /* stat */
            invokevirtual org.jruby.RubyFileStat.size:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyFileStat stat
         7: .line 244
      StackMap locals:
      StackMap stack:
            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 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            3    4     2     stat  Lorg/jruby/RubyFileStat;
            6    7     2     stat  Lorg/jruby/RubyFileStat;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"size", "length"})
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.runtime.builtin.IRubyObject open19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)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[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 250
            aload 0 /* context */
            aload 1 /* recv */
            aload 2 /* args */
            aload 3 /* block */
            invokestatic org.jruby.ext.tempfile.Tempfile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)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.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;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     
      block    

  public static org.jruby.runtime.builtin.IRubyObject open(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, 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[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 255
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            astore 4 /* klass */
        start local 4 // org.jruby.RubyClass klass
         1: .line 256
            aload 4 /* klass */
            aload 0 /* context */
            aload 2 /* args */
            aload 3 /* block */
            invokevirtual org.jruby.RubyClass.newInstance:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.tempfile.Tempfile
            astore 5 /* tempfile */
        start local 5 // org.jruby.ext.tempfile.Tempfile tempfile
         2: .line 258
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 9
         3: .line 260
            aload 3 /* block */
            aload 0 /* context */
            aload 5 /* tempfile */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7
         4: .line 262
            aload 5 /* tempfile */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifne 5
            aload 5 /* tempfile */
            invokevirtual org.jruby.ext.tempfile.Tempfile.close:()V
         5: .line 260
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.RubyClass org.jruby.ext.tempfile.Tempfile top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7
            areturn
         6: .line 261
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.RubyClass org.jruby.ext.tempfile.Tempfile
      StackMap stack: java.lang.Throwable
            astore 6
         7: .line 262
            aload 5 /* tempfile */
            invokevirtual org.jruby.ext.tempfile.Tempfile.isClosed:()Z
            ifne 8
            aload 5 /* tempfile */
            invokevirtual org.jruby.ext.tempfile.Tempfile.close:()V
         8: .line 263
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
         9: .line 265
      StackMap locals:
      StackMap stack:
            aload 5 /* tempfile */
            areturn
        end local 5 // org.jruby.ext.tempfile.Tempfile tempfile
        end local 4 // org.jruby.RubyClass klass
        end local 3 // org.jruby.runtime.Block block
        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;
            0   10     3     block  Lorg/jruby/runtime/Block;
            1   10     4     klass  Lorg/jruby/RubyClass;
            2   10     5  tempfile  Lorg/jruby/ext/tempfile/Tempfile;
      Exception table:
        from    to  target  type
           3     4       6  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 4, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     
      block    

  public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 271
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyFile.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public void finalize();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ext.tempfile.Tempfile this
         0: .line 277
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 278
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 279
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpFile:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            pop
         4: .line 280
            aload 1
            athrow
         5: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.tempfile.Tempfile.tmpFile:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            pop
         6: .line 281
            return
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ext/tempfile/Tempfile;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  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.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 285
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ext.tempfile.Tempfile.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* args */
            aload 2 /* block */
            invokevirtual org.jruby.ext.tempfile.Tempfile.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.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ext/tempfile/Tempfile;
            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  

  public org.jruby.runtime.builtin.IRubyObject size19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ext.tempfile.Tempfile this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 290
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.ext.tempfile.Tempfile.size:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.tempfile.Tempfile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/tempfile/Tempfile;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  static org.jruby.runtime.builtin.IRubyObject access$0(org.jruby.ext.tempfile.Tempfile, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/ext/tempfile/Tempfile;Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokespecial org.jruby.RubyFile.initialize:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Tempfile.java"
NestMembers:
  org.jruby.ext.tempfile.Tempfile$1  org.jruby.ext.tempfile.Tempfile$TempfileCallback
InnerClasses:
  org.jruby.ext.tempfile.Tempfile$1
  private TempfileCallback = org.jruby.ext.tempfile.Tempfile$TempfileCallback of org.jruby.ext.tempfile.Tempfile
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Tempfile"}, parent = "File")