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