public final class org.jruby.RubyArgsFile$ArgsFileData
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jruby.RubyArgsFile$ArgsFileData
super_class: java.lang.Object
{
private final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.jruby.RubyArray argv;
descriptor: Lorg/jruby/RubyArray;
flags: (0x0002) ACC_PRIVATE
public org.jruby.runtime.builtin.IRubyObject currentFile;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
private boolean inited;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public int next_p;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public boolean binmode;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
public void <init>(org.jruby.Ruby, org.jruby.RubyArray);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.jruby.RubyArgsFile$ArgsFileData.inited:Z
2: aload 0
iconst_0
putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
3: aload 0
iconst_0
putfield org.jruby.RubyArgsFile$ArgsFileData.binmode:Z
4: aload 0
aload 1
putfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
5: aload 0
aload 2
putfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
6: aload 0
aload 1
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 8 1 runtime Lorg/jruby/Ruby;
0 8 2 argv Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
runtime
argv
public void setCurrentLineNumber(org.jruby.Ruby, int);
descriptor: (Lorg/jruby/Ruby;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual org.jruby.Ruby.setCurrentLine:(I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 linenumber I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
runtime
linenumber
void setArgs(org.jruby.RubyArray);
descriptor: (Lorg/jruby/RubyArray;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield org.jruby.RubyArgsFile$ArgsFileData.inited:Z
1: aload 0
aload 1
putfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 3 1 argv Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
argv
public boolean next_argv(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.inited:Z
ifne 7
1: aload 0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.getLength:()I
ifle 2
iconst_1
goto 3
StackMap locals:
StackMap stack: org.jruby.RubyArgsFile$ArgsFileData
2: iconst_m1
StackMap locals: org.jruby.RubyArgsFile$ArgsFileData org.jruby.runtime.ThreadContext
StackMap stack: org.jruby.RubyArgsFile$ArgsFileData int
3: putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
4: aload 0
iconst_1
putfield org.jruby.RubyArgsFile$ArgsFileData.inited:Z
5: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
iconst_0
invokevirtual org.jruby.Ruby.setCurrentLine:(I)V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.isNil:()Z
ifeq 10
8: aload 0
iconst_m1
putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
9: goto 12
StackMap locals:
StackMap stack:
10: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
iconst_m1
if_icmpne 12
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.getLength:()I
ifle 12
11: aload 0
iconst_1
putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
12: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$FILENAME"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 13: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
iconst_1
if_icmpne 33
14: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.getLength:()I
ifle 31
15: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.argv:Lorg/jruby/RubyArray;
aload 1
invokevirtual org.jruby.RubyArray.shift:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 3
start local 3 16: aload 3
aload 1
aload 2
invokevirtual org.jruby.RubyString.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 18
17: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "$FILENAME"
aload 3
getstatic org.jruby.internal.runtime.GlobalVariable$Scope.GLOBAL:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
invokevirtual org.jruby.Ruby.defineReadonlyVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
18: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
StackMap stack:
aload 3
invokestatic org.jruby.RubyArgsFile$ArgsFileData.filenameEqlDash:(Lorg/jruby/RubyString;)Z
ifeq 21
19: aload 0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$stdin"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
20: goto 29
21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokestatic org.jruby.RubyFile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
22: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
invokevirtual org.jruby.RubyInstanceConfig.getInPlaceBackupExtension:()Ljava/lang/String;
astore 4
start local 4 23: aload 4
ifnull 28
24: getstatic jnr.posix.util.Platform.IS_WINDOWS:Z
ifeq 27
25: aload 0
aload 1
aload 3
invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
aload 4
invokevirtual org.jruby.RubyArgsFile$ArgsFileData.inplaceEditWindows:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;)V
26: goto 28
27: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.RubyString.asJavaString:()Ljava/lang/String;
aload 4
invokevirtual org.jruby.RubyArgsFile$ArgsFileData.inplaceEdit:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.binmode:Z
ifeq 29
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.binmode:()Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
end local 3 30: goto 37
31: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
32: iconst_0
ireturn
33: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.next_p:I
iconst_m1
if_icmpne 37
34: aload 0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$stdin"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
35: aload 2
checkcast org.jruby.RubyString
invokestatic org.jruby.RubyArgsFile$ArgsFileData.filenameEqlDash:(Lorg/jruby/RubyString;)Z
ifne 37
36: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "$FILENAME"
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "-"
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
getstatic org.jruby.internal.runtime.GlobalVariable$Scope.GLOBAL:Lorg/jruby/internal/runtime/GlobalVariable$Scope;
invokevirtual org.jruby.Ruby.defineReadonlyVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
37: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 38 1 context Lorg/jruby/runtime/ThreadContext;
13 38 2 $FILENAME Lorg/jruby/runtime/builtin/IRubyObject;
16 30 3 filename Lorg/jruby/RubyString;
23 29 4 extension Ljava/lang/String;
MethodParameters:
Name Flags
context
private static boolean filenameEqlDash(org.jruby.RubyString);
descriptor: (Lorg/jruby/RubyString;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.util.ByteList.length:()I
iconst_1
if_icmpne 2
aload 1
iconst_0
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 45
if_icmpne 2
iconst_1
ireturn
StackMap locals: org.jruby.util.ByteList
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 filename Lorg/jruby/RubyString;
1 3 1 filenameBytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
filename final
public static org.jruby.RubyArgsFile$ArgsFileData getArgsFileData(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyArgsFile$ArgsFileData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.Ruby.getArgsFile:()Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.dataGetStruct:()Ljava/lang/Object;
checkcast org.jruby.RubyArgsFile$ArgsFileData
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime
public static org.jruby.RubyArgsFile$ArgsFileData getDataFrom(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArgsFile$ArgsFileData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokestatic org.jruby.RubyArgsFile$ArgsFileData.getArgsFileData:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArgsFile$ArgsFileData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
recv
private void createNewFile(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.createNewFile:()Z
pop
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 5 1 file Ljava/io/File;
3 4 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
file
private void inplaceEditWindows(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 3
invokevirtual java.lang.String.length:()I
ifle 11
2: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 3: new java.io.File
dup
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 4: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.close:()V
5: aload 6
invokevirtual java.io.File.delete:()Z
pop
6: aload 4
aload 6
invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
pop
7: aload 0
aload 1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
8: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
aload 5
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aastore
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
9: invokestatic org.jruby.RubyFile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
end local 6 end local 5 10: goto 12
11: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "Windows doesn't support inplace editing without a backup"
invokevirtual org.jruby.Ruby.newIOError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.jruby.RubyArgsFile$ArgsFileData.createNewFile:(Ljava/io/File;)V
13: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$stdout"
aload 1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
14: iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aastore
dup
iconst_1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "w"
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aastore
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
15: invokestatic org.jruby.RubyFile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 17 1 context Lorg/jruby/runtime/ThreadContext;
0 17 2 filename Ljava/lang/String;
0 17 3 extension Ljava/lang/String;
1 17 4 file Ljava/io/File;
3 10 5 backup Ljava/lang/String;
4 10 6 backupFile Ljava/io/File;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
context
filename
extension
private void inplaceEdit(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.String);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 2
invokeinterface jnr.posix.POSIX.stat:(Ljava/lang/String;)Ljnr/posix/FileStat;
astore 5
start local 5 2: aload 3
invokevirtual java.lang.String.length:()I
ifle 5
3: aload 4
new java.io.File
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
pop
4: goto 6
5: StackMap locals: java.io.File jnr.posix.FileStat
StackMap stack:
aload 4
invokevirtual java.io.File.delete:()Z
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.jruby.RubyArgsFile$ArgsFileData.createNewFile:(Ljava/io/File;)V
7: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 2
aload 5
invokeinterface jnr.posix.FileStat.mode:()I
invokeinterface jnr.posix.POSIX.chmod:(Ljava/lang/String;I)I
pop
8: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 2
aload 5
invokeinterface jnr.posix.FileStat.uid:()I
aload 5
invokeinterface jnr.posix.FileStat.gid:()I
invokeinterface jnr.posix.POSIX.chown:(Ljava/lang/String;II)I
pop
9: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$stdout"
aload 1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getFile:()Lorg/jruby/RubyClass;
10: iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aastore
dup
iconst_1
aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.runtime:Lorg/jruby/Ruby;
ldc "w"
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aastore
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
11: invokestatic org.jruby.RubyFile.open:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyIO
invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 filename Ljava/lang/String;
0 13 3 extension Ljava/lang/String;
1 13 4 file Ljava/io/File;
2 13 5 stat Ljnr/posix/FileStat;
Exceptions:
throws org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
context
filename
extension
public boolean isCurrentFile(org.jruby.RubyIO);
descriptor: (Lorg/jruby/RubyIO;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyArgsFile$ArgsFileData.currentFile:Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyArgsFile$ArgsFileData;
0 2 1 io Lorg/jruby/RubyIO;
MethodParameters:
Name Flags
io
}
SourceFile: "RubyArgsFile.java"
NestHost: org.jruby.RubyArgsFile
InnerClasses:
public final ArgsFileData = org.jruby.RubyArgsFile$ArgsFileData of org.jruby.RubyArgsFile
public final Scope = org.jruby.internal.runtime.GlobalVariable$Scope of org.jruby.internal.runtime.GlobalVariable