public class org.jruby.util.Dir
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.Dir
super_class: java.lang.Object
{
public static final boolean DOSISH;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean CASEFOLD_FILESYSTEM;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int FNM_NOESCAPE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int FNM_PATHNAME;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int FNM_DOTMATCH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int FNM_CASEFOLD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int FNM_SYSCASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int FNM_NOMATCH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int FNM_ERROR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final byte[] EMPTY;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] SLASH;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] STAR;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] DOUBLE_STAR;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.jruby.util.Dir$GlobFunc<java.util.List<org.jruby.util.ByteList>> push_pattern;
descriptor: Lorg/jruby/util/Dir$GlobFunc;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/jruby/util/Dir$GlobFunc<Ljava/util/List<Lorg/jruby/util/ByteList;>;>;
private static final org.jruby.util.Dir$GlobFunc<org.jruby.util.Dir$GlobArgs> glob_caller;
descriptor: Lorg/jruby/util/Dir$GlobFunc;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
putstatic org.jruby.util.Dir.DOSISH:Z
1: getstatic org.jruby.util.Dir.DOSISH:Z
putstatic org.jruby.util.Dir.CASEFOLD_FILESYSTEM:Z
2: getstatic org.jruby.util.Dir.CASEFOLD_FILESYSTEM:Z
ifeq 3
bipush 8
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: putstatic org.jruby.util.Dir.FNM_SYSCASE:I
5: getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
putstatic org.jruby.util.Dir.EMPTY:[B
6: iconst_1
newarray 8
dup
iconst_0
bipush 47
bastore
putstatic org.jruby.util.Dir.SLASH:[B
7: iconst_1
newarray 8
dup
iconst_0
bipush 42
bastore
putstatic org.jruby.util.Dir.STAR:[B
8: iconst_2
newarray 8
dup
iconst_0
bipush 42
bastore
dup
iconst_1
bipush 42
bastore
putstatic org.jruby.util.Dir.DOUBLE_STAR:[B
9: new org.jruby.util.Dir$1
dup
invokespecial org.jruby.util.Dir$1.<init>:()V
putstatic org.jruby.util.Dir.push_pattern:Lorg/jruby/util/Dir$GlobFunc;
10: new org.jruby.util.Dir$2
dup
invokespecial org.jruby.util.Dir$2.<init>:()V
putstatic org.jruby.util.Dir.glob_caller:Lorg/jruby/util/Dir$GlobFunc;
11: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/Dir;
private static boolean isdirsep(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 47
if_icmpeq 2
getstatic org.jruby.util.Dir.DOSISH:Z
ifeq 1
iload 0
bipush 92
if_icmpeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 c C
MethodParameters:
Name Flags
c
private static boolean isdirsep(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 255
iand
i2c
invokestatic org.jruby.util.Dir.isdirsep:(C)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c B
MethodParameters:
Name Flags
c
private static int rb_path_next(byte[], int, int);
descriptor: ([BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 2
1: StackMap locals:
StackMap stack:
iinc 1 1
2: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmpge 3
aload 0
iload 1
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 1
3: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 _s [B
0 4 1 s I
0 4 2 send I
MethodParameters:
Name Flags
_s
s
send
private static int fnmatch_helper(byte[], int, int, byte[], int, int, int);
descriptor: ([BII[BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 4
istore 8
start local 8 1: iload 1
istore 9
start local 9 2: iload 6
iconst_1
iand
ifne 3
iconst_1
goto 4
StackMap locals: byte[] int int byte[] int int int top int int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 10
start local 10 5: iload 6
iconst_2
iand
ifeq 6
iconst_1
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 11
start local 11 8: iload 6
iconst_4
iand
ifne 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 12
start local 12 11: iload 6
bipush 8
iand
ifeq 12
iconst_1
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 13
start local 13 14: goto 71
15: StackMap locals: int
StackMap stack:
aload 0
iload 9
iinc 9 1
baload
sipush 255
iand
i2c
istore 14
start local 14 16: iload 14
lookupswitch { // 4
42: 22
63: 17
91: 49
92: 57
default: 62
}
17: StackMap locals: int
StackMap stack:
iload 8
iload 5
if_icmpge 19
iload 11
ifeq 18
aload 3
iload 8
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifne 19
18: StackMap locals:
StackMap stack:
iload 12
ifeq 20
aload 3
iload 8
baload
bipush 46
if_icmpne 20
iload 8
ifeq 19
iload 11
ifeq 20
aload 3
iload 8
iconst_1
isub
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 20
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iinc 8 1
21: goto 71
22: StackMap locals:
StackMap stack:
iload 9
iload 2
if_icmpge 23
aload 0
iload 9
iinc 9 1
baload
sipush 255
iand
i2c
dup
istore 14
bipush 42
if_icmpeq 22
23: StackMap locals:
StackMap stack:
iload 8
iload 5
if_icmpge 25
iload 12
ifeq 25
aload 3
iload 8
baload
bipush 46
if_icmpne 25
iload 8
ifeq 24
iload 11
ifeq 25
aload 3
iload 8
iconst_1
isub
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 25
24: StackMap locals:
StackMap stack:
iconst_1
ireturn
25: StackMap locals:
StackMap stack:
iload 9
iload 2
if_icmpgt 26
iload 9
iload 2
if_icmpne 29
iload 14
bipush 42
if_icmpne 29
26: StackMap locals:
StackMap stack:
iload 11
ifeq 28
aload 3
iload 8
iload 5
invokestatic org.jruby.util.Dir.rb_path_next:([BII)I
iload 5
if_icmpge 28
27: iconst_1
ireturn
28: StackMap locals:
StackMap stack:
iconst_0
ireturn
29: StackMap locals:
StackMap stack:
iload 11
ifeq 35
iload 14
invokestatic org.jruby.util.Dir.isdirsep:(C)Z
ifeq 35
30: aload 3
iload 8
iload 5
invokestatic org.jruby.util.Dir.rb_path_next:([BII)I
istore 8
31: iload 8
iload 5
if_icmpge 34
32: iinc 8 1
33: goto 71
34: StackMap locals:
StackMap stack:
iconst_1
ireturn
35: StackMap locals:
StackMap stack:
iload 10
ifeq 36
iload 14
bipush 92
if_icmpne 36
iload 9
iload 2
if_icmpge 36
aload 0
iload 9
baload
sipush 255
iand
goto 37
StackMap locals:
StackMap stack:
36: iload 14
StackMap locals:
StackMap stack: int
37: i2c
istore 7
start local 7 38: iload 7
invokestatic java.lang.Character.toLowerCase:(C)C
istore 7
39: iinc 9 -1
40: goto 47
41: StackMap locals: byte[] int int byte[] int int int int int int int int int int int
StackMap stack:
iload 14
bipush 63
if_icmpeq 42
iload 14
bipush 91
if_icmpeq 42
aload 3
iload 8
baload
i2c
invokestatic java.lang.Character.toLowerCase:(C)C
iload 7
if_icmpne 44
42: StackMap locals:
StackMap stack:
aload 0
iload 9
iload 2
aload 3
iload 8
iload 5
iload 6
iconst_4
ior
invokestatic org.jruby.util.Dir.fnmatch:([BII[BIII)I
ifne 44
43: iconst_0
ireturn
44: StackMap locals:
StackMap stack:
iload 11
ifeq 46
aload 3
iload 8
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 46
45: goto 48
46: StackMap locals:
StackMap stack:
iinc 8 1
47: StackMap locals:
StackMap stack:
iload 8
iload 5
if_icmplt 41
48: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 49: StackMap locals: byte[] int int byte[] int int int top int int int int int int int
StackMap stack:
iload 8
iload 5
if_icmpge 51
iload 11
ifeq 50
aload 3
iload 8
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifne 51
50: StackMap locals:
StackMap stack:
iload 12
ifeq 52
aload 3
iload 8
baload
bipush 46
if_icmpne 52
iload 8
ifeq 51
iload 11
ifeq 52
aload 3
iload 8
iconst_1
isub
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 52
51: StackMap locals:
StackMap stack:
iconst_1
ireturn
52: StackMap locals:
StackMap stack:
aload 0
iload 9
iload 2
aload 3
iload 8
baload
sipush 255
iand
i2c
iload 6
invokestatic org.jruby.util.Dir.range:([BIICI)I
istore 9
53: iload 9
iconst_m1
if_icmpne 55
54: iconst_1
ireturn
55: StackMap locals:
StackMap stack:
iinc 8 1
56: goto 71
57: StackMap locals:
StackMap stack:
iload 10
ifeq 62
58: iload 9
iload 2
if_icmplt 61
59: bipush 92
istore 14
60: goto 62
61: StackMap locals:
StackMap stack:
aload 0
iload 9
iinc 9 1
baload
sipush 255
iand
i2c
istore 14
62: StackMap locals:
StackMap stack:
iload 8
iload 5
if_icmplt 64
63: iconst_1
ireturn
64: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Dir.DOSISH:Z
ifeq 65
iload 11
ifeq 65
iload 14
invokestatic org.jruby.util.Dir.isdirsep:(C)Z
ifeq 65
aload 3
iload 8
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifne 70
65: StackMap locals:
StackMap stack:
iload 13
ifeq 68
66: iload 14
invokestatic java.lang.Character.toLowerCase:(C)C
aload 3
iload 8
baload
i2c
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpeq 70
67: iconst_1
ireturn
68: StackMap locals:
StackMap stack:
iload 14
aload 3
iload 8
baload
sipush 255
iand
i2c
if_icmpeq 70
69: iconst_1
ireturn
70: StackMap locals:
StackMap stack:
iinc 8 1
end local 14 71: StackMap locals:
StackMap stack:
iload 9
iload 2
if_icmplt 15
72: iload 8
iload 5
if_icmplt 73
iconst_0
goto 74
StackMap locals:
StackMap stack:
73: iconst_1
StackMap locals:
StackMap stack: int
74: ireturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 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 75 0 bytes [B
0 75 1 pstart I
0 75 2 pend I
0 75 3 string [B
0 75 4 sstart I
0 75 5 send I
0 75 6 flags I
38 49 7 test C
1 75 8 s I
2 75 9 pat I
5 75 10 escape Z
8 75 11 pathname Z
11 75 12 period Z
14 75 13 nocase Z
16 71 14 c C
MethodParameters:
Name Flags
bytes
pstart
pend
string
sstart
send
flags
public static int fnmatch(byte[], int, int, byte[], int, int, int);
descriptor: ([BII[BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 6
iconst_4
iand
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: iload 6
iconst_2
iand
ifeq 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 8
start local 8 6: iload 1
istore 9
start local 9 7: iload 4
istore 10
start local 10 8: iconst_m1
istore 11
start local 11 9: iconst_m1
istore 12
start local 12 10: iload 8
ifeq 34
11: StackMap locals: byte[] int int byte[] int int int int int int int int int
StackMap stack:
aload 0
iload 9
invokestatic org.jruby.util.Dir.isDoubleStarAndSlash:([BI)Z
ifeq 15
12: StackMap locals:
StackMap stack:
iinc 9 3
aload 0
iload 9
invokestatic org.jruby.util.Dir.isDoubleStarAndSlash:([BI)Z
ifne 12
13: iload 9
istore 11
14: iload 10
istore 12
15: StackMap locals:
StackMap stack:
aload 0
iload 9
iload 2
invokestatic org.jruby.util.Dir.nextSlashIndex:([BII)I
istore 13
start local 13 16: aload 3
iload 10
iload 5
invokestatic org.jruby.util.Dir.nextSlashIndex:([BII)I
istore 14
start local 14 17: aload 0
iload 9
iload 13
18: aload 3
iload 10
iload 14
iload 6
19: invokestatic org.jruby.util.Dir.fnmatch_helper:([BII[BIII)I
ifne 26
20: iload 13
iload 2
if_icmpge 24
iload 14
iload 5
if_icmpge 24
21: iinc 13 1
iload 13
istore 9
22: iinc 14 1
iload 14
istore 10
23: goto 11
24: StackMap locals: int int
StackMap stack:
iload 13
iload 2
if_icmpne 26
iload 14
iload 5
if_icmpne 26
25: iconst_0
ireturn
26: StackMap locals:
StackMap stack:
iload 11
iconst_m1
if_icmpeq 33
iload 12
iconst_m1
if_icmpeq 33
iload 7
ifeq 27
aload 3
iload 12
baload
bipush 46
if_icmpeq 33
27: StackMap locals:
StackMap stack:
aload 3
iload 12
iload 5
invokestatic org.jruby.util.Dir.nextSlashIndex:([BII)I
istore 12
28: iload 12
iload 5
if_icmpge 33
29: iload 11
istore 9
30: iinc 12 1
31: iload 12
istore 10
32: goto 11
33: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 14 end local 13 34: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
iload 4
iload 5
iload 6
invokestatic org.jruby.util.Dir.fnmatch_helper:([BII[BIII)I
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 35 0 bytes [B
0 35 1 pstart I
0 35 2 pend I
0 35 3 string [B
0 35 4 sstart I
0 35 5 send I
0 35 6 flags I
3 35 7 period Z
6 35 8 pathname Z
7 35 9 pat_pos I
8 35 10 str_pos I
9 35 11 ptmp I
10 35 12 stmp I
16 34 13 patSlashIdx I
17 34 14 strSlashIdx I
MethodParameters:
Name Flags
bytes
pstart
pend
string
sstart
send
flags
private static boolean isDoubleStarAndSlash(byte[], int);
descriptor: ([BI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
arraylength
iload 1
isub
iconst_2
if_icmpgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
bipush 42
if_icmpne 6
3: aload 0
iload 1
iconst_1
iadd
baload
bipush 42
if_icmpne 6
4: aload 0
iload 1
iconst_2
iadd
baload
bipush 47
if_icmpne 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 pos I
MethodParameters:
Name Flags
bytes
pos
private static int nextSlashIndex(byte[], int, int);
descriptor: ([BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 3 1
3: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpge 4
iload 3
aload 0
arraylength
if_icmpge 4
aload 0
iload 3
baload
bipush 47
if_icmpne 2
4: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bytes [B
0 5 1 start I
0 5 2 end I
1 5 3 idx I
MethodParameters:
Name Flags
bytes
start
end
public static int range(byte[], int, int, char, int);
descriptor: ([BIICI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 6
start local 6 1: iload 4
bipush 8
iand
ifeq 2
iconst_1
goto 3
StackMap locals: byte[] int int int int top int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 7
start local 7 4: iload 4
iconst_1
iand
ifne 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: aload 0
iload 1
baload
bipush 33
if_icmpeq 8
aload 0
iload 1
baload
bipush 94
if_icmpeq 8
iconst_0
goto 9
StackMap locals: int
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: iload 5
ifeq 12
11: iinc 1 1
12: StackMap locals: byte[] int int int int int int int int
StackMap stack:
iload 7
ifeq 35
13: iload 3
invokestatic java.lang.Character.toLowerCase:(C)C
istore 3
14: goto 35
15: StackMap locals:
StackMap stack:
iload 8
ifeq 17
aload 0
iload 1
baload
bipush 92
if_icmpne 17
16: iinc 1 1
17: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 19
18: iconst_m1
ireturn
19: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
i2c
dup
istore 10
start local 10 20: istore 9
start local 9 21: aload 0
iload 1
baload
bipush 45
if_icmpne 28
aload 0
iload 1
iconst_1
iadd
baload
bipush 93
if_icmpeq 28
22: iinc 1 1
23: iload 8
ifeq 25
aload 0
iload 1
baload
bipush 92
if_icmpne 25
24: iinc 1 1
25: StackMap locals: int int
StackMap stack:
iload 1
iload 2
if_icmplt 27
26: iconst_m1
ireturn
27: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
i2c
istore 10
28: StackMap locals:
StackMap stack:
iload 7
ifeq 33
29: iload 9
invokestatic java.lang.Character.toLowerCase:(C)C
iload 3
if_icmpgt 35
30: iload 3
iload 10
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpgt 35
31: iconst_1
istore 6
32: goto 35
33: StackMap locals:
StackMap stack:
iload 9
iload 3
if_icmpgt 35
iload 3
iload 10
if_icmpgt 35
34: iconst_1
istore 6
end local 10 end local 9 35: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
bipush 93
if_icmpne 15
36: iload 6
iload 5
if_icmpne 37
iconst_m1
goto 38
StackMap locals:
StackMap stack:
37: iload 1
iconst_1
iadd
StackMap locals:
StackMap stack: int
38: ireturn
end local 8 end local 7 end local 6 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 39 0 _pat [B
0 39 1 pat I
0 39 2 pend I
0 39 3 test C
0 39 4 flags I
10 39 5 not Z
1 39 6 ok Z
4 39 7 nocase Z
7 39 8 escape Z
21 35 9 cstart C
20 35 10 cend C
MethodParameters:
Name Flags
_pat
pat
pend
test
flags
public static java.util.List<org.jruby.util.ByteList> push_glob(org.jruby.Ruby, java.lang.String, org.jruby.util.ByteList, int);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;I)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.jruby.util.ByteList.length:()I
ifle 4
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: aload 0
aload 1
aload 4
new org.jruby.util.Dir$GlobPattern
dup
aload 2
iload 3
invokespecial org.jruby.util.Dir$GlobPattern.<init>:(Lorg/jruby/util/ByteList;I)V
invokestatic org.jruby.util.Dir.push_braces:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List;Lorg/jruby/util/Dir$GlobPattern;)I
pop
3: aload 4
areturn
end local 4 4: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 runtime Lorg/jruby/Ruby;
0 5 1 cwd Ljava/lang/String;
0 5 2 globByteList Lorg/jruby/util/ByteList;
0 5 3 flags I
2 4 4 result Ljava/util/ArrayList<Lorg/jruby/util/ByteList;>;
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;I)Ljava/util/List<Lorg/jruby/util/ByteList;>;
MethodParameters:
Name Flags
runtime
cwd
globByteList
flags
private static int push_braces(org.jruby.Ruby, java.lang.String, java.util.List<org.jruby.util.ByteList>, org.jruby.util.Dir$GlobPattern);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List;Lorg/jruby/util/Dir$GlobPattern;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.jruby.util.Dir$GlobPattern.reset:()V
1: aload 3
bipush 123
invokevirtual org.jruby.util.Dir$GlobPattern.indexOf:(B)I
istore 4
start local 4 2: aload 3
iload 4
invokevirtual org.jruby.util.Dir$GlobPattern.findClosingIndexOf:(I)I
istore 5
start local 5 3: iload 4
iconst_m1
if_icmpeq 6
iload 5
iconst_m1
if_icmpeq 6
4: iload 4
ifle 5
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 4
iconst_1
isub
baload
bipush 92
if_icmpeq 6
5: StackMap locals: int int
StackMap stack:
iload 5
ifle 20
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 5
iconst_1
isub
baload
bipush 92
if_icmpne 20
6: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
arraylength
iconst_1
isub
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 6
start local 6 7: aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.enc:Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
8: aload 3
getfield org.jruby.util.Dir$GlobPattern.begin:I
istore 7
start local 7 9: goto 18
10: StackMap locals: org.jruby.util.ByteList int
StackMap stack:
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 7
baload
istore 8
start local 8 11: iload 8
bipush 92
if_icmpne 16
iload 7
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
arraylength
iconst_1
isub
if_icmpge 16
12: aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 7
iconst_1
iadd
baload
istore 9
start local 9 13: iload 9
bipush 123
if_icmpeq 17
iload 9
bipush 125
if_icmpeq 17
14: aload 6
iload 8
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
end local 9 15: goto 17
16: StackMap locals: int
StackMap stack:
aload 6
iload 8
invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
pop
end local 8 17: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
aload 3
getfield org.jruby.util.Dir$GlobPattern.end:I
if_icmplt 10
end local 7 19: aload 0
aload 1
aload 2
aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.flags:I
invokestatic org.jruby.util.Dir.push_globs:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List;Lorg/jruby/util/ByteList;I)I
ireturn
end local 6 20: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
bipush 20
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 6
start local 6 21: aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.enc:Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
22: iload 4
istore 8
start local 8 23: goto 37
24: StackMap locals: org.jruby.Ruby java.lang.String java.util.List org.jruby.util.Dir$GlobPattern int int org.jruby.util.ByteList top int
StackMap stack:
iload 8
iconst_1
iadd
istore 7
start local 7 25: iload 7
istore 8
goto 30
26: StackMap locals: org.jruby.Ruby java.lang.String java.util.List org.jruby.util.Dir$GlobPattern int int org.jruby.util.ByteList int int
StackMap stack:
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 8
baload
bipush 44
if_icmpne 28
27: iload 8
aload 3
getfield org.jruby.util.Dir$GlobPattern.begin:I
if_icmple 31
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 8
iconst_1
isub
baload
bipush 92
if_icmpne 31
goto 29
28: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 8
baload
bipush 123
if_icmpne 29
aload 3
iload 8
invokevirtual org.jruby.util.Dir$GlobPattern.findClosingIndexOf:(I)I
istore 8
29: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
30: iload 8
aload 3
getfield org.jruby.util.Dir$GlobPattern.end:I
if_icmpge 31
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 8
baload
bipush 125
if_icmpne 26
31: StackMap locals:
StackMap stack:
aload 6
iconst_0
invokevirtual org.jruby.util.ByteList.length:(I)V
32: aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
aload 3
getfield org.jruby.util.Dir$GlobPattern.begin:I
iload 4
aload 3
getfield org.jruby.util.Dir$GlobPattern.begin:I
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
33: aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 7
iload 8
iload 7
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
34: aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 5
iconst_1
iadd
aload 3
getfield org.jruby.util.Dir$GlobPattern.end:I
iload 5
iconst_1
iadd
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
35: aload 0
aload 1
aload 2
new org.jruby.util.Dir$GlobPattern
dup
aload 6
aload 3
getfield org.jruby.util.Dir$GlobPattern.flags:I
invokespecial org.jruby.util.Dir$GlobPattern.<init>:(Lorg/jruby/util/ByteList;I)V
invokestatic org.jruby.util.Dir.push_braces:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List;Lorg/jruby/util/Dir$GlobPattern;)I
istore 9
start local 9 36: iload 9
ifeq 37
iload 9
ireturn
end local 9 end local 7 37: StackMap locals: org.jruby.Ruby java.lang.String java.util.List org.jruby.util.Dir$GlobPattern int int org.jruby.util.ByteList top int
StackMap stack:
aload 3
getfield org.jruby.util.Dir$GlobPattern.bytes:[B
iload 8
baload
bipush 125
if_icmpne 24
38: iconst_0
ireturn
end local 8 end local 6 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 39 0 runtime Lorg/jruby/Ruby;
0 39 1 cwd Ljava/lang/String;
0 39 2 result Ljava/util/List<Lorg/jruby/util/ByteList;>;
0 39 3 pattern Lorg/jruby/util/Dir$GlobPattern;
2 39 4 lbrace I
3 39 5 rbrace I
7 20 6 unescaped Lorg/jruby/util/ByteList;
9 19 7 i I
11 17 8 b B
13 15 9 next_b B
21 39 6 bytes Lorg/jruby/util/ByteList;
25 37 7 middleRegionIndex I
23 39 8 i I
36 37 9 status I
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List<Lorg/jruby/util/ByteList;>;Lorg/jruby/util/Dir$GlobPattern;)I
MethodParameters:
Name Flags
runtime
cwd
result
pattern
private static int push_globs(org.jruby.Ruby, java.lang.String, java.util.List<org.jruby.util.ByteList>, org.jruby.util.ByteList, );
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List;Lorg/jruby/util/ByteList;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
getstatic org.jruby.util.Dir.FNM_SYSCASE:I
ior
istore 4
1: aload 0
aload 1
aload 3
iconst_m1
iload 4
getstatic org.jruby.util.Dir.glob_caller:Lorg/jruby/util/Dir$GlobFunc;
new org.jruby.util.Dir$GlobArgs
dup
getstatic org.jruby.util.Dir.push_pattern:Lorg/jruby/util/Dir$GlobFunc;
aload 2
invokespecial org.jruby.util.Dir$GlobArgs.<init>:(Lorg/jruby/util/Dir$GlobFunc;Ljava/util/List;)V
invokestatic org.jruby.util.Dir.glob_helper:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 cwd Ljava/lang/String;
0 2 2 ary Ljava/util/List<Lorg/jruby/util/ByteList;>;
0 2 3 pattern Lorg/jruby/util/ByteList;
0 2 4 flags I
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/util/List<Lorg/jruby/util/ByteList;>;Lorg/jruby/util/ByteList;I)I
MethodParameters:
Name Flags
runtime
cwd
ary
pattern
flags
public static java.util.ArrayList<java.lang.String> braces(java.lang.String, int, java.util.ArrayList<java.lang.String>);
descriptor: (Ljava/lang/String;ILjava/util/ArrayList;)Ljava/util/ArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iconst_1
iand
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iconst_m1
istore 4
start local 4 4: iconst_m1
istore 5
start local 5 5: aload 0
bipush 123
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 6: iload 6
iflt 23
7: iconst_0
istore 7
start local 7 8: goto 22
9: StackMap locals: java.lang.String int java.util.ArrayList int int int int int
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 10: iload 8
bipush 123
if_icmpne 14
11: iload 7
ifne 13
12: iload 6
istore 5
13: StackMap locals: int
StackMap stack:
iinc 7 1
14: StackMap locals:
StackMap stack:
iload 8
bipush 125
if_icmpne 16
15: iinc 7 -1
16: StackMap locals:
StackMap stack:
iload 7
ifne 19
17: iload 6
istore 4
18: goto 23
19: StackMap locals:
StackMap stack:
iload 8
bipush 92
if_icmpne 21
iload 3
ifeq 21
20: iinc 6 1
21: StackMap locals:
StackMap stack:
iinc 6 1
end local 8 22: StackMap locals:
StackMap stack:
iload 6
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 9
end local 7 23: StackMap locals:
StackMap stack:
iload 5
iflt 46
iload 4
iflt 46
24: iload 5
istore 7
start local 7 25: aload 0
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 26: aload 0
iload 4
iconst_1
iadd
aload 0
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 27: goto 45
28: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
iconst_0
istore 10
start local 10 29: iinc 7 1
30: iload 7
istore 11
start local 11 31: goto 41
32: StackMap locals: int int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
bipush 123
if_icmpne 34
33: iinc 10 1
34: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
bipush 125
if_icmpne 36
35: iinc 10 -1
36: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpne 40
iload 3
ifeq 40
37: iinc 7 1
38: iload 7
iload 4
if_icmpne 40
39: goto 42
40: StackMap locals:
StackMap stack:
iinc 7 1
41: StackMap locals:
StackMap stack:
iload 7
iload 4
if_icmpge 42
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
bipush 44
if_icmpne 32
iload 10
ifne 32
42: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 11
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 43: aload 2
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
44: aload 12
iload 1
aload 2
invokestatic org.jruby.util.Dir.braces:(Ljava/lang/String;ILjava/util/ArrayList;)Ljava/util/ArrayList;
pop
end local 12 end local 11 end local 10 45: StackMap locals:
StackMap stack:
iload 7
iload 4
if_icmplt 28
end local 9 end local 8 end local 7 46: StackMap locals:
StackMap stack:
aload 2
areturn
end local 6 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 47 0 pattern Ljava/lang/String;
0 47 1 flags I
0 47 2 patterns Ljava/util/ArrayList<Ljava/lang/String;>;
3 47 3 escape Z
4 47 4 rbrace I
5 47 5 lbrace I
6 47 6 i I
8 23 7 nest I
10 22 8 c C
25 46 7 pos I
26 46 8 front Ljava/lang/String;
27 46 9 back Ljava/lang/String;
29 45 10 nest I
31 45 11 last I
43 45 12 brace_pattern Ljava/lang/String;
Signature: (Ljava/lang/String;ILjava/util/ArrayList<Ljava/lang/String;>;)Ljava/util/ArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
pattern
flags
patterns
private static boolean has_magic(byte[], int, int, int);
descriptor: ([BIII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_1
iand
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 3
bipush 8
iand
ifeq 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: iload 1
istore 7
start local 7 8: goto 17
9: StackMap locals: int int int
StackMap stack:
aload 0
iload 7
baload
lookupswitch { // 5
42: 10
63: 10
91: 11
92: 14
93: 13
default: 15
}
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iinc 6 1
12: goto 16
13: StackMap locals:
StackMap stack:
iload 6
ifle 16
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
iload 4
ifeq 16
iconst_1
ireturn
15: StackMap locals:
StackMap stack:
getstatic org.jruby.util.Dir.FNM_SYSCASE:I
ifne 16
iload 5
ifeq 16
aload 0
iload 7
baload
sipush 255
iand
i2c
invokestatic java.lang.Character.isLetter:(C)Z
ifeq 16
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 2
if_icmplt 9
end local 7 18: iconst_0
ireturn
end local 6 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 19 0 bytes [B
0 19 1 begin I
0 19 2 end I
0 19 3 flags I
3 19 4 escape Z
6 19 5 nocase Z
7 19 6 open I
8 18 7 i I
MethodParameters:
Name Flags
bytes
begin
end
flags
private static int remove_backslashes(byte[], int, int);
descriptor: ([BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
baload
bipush 92
if_icmpne 3
iinc 1 1
iload 1
iload 2
if_icmpne 3
goto 6
3: StackMap locals:
StackMap stack:
aload 0
iload 3
aload 0
iload 1
baload
bastore
4: iinc 1 1
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 1
iload 2
if_icmplt 2
6: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 index I
0 7 2 end I
1 7 3 i I
MethodParameters:
Name Flags
bytes
index
end
private static int indexOf(byte[], int, int, byte);
descriptor: ([BIIB)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
baload
iload 3
if_icmpne 3
iload 4
ireturn
3: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 2
if_icmplt 2
end local 4 5: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 begin I
0 6 2 end I
0 6 3 ch B
1 5 4 i I
MethodParameters:
Name Flags
bytes
begin
end
ch final
private static byte[] (byte[], int, int);
descriptor: ([BII)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iload 1
isub
istore 3
start local 3 1: iload 3
iconst_1
if_icmple 3
aload 0
iload 2
iconst_1
isub
baload
bipush 47
if_icmpne 3
getstatic org.jruby.util.Dir.DOSISH:Z
ifeq 2
iload 3
iconst_2
if_icmplt 2
aload 0
iload 2
iconst_2
isub
baload
bipush 58
if_icmpeq 3
StackMap locals: int
StackMap stack:
2: iinc 3 -1
3: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 4
start local 4 4: aload 0
iload 1
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 begin I
0 6 2 end I
1 6 3 len I
4 6 4 alloc [B
MethodParameters:
Name Flags
bytes
begin
end
private static byte[] (byte[], int, int);
descriptor: ([BII)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
bipush 47
invokestatic org.jruby.util.Dir.indexOf:([BIIB)I
istore 3
start local 3 1: iload 3
iconst_m1
if_icmpne 2
iload 2
istore 3
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 3
invokestatic org.jruby.util.Dir.extract_path:([BII)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bytes [B
0 3 1 begin I
0 3 2 end I
1 3 3 elementEnd I
MethodParameters:
Name Flags
bytes
begin
end
private static boolean beginsWithDriveLetter(byte[], int, int);
descriptor: ([BII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.jruby.util.Dir.DOSISH:Z
ifeq 1
iload 1
iconst_2
iadd
iload 2
if_icmpge 1
aload 0
iload 1
iconst_1
iadd
baload
bipush 58
if_icmpne 1
aload 0
iload 1
iconst_2
iadd
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 path [B
0 2 1 begin I
0 2 2 end I
MethodParameters:
Name Flags
path
begin
end
private static boolean isRoot(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
ifeq 5
2: iload 1
iconst_1
if_icmpne 3
aload 0
iconst_0
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifne 5
3: StackMap locals: int
StackMap stack:
iload 1
iconst_3
if_icmpne 4
aload 0
iconst_0
iload 1
invokestatic org.jruby.util.Dir.beginsWithDriveLetter:([BII)Z
ifne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 base [B
1 6 1 length I
MethodParameters:
Name Flags
base
private static boolean isAbsolutePath(byte[], int, int);
descriptor: ([BII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
baload
invokestatic org.jruby.util.Dir.isdirsep:(B)Z
ifne 1
aload 0
iload 1
iload 2
invokestatic org.jruby.util.Dir.beginsWithDriveLetter:([BII)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 path [B
0 2 1 begin I
0 2 2 length I
MethodParameters:
Name Flags
path
begin
length
private static java.lang.String[] files(org.jruby.util.FileResource);
descriptor: (Lorg/jruby/util/FileResource;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.util.FileResource.list:()[Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 2
getstatic org.jruby.util.StringSupport.EMPTY_STRING_ARRAY:[Ljava/lang/String;
goto 3
StackMap locals: java.lang.String[]
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: java.lang.String[]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 directory Lorg/jruby/util/FileResource;
1 4 1 files [Ljava/lang/String;
MethodParameters:
Name Flags
directory final
private static boolean isSpecialFile(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
iconst_1
if_icmplt 2
iload 1
iconst_3
if_icmpgt 2
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpeq 3
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 4
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 5: iload 1
iconst_2
if_icmpne 7
iload 2
bipush 46
if_icmpeq 6
iload 2
bipush 47
if_icmpne 7
StackMap locals: int
StackMap stack:
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iload 2
bipush 46
if_icmpne 8
aload 0
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 name Ljava/lang/String;
1 9 1 length I
5 9 2 c C
MethodParameters:
Name Flags
name
private static int addToResultIfExists(org.jruby.Ruby, java.lang.String, byte[], int, int, org.jcodings.Encoding, int, org.jruby.util.Dir$GlobFunc<org.jruby.util.Dir$GlobArgs>, org.jruby.util.Dir$GlobArgs);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;ILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new java.lang.String
dup
aload 2
iload 3
iload 4
iload 3
isub
aload 5
invokevirtual org.jcodings.Encoding.getCharset:()Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
astore 9
start local 9 1: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 5
aload 1
ifnonnull 5
aload 9
invokevirtual java.lang.String.isEmpty:()Z
ifne 5
aload 9
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 5
2: ldc "SYSTEMDRIVE"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: aload 1
ifnonnull 4
ldc "C:"
astore 1
4: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 9
invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/FileResource;
astore 10
start local 10 6: aload 10
invokeinterface org.jruby.util.FileResource.exists:()Z
ifeq 8
7: aload 7
aload 2
iload 3
iload 4
iload 3
isub
aload 5
aload 8
invokeinterface org.jruby.util.Dir$GlobFunc.call:([BIILorg/jcodings/Encoding;Ljava/lang/Object;)I
ireturn
8: StackMap locals: org.jruby.util.FileResource
StackMap stack:
iconst_0
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 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 9 0 runtime Lorg/jruby/Ruby;
0 9 1 cwd Ljava/lang/String;
0 9 2 bytes [B
0 9 3 begin I
0 9 4 end I
0 9 5 enc Lorg/jcodings/Encoding;
0 9 6 flags I
0 9 7 func Lorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;
0 9 8 arg Lorg/jruby/util/Dir$GlobArgs;
1 9 9 fileName Ljava/lang/String;
6 9 10 file Lorg/jruby/util/FileResource;
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;ILorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;Lorg/jruby/util/Dir$GlobArgs;)I
MethodParameters:
Name Flags
runtime
cwd
bytes
begin
end
enc
flags
func
arg
private static int glob_helper(org.jruby.Ruby, java.lang.String, org.jruby.util.ByteList, int, int, org.jruby.util.Dir$GlobFunc<org.jruby.util.Dir$GlobArgs>, org.jruby.util.Dir$GlobArgs);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 7
start local 7 1: iload 7
aload 2
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 8
start local 8 2: aload 2
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
astore 9
start local 9 3: aload 0
aload 1
aload 2
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iload 7
iload 8
aload 9
iload 3
iload 4
aload 5
aload 6
invokestatic org.jruby.util.Dir.glob_helper:(Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
ireturn
end local 9 end local 8 end local 7 end local 6 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 4 0 runtime Lorg/jruby/Ruby;
0 4 1 cwd Ljava/lang/String;
0 4 2 path Lorg/jruby/util/ByteList;
0 4 3 sub I
0 4 4 flags I
0 4 5 func Lorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;
0 4 6 arg Lorg/jruby/util/Dir$GlobArgs;
1 4 7 begin I
2 4 8 end I
3 4 9 enc Lorg/jcodings/Encoding;
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;Lorg/jruby/util/Dir$GlobArgs;)I
MethodParameters:
Name Flags
runtime
cwd
path
sub
flags
func
arg
private static int glob_helper(org.jruby.Ruby, java.lang.String, byte[], int, int, org.jcodings.Encoding, int, int, org.jruby.util.Dir$GlobFunc<org.jruby.util.Dir$GlobArgs>, org.jruby.util.Dir$GlobArgs);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=25, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: iconst_0
istore 10
start local 10 1: iload 6
iconst_m1
if_icmpeq 2
iload 6
goto 3
StackMap locals: int
StackMap stack:
2: iload 3
StackMap locals:
StackMap stack: int
3: istore 11
start local 11 4: aload 2
iload 11
iload 4
iload 7
invokestatic org.jruby.util.Dir.has_magic:([BIII)Z
ifne 20
5: getstatic org.jruby.util.Dir.DOSISH:Z
ifne 6
iload 7
iconst_1
iand
ifne 14
6: StackMap locals: int
StackMap stack:
iload 6
iconst_m1
if_icmpeq 9
7: aload 2
iload 6
iload 4
invokestatic org.jruby.util.Dir.remove_backslashes:([BII)I
istore 4
8: goto 14
9: StackMap locals:
StackMap stack:
iload 4
iload 3
isub
istore 12
start local 12 10: iload 12
newarray 8
astore 13
start local 13 11: aload 2
iload 3
aload 13
iconst_0
iload 12
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: iconst_0
istore 3
aload 13
iconst_0
iload 12
invokestatic org.jruby.util.Dir.remove_backslashes:([BII)I
istore 4
13: aload 13
astore 2
end local 13 end local 12 14: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmple 19
15: aload 2
iload 3
iload 4
invokestatic org.jruby.util.Dir.isAbsolutePath:([BII)Z
ifeq 18
16: aload 0
aconst_null
aload 2
iload 3
iload 4
aload 5
iload 7
aload 8
aload 9
invokestatic org.jruby.util.Dir.addToResultIfExists:(Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;ILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
istore 10
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
iload 7
aload 8
aload 9
invokestatic org.jruby.util.Dir.addToResultIfExists:(Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;ILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
istore 10
19: StackMap locals:
StackMap stack:
iload 10
ireturn
20: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 21: new org.jruby.util.ByteList
dup
bipush 20
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 13
start local 13 22: aload 13
aload 5
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
23: goto 109
24: StackMap locals: java.util.ArrayList org.jruby.util.ByteList
StackMap stack:
aload 2
iload 11
baload
bipush 47
if_icmpne 25
iinc 11 1
25: StackMap locals:
StackMap stack:
aload 2
iload 11
iload 4
bipush 47
invokestatic org.jruby.util.Dir.indexOf:([BIIB)I
istore 15
start local 15 26: aload 2
iload 11
iload 15
iconst_m1
if_icmpne 27
iload 4
goto 28
StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList top int
StackMap stack: byte[] int
27: iload 15
StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList top int
StackMap stack: byte[] int int
28: iload 7
invokestatic org.jruby.util.Dir.has_magic:([BIII)Z
ifeq 108
29: aload 2
iload 3
iload 11
invokestatic org.jruby.util.Dir.extract_path:([BII)[B
astore 16
start local 16 30: iload 3
iload 11
if_icmpne 31
iconst_1
newarray 8
dup
iconst_0
bipush 46
bastore
goto 32
StackMap locals: byte[]
StackMap stack:
31: aload 16
StackMap locals:
StackMap stack: byte[]
32: astore 17
start local 17 33: aload 2
iload 11
iload 4
invokestatic org.jruby.util.Dir.extract_elem:([BII)[B
astore 18
start local 18 34: iconst_0
istore 19
start local 19 35: aload 0
aload 1
new java.lang.String
dup
aload 17
iconst_0
aload 17
arraylength
aload 5
invokevirtual org.jcodings.Encoding.getCharset:()Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/FileResource;
astore 14
start local 14 36: aload 14
invokeinterface org.jruby.util.FileResource.isDirectory:()Z
ifeq 110
37: iload 15
iconst_m1
if_icmpeq 57
aload 18
getstatic org.jruby.util.Dir.DOUBLE_STAR:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 57
38: aload 16
arraylength
istore 20
start local 20 39: iconst_1
istore 19
40: aload 13
iconst_0
invokevirtual org.jruby.util.ByteList.length:(I)V
41: aload 13
aload 16
invokevirtual org.jruby.util.ByteList.append:([B)V
42: iload 15
istore 22
start local 22 43: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int byte[] byte[] byte[] int int top int
StackMap stack:
iload 22
iconst_1
iadd
istore 21
start local 21 44: aload 2
iload 21
iload 4
bipush 47
invokestatic org.jruby.util.Dir.indexOf:([BIIB)I
istore 22
45: aload 2
iload 21
iload 4
invokestatic org.jruby.util.Dir.extract_elem:([BII)[B
astore 18
46: aload 18
getstatic org.jruby.util.Dir.DOUBLE_STAR:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 47
iload 22
iconst_m1
if_icmpne 43
47: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int byte[] byte[] byte[] int int int int
StackMap stack:
aload 18
getstatic org.jruby.util.Dir.DOUBLE_STAR:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 50
48: iload 21
istore 23
start local 23 49: goto 51
end local 23 50: StackMap locals:
StackMap stack:
iload 21
iconst_1
isub
istore 23
start local 23 51: StackMap locals: int
StackMap stack:
iload 20
ifle 52
iload 23
goto 53
StackMap locals:
StackMap stack:
52: iload 23
iconst_1
iadd
StackMap locals:
StackMap stack: int
53: istore 23
54: aload 13
aload 2
iload 23
iload 4
iload 23
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
55: aload 0
aload 1
aload 13
iload 20
iload 7
aload 8
aload 9
invokestatic org.jruby.util.Dir.glob_helper:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
istore 10
56: iload 10
ifeq 57
goto 94
end local 23 end local 22 end local 21 end local 20 57: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int byte[] byte[] byte[] int
StackMap stack:
aload 14
invokestatic org.jruby.util.Dir.files:(Lorg/jruby/util/FileResource;)[Ljava/lang/String;
astore 20
start local 20 58: iconst_0
istore 21
start local 21 59: goto 93
60: StackMap locals: java.lang.String[] int
StackMap stack:
aload 20
iload 21
aaload
astore 22
start local 22 61: aload 22
invokestatic org.jruby.util.Dir.getBytesInUTF8:(Ljava/lang/String;)[B
astore 23
start local 23 62: iload 19
ifeq 79
63: getstatic org.jruby.util.Dir.STAR:[B
iconst_0
iconst_1
aload 23
iconst_0
aload 23
arraylength
iload 7
invokestatic org.jruby.util.Dir.fnmatch:([BII[BIII)I
ifeq 65
64: goto 92
65: StackMap locals: java.lang.String byte[]
StackMap stack:
aload 13
iconst_0
invokevirtual org.jruby.util.ByteList.length:(I)V
66: aload 13
aload 16
invokevirtual org.jruby.util.ByteList.append:([B)V
67: aload 13
aload 16
invokestatic org.jruby.util.Dir.isRoot:([B)Z
ifeq 68
getstatic org.jruby.util.Dir.EMPTY:[B
goto 69
StackMap locals:
StackMap stack: org.jruby.util.ByteList
68: getstatic org.jruby.util.Dir.SLASH:[B
StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int byte[] byte[] byte[] int java.lang.String[] int java.lang.String byte[]
StackMap stack: org.jruby.util.ByteList byte[]
69: invokevirtual org.jruby.util.ByteList.append:([B)V
70: aload 13
aload 22
invokestatic org.jruby.util.Dir.getBytesInUTF8:(Ljava/lang/String;)[B
invokevirtual org.jruby.util.ByteList.append:([B)V
71: aload 0
aload 1
new java.lang.String
dup
aload 13
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
aload 13
invokevirtual org.jruby.util.ByteList.begin:()I
aload 13
invokevirtual org.jruby.util.ByteList.length:()I
aload 5
invokevirtual org.jcodings.Encoding.getCharset:()Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/FileResource;
astore 14
72: aload 14
invokeinterface org.jruby.util.FileResource.isSymLink:()Z
ifne 92
aload 14
invokeinterface org.jruby.util.FileResource.isDirectory:()Z
ifeq 92
ldc "."
aload 22
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 92
ldc ".."
aload 22
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 92
73: aload 13
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 24
start local 24 74: aload 13
getstatic org.jruby.util.Dir.SLASH:[B
invokevirtual org.jruby.util.ByteList.append:([B)V
75: aload 13
getstatic org.jruby.util.Dir.DOUBLE_STAR:[B
invokevirtual org.jruby.util.ByteList.append:([B)V
76: aload 13
aload 2
iload 15
iload 4
iload 15
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
77: aload 0
aload 1
aload 13
aload 13
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 24
iadd
iload 7
aload 8
aload 9
invokestatic org.jruby.util.Dir.glob_helper:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
istore 10
78: iload 10
ifeq 92
goto 94
end local 24 79: StackMap locals:
StackMap stack:
aload 18
iconst_0
aload 18
arraylength
aload 23
iconst_0
aload 23
arraylength
iload 7
invokestatic org.jruby.util.Dir.fnmatch:([BII[BIII)I
ifne 92
80: aload 13
iconst_0
invokevirtual org.jruby.util.ByteList.length:(I)V
81: aload 13
aload 16
invokevirtual org.jruby.util.ByteList.append:([B)V
82: aload 13
aload 16
invokestatic org.jruby.util.Dir.isRoot:([B)Z
ifeq 83
getstatic org.jruby.util.Dir.EMPTY:[B
goto 84
StackMap locals:
StackMap stack: org.jruby.util.ByteList
83: getstatic org.jruby.util.Dir.SLASH:[B
StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int byte[] byte[] byte[] int java.lang.String[] int java.lang.String byte[]
StackMap stack: org.jruby.util.ByteList byte[]
84: invokevirtual org.jruby.util.ByteList.append:([B)V
85: aload 13
aload 22
invokestatic org.jruby.util.Dir.getBytesInUTF8:(Ljava/lang/String;)[B
invokevirtual org.jruby.util.ByteList.append:([B)V
86: iload 15
iconst_m1
if_icmpne 89
87: aload 8
aload 13
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
iconst_0
aload 13
invokevirtual org.jruby.util.ByteList.getRealSize:()I
aload 5
aload 9
invokeinterface org.jruby.util.Dir$GlobFunc.call:([BIILorg/jcodings/Encoding;Ljava/lang/Object;)I
istore 10
88: iload 10
ifeq 92
goto 94
89: StackMap locals:
StackMap stack:
aload 12
new org.jruby.util.Dir$DirGlobber
dup
aload 13
invokespecial org.jruby.util.Dir$DirGlobber.<init>:(Lorg/jruby/util/ByteList;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
90: new org.jruby.util.ByteList
dup
bipush 20
invokespecial org.jruby.util.ByteList.<init>:(I)V
astore 13
91: aload 13
aload 5
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
end local 23 end local 22 92: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
93: iload 21
aload 20
arraylength
if_icmplt 60
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 94: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int
StackMap stack:
aload 12
invokevirtual java.util.ArrayList.size:()I
ifle 108
95: aload 12
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 17
goto 106
StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList org.jruby.util.FileResource int top java.util.Iterator
StackMap stack:
96: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.Dir$DirGlobber
astore 16
start local 16 97: aload 16
getfield org.jruby.util.Dir$DirGlobber.link:Lorg/jruby/util/ByteList;
astore 18
start local 18 98: iload 10
ifne 106
99: aload 0
aload 1
aload 18
invokestatic org.jruby.RubyString.byteListToString:(Lorg/jruby/util/ByteList;)Ljava/lang/String;
invokestatic org.jruby.util.JRubyFile.createResource:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/util/FileResource;
astore 14
100: aload 14
invokeinterface org.jruby.util.FileResource.isDirectory:()Z
ifeq 106
101: aload 18
invokevirtual org.jruby.util.ByteList.getRealSize:()I
istore 19
start local 19 102: aload 13
iconst_0
invokevirtual org.jruby.util.ByteList.length:(I)V
103: aload 13
aload 18
invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
104: aload 13
aload 2
iload 15
iload 4
iload 15
isub
invokevirtual org.jruby.util.ByteList.append:([BII)V
105: aload 0
aload 1
aload 13
aload 13
invokevirtual org.jruby.util.ByteList.getBegin:()I
iload 19
iadd
iload 7
aload 8
aload 9
invokestatic org.jruby.util.Dir.glob_helper:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ByteList;IILorg/jruby/util/Dir$GlobFunc;Lorg/jruby/util/Dir$GlobArgs;)I
istore 10
end local 19 end local 18 end local 16 106: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 96
107: goto 110
end local 14 108: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList top int
StackMap stack:
iload 15
istore 11
end local 15 109: StackMap locals: org.jruby.Ruby java.lang.String byte[] int int org.jcodings.Encoding int int org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobArgs int int java.util.ArrayList org.jruby.util.ByteList
StackMap stack:
iload 11
iconst_m1
if_icmpeq 110
iload 10
ifeq 24
110: StackMap locals:
StackMap stack:
iload 10
ireturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 111 0 runtime Lorg/jruby/Ruby;
0 111 1 cwd Ljava/lang/String;
0 111 2 path [B
0 111 3 begin I
0 111 4 end I
0 111 5 enc Lorg/jcodings/Encoding;
0 111 6 sub I
0 111 7 flags I
0 111 8 func Lorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;
0 111 9 arg Lorg/jruby/util/Dir$GlobArgs;
1 111 10 status I
4 111 11 ptr I
10 14 12 len I
11 14 13 newPath [B
21 111 12 links Ljava/util/ArrayList<Lorg/jruby/util/Dir$DirGlobber;>;
22 111 13 buf Lorg/jruby/util/ByteList;
36 108 14 resource Lorg/jruby/util/FileResource;
26 109 15 SLASH_INDEX I
30 94 16 base [B
33 94 17 dir [B
34 94 18 magic [B
35 94 19 recursive Z
39 57 20 lengthOfBase I
44 57 21 nextStartIndex I
43 57 22 indexOfSlash I
49 50 23 remainingPathStartIndex I
51 57 23 remainingPathStartIndex I
58 94 20 files [Ljava/lang/String;
59 94 21 i I
61 92 22 file Ljava/lang/String;
62 92 23 fileBytes [B
74 79 24 len I
97 106 16 globber Lorg/jruby/util/Dir$DirGlobber;
98 106 18 link Lorg/jruby/util/ByteList;
102 106 19 len I
Signature: (Lorg/jruby/Ruby;Ljava/lang/String;[BIILorg/jcodings/Encoding;IILorg/jruby/util/Dir$GlobFunc<Lorg/jruby/util/Dir$GlobArgs;>;Lorg/jruby/util/Dir$GlobArgs;)I
MethodParameters:
Name Flags
runtime
cwd
path
begin
end
enc
sub
flags final
func
arg
private static byte[] getBytesInUTF8(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.RubyEncoding.encodeUTF8:(Ljava/lang/String;)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str final
}
SourceFile: "Dir.java"
NestMembers:
org.jruby.util.Dir$1 org.jruby.util.Dir$2 org.jruby.util.Dir$DirGlobber org.jruby.util.Dir$GlobArgs org.jruby.util.Dir$GlobFunc org.jruby.util.Dir$GlobPattern
InnerClasses:
org.jruby.util.Dir$1
org.jruby.util.Dir$2
private final DirGlobber = org.jruby.util.Dir$DirGlobber of org.jruby.util.Dir
private GlobArgs = org.jruby.util.Dir$GlobArgs of org.jruby.util.Dir
private abstract GlobFunc = org.jruby.util.Dir$GlobFunc of org.jruby.util.Dir
private GlobPattern = org.jruby.util.Dir$GlobPattern of org.jruby.util.Dir