public class sun.nio.fs.Globs
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.fs.Globs
super_class: java.lang.Object
{
private static final java.lang.String regexMetaChars;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".^$+{[]|()"
private static final java.lang.String globMetaChars;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "\\*?[{"
private static char EOL;
descriptor: C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic sun.nio.fs.Globs.EOL:C
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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 Lsun/nio/fs/Globs;
private static boolean isRegexMeta(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc ".^$+{[]|()"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean isGlobMeta(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "\\*?[{"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static char next(java.lang.String, int);
descriptor: (Ljava/lang/String;I)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 2
1: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.nio.fs.Globs.EOL:C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 glob Ljava/lang/String;
0 3 1 i I
MethodParameters:
Name Flags
glob
i
private static java.lang.String toRegexPattern(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: new java.lang.StringBuilder
dup
ldc "^"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 104
4: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 0
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
lookupswitch { // 8
42: 87
44: 82
47: 15
63: 96
91: 20
92: 6
123: 69
125: 76
default: 101
}
6: StackMap locals: int
StackMap stack:
iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmpne 10
7: new java.util.regex.PatternSyntaxException
dup
ldc "No character to escape"
8: aload 0
iload 4
iconst_1
isub
9: invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 11: iload 6
invokestatic sun.nio.fs.Globs.isGlobMeta:(C)Z
ifne 12
iload 6
invokestatic sun.nio.fs.Globs.isRegexMeta:(C)Z
ifeq 13
12: StackMap locals: int
StackMap stack:
aload 3
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 3
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: goto 104
end local 6 15: StackMap locals:
StackMap stack:
iload 1
ifeq 18
16: aload 3
ldc "\\\\"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: goto 104
18: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: goto 104
20: StackMap locals:
StackMap stack:
iload 1
ifeq 23
21: aload 3
ldc "[[^\\\\]&&["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 3
ldc "[[^/]&&["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 0
iload 4
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
bipush 94
if_icmpne 28
25: aload 3
ldc "\\^"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: iinc 4 1
27: goto 34
28: StackMap locals:
StackMap stack:
aload 0
iload 4
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
bipush 33
if_icmpne 31
29: aload 3
bipush 94
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: iinc 4 1
31: StackMap locals:
StackMap stack:
aload 0
iload 4
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
bipush 45
if_icmpne 34
32: aload 3
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
33: iinc 4 1
34: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 35: iconst_0
istore 8
start local 8 36: goto 64
37: StackMap locals: java.lang.String int int java.lang.StringBuilder int int top int int
StackMap stack:
aload 0
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
38: iload 5
bipush 93
if_icmpne 40
39: goto 65
40: StackMap locals:
StackMap stack:
iload 5
bipush 47
if_icmpeq 41
iload 1
ifeq 44
iload 5
bipush 92
if_icmpne 44
41: StackMap locals:
StackMap stack:
new java.util.regex.PatternSyntaxException
dup
ldc "Explicit 'name separator' in class"
42: aload 0
iload 4
iconst_1
isub
43: invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
44: StackMap locals:
StackMap stack:
iload 5
bipush 92
if_icmpeq 46
iload 5
bipush 91
if_icmpeq 46
45: iload 5
bipush 38
if_icmpne 47
aload 0
iload 4
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
bipush 38
if_icmpne 47
46: StackMap locals:
StackMap stack:
aload 3
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
47: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
48: iload 5
bipush 45
if_icmpne 62
49: iload 7
ifne 53
50: new java.util.regex.PatternSyntaxException
dup
ldc "Invalid range"
51: aload 0
iload 4
iconst_1
isub
52: invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
53: StackMap locals:
StackMap stack:
aload 0
iload 4
iinc 4 1
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
dup
istore 5
getstatic sun.nio.fs.Globs.EOL:C
if_icmpeq 65
iload 5
bipush 93
if_icmpne 55
54: goto 65
55: StackMap locals:
StackMap stack:
iload 5
iload 8
if_icmpge 59
56: new java.util.regex.PatternSyntaxException
dup
ldc "Invalid range"
57: aload 0
iload 4
iconst_3
isub
58: invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
59: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
60: iconst_0
istore 7
61: goto 64
62: StackMap locals:
StackMap stack:
iconst_1
istore 7
63: iload 5
istore 8
64: StackMap locals:
StackMap stack:
iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 37
65: StackMap locals:
StackMap stack:
iload 5
bipush 93
if_icmpeq 67
66: new java.util.regex.PatternSyntaxException
dup
ldc "Missing ']"
aload 0
iload 4
iconst_1
isub
invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
67: StackMap locals:
StackMap stack:
aload 3
ldc "]]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
68: goto 104
end local 8 end local 7 69: StackMap locals: java.lang.String int int java.lang.StringBuilder int int
StackMap stack:
iload 2
ifeq 73
70: new java.util.regex.PatternSyntaxException
dup
ldc "Cannot nest groups"
71: aload 0
iload 4
iconst_1
isub
72: invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
73: StackMap locals:
StackMap stack:
aload 3
ldc "(?:(?:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
74: iconst_1
istore 2
75: goto 104
76: StackMap locals:
StackMap stack:
iload 2
ifeq 80
77: aload 3
ldc "))"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
78: iconst_0
istore 2
79: goto 104
80: StackMap locals:
StackMap stack:
aload 3
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
81: goto 104
82: StackMap locals:
StackMap stack:
iload 2
ifeq 85
83: aload 3
ldc ")|(?:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
84: goto 104
85: StackMap locals:
StackMap stack:
aload 3
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
86: goto 104
87: StackMap locals:
StackMap stack:
aload 0
iload 4
invokestatic sun.nio.fs.Globs.next:(Ljava/lang/String;I)C
bipush 42
if_icmpne 91
88: aload 3
ldc ".*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
89: iinc 4 1
90: goto 104
91: StackMap locals:
StackMap stack:
iload 1
ifeq 94
92: aload 3
ldc "[^\\\\]*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
93: goto 104
94: StackMap locals:
StackMap stack:
aload 3
ldc "[^/]*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
95: goto 104
96: StackMap locals:
StackMap stack:
iload 1
ifeq 99
97: aload 3
ldc "[^\\\\]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
98: goto 104
99: StackMap locals:
StackMap stack:
aload 3
ldc "[^/]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
100: goto 104
101: StackMap locals:
StackMap stack:
iload 5
invokestatic sun.nio.fs.Globs.isRegexMeta:(C)Z
ifeq 103
102: aload 3
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
103: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 104: StackMap locals:
StackMap stack:
iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 4
105: iload 2
ifeq 107
106: new java.util.regex.PatternSyntaxException
dup
ldc "Missing '}"
aload 0
iload 4
iconst_1
isub
invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
athrow
107: StackMap locals:
StackMap stack:
aload 3
bipush 36
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 108 0 globPattern Ljava/lang/String;
0 108 1 isDos Z
1 108 2 inGroup Z
2 108 3 regex Ljava/lang/StringBuilder;
3 108 4 i I
5 104 5 c C
11 15 6 next C
35 69 7 hasRangeStart Z
36 69 8 last C
MethodParameters:
Name Flags
globPattern
isDos
static java.lang.String toUnixRegexPattern(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.nio.fs.Globs.toRegexPattern:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 globPattern Ljava/lang/String;
MethodParameters:
Name Flags
globPattern
static java.lang.String toWindowsRegexPattern(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.nio.fs.Globs.toRegexPattern:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 globPattern Ljava/lang/String;
MethodParameters:
Name Flags
globPattern
}
SourceFile: "Globs.java"