class javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter extends javax.swing.filechooser.FileFilter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter
super_class: javax.swing.filechooser.FileFilter
{
java.util.regex.Pattern pattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0000)
java.lang.String globPattern;
descriptor: Ljava/lang/String;
flags: (0x0000)
final javax.swing.plaf.basic.BasicFileChooserUI this$0;
descriptor: Ljavax/swing/plaf/basic/BasicFileChooserUI;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(javax.swing.plaf.basic.BasicFileChooserUI);
descriptor: (Ljavax/swing/plaf/basic/BasicFileChooserUI;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
0: .line 1003
aload 0 /* this */
aload 1
putfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.this$0:Ljavax/swing/plaf/basic/BasicFileChooserUI;
aload 0 /* this */
invokespecial javax.swing.filechooser.FileFilter.<init>:()V
return
end local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/plaf/basic/BasicFileChooserUI$GlobFilter;
MethodParameters:
Name Flags
this$0 final
public void setPattern(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
start local 1 // java.lang.String globPattern
0: .line 1008
aload 1 /* globPattern */
invokevirtual java.lang.String.toCharArray:()[C
astore 2 /* gPat */
start local 2 // char[] gPat
1: .line 1009
aload 2 /* gPat */
arraylength
iconst_2
imul
newarray 5
astore 3 /* rPat */
start local 3 // char[] rPat
2: .line 1010
getstatic java.io.File.separatorChar:C
bipush 92
if_icmpne 3
iconst_1
goto 4
StackMap locals: char[] char[]
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4 /* isWin32 */
start local 4 // boolean isWin32
5: .line 1011
iconst_0
istore 5 /* inBrackets */
start local 5 // boolean inBrackets
6: .line 1012
iconst_0
istore 6 /* j */
start local 6 // int j
7: .line 1014
aload 0 /* this */
aload 1 /* globPattern */
putfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.globPattern:Ljava/lang/String;
8: .line 1016
iload 4 /* isWin32 */
ifeq 29
9: .line 1018
aload 2 /* gPat */
arraylength
istore 7 /* len */
start local 7 // int len
10: .line 1019
aload 1 /* globPattern */
ldc "*.*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 12
11: .line 1020
iinc 7 /* len */ -2
12: .line 1022
StackMap locals: javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter java.lang.String char[] char[] int int int int
StackMap stack:
iconst_0
istore 8 /* i */
start local 8 // int i
13: goto 27
14: .line 1023
StackMap locals: int
StackMap stack:
aload 2 /* gPat */
iload 8 /* i */
caload
lookupswitch { // 3
42: 15
63: 18
92: 20
default: 23
}
15: .line 1025
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 46
castore
16: .line 1026
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 42
castore
17: .line 1027
goto 26
18: .line 1030
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 46
castore
19: .line 1031
goto 26
20: .line 1034
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
21: .line 1035
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
22: .line 1036
goto 26
23: .line 1039
StackMap locals:
StackMap stack:
ldc "+()^$.{}[]"
aload 2 /* gPat */
iload 8 /* i */
caload
invokevirtual java.lang.String.indexOf:(I)I
iflt 25
24: .line 1040
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
25: .line 1042
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iload 8 /* i */
caload
castore
26: .line 1022
StackMap locals:
StackMap stack:
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 8 /* i */
iload 7 /* len */
if_icmplt 14
end local 8 // int i
end local 7 // int len
28: .line 1046
goto 66
29: .line 1047
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* i */
start local 7 // int i
30: goto 65
31: .line 1048
StackMap locals: int
StackMap stack:
aload 2 /* gPat */
iload 7 /* i */
caload
lookupswitch { // 5
42: 32
63: 36
91: 40
92: 52
93: 49
default: 61
}
32: .line 1050
StackMap locals:
StackMap stack:
iload 5 /* inBrackets */
ifne 34
33: .line 1051
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 46
castore
34: .line 1053
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 42
castore
35: .line 1054
goto 64
36: .line 1057
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
iload 5 /* inBrackets */
ifeq 37
bipush 63
goto 38
StackMap locals: javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter java.lang.String char[] char[] int int int int
StackMap stack: char[] int
37: bipush 46
StackMap locals: javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter java.lang.String char[] char[] int int int int
StackMap stack: char[] int int
38: castore
39: .line 1058
goto 64
40: .line 1061
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* inBrackets */
41: .line 1062
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iload 7 /* i */
caload
castore
42: .line 1064
iload 7 /* i */
aload 2 /* gPat */
arraylength
iconst_1
isub
if_icmpge 64
43: .line 1065
aload 2 /* gPat */
iload 7 /* i */
iconst_1
iadd
caload
lookupswitch { // 3
33: 44
93: 47
94: 44
default: 48
}
44: .line 1068
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 94
castore
45: .line 1069
iinc 7 /* i */ 1
46: .line 1070
goto 64
47: .line 1073
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iinc 7 /* i */ 1
iload 7 /* i */
caload
castore
48: .line 1077
StackMap locals:
StackMap stack:
goto 64
49: .line 1080
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iload 7 /* i */
caload
castore
50: .line 1081
iconst_0
istore 5 /* inBrackets */
51: .line 1082
goto 64
52: .line 1085
StackMap locals:
StackMap stack:
iload 7 /* i */
ifne 55
aload 2 /* gPat */
arraylength
iconst_1
if_icmple 55
aload 2 /* gPat */
iconst_1
caload
bipush 126
if_icmpne 55
53: .line 1086
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iinc 7 /* i */ 1
iload 7 /* i */
caload
castore
54: .line 1087
goto 64
55: .line 1088
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
56: .line 1089
iload 7 /* i */
aload 2 /* gPat */
arraylength
iconst_1
isub
if_icmpge 59
ldc "*?[]"
aload 2 /* gPat */
iload 7 /* i */
iconst_1
iadd
caload
invokevirtual java.lang.String.indexOf:(I)I
iflt 59
57: .line 1090
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iinc 7 /* i */ 1
iload 7 /* i */
caload
castore
58: .line 1091
goto 64
59: .line 1092
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
60: .line 1095
goto 64
61: .line 1099
StackMap locals:
StackMap stack:
aload 2 /* gPat */
iload 7 /* i */
caload
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifne 63
62: .line 1100
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
bipush 92
castore
63: .line 1102
StackMap locals:
StackMap stack:
aload 3 /* rPat */
iload 6 /* j */
iinc 6 /* j */ 1
aload 2 /* gPat */
iload 7 /* i */
caload
castore
64: .line 1047
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
65: iload 7 /* i */
aload 2 /* gPat */
arraylength
if_icmplt 31
end local 7 // int i
66: .line 1107
StackMap locals:
StackMap stack:
aload 0 /* this */
new java.lang.String
dup
aload 3 /* rPat */
iconst_0
iload 6 /* j */
invokespecial java.lang.String.<init>:([CII)V
iconst_2
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.pattern:Ljava/util/regex/Pattern;
67: .line 1108
return
end local 6 // int j
end local 5 // boolean inBrackets
end local 4 // boolean isWin32
end local 3 // char[] rPat
end local 2 // char[] gPat
end local 1 // java.lang.String globPattern
end local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Ljavax/swing/plaf/basic/BasicFileChooserUI$GlobFilter;
0 68 1 globPattern Ljava/lang/String;
1 68 2 gPat [C
2 68 3 rPat [C
5 68 4 isWin32 Z
6 68 5 inBrackets Z
7 68 6 j I
10 28 7 len I
13 28 8 i I
30 66 7 i I
MethodParameters:
Name Flags
globPattern
public boolean accept(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
start local 1 // java.io.File f
0: .line 1111
aload 1 /* f */
ifnonnull 2
1: .line 1112
iconst_0
ireturn
2: .line 1114
StackMap locals:
StackMap stack:
aload 1 /* f */
invokevirtual java.io.File.isDirectory:()Z
ifeq 4
3: .line 1115
iconst_1
ireturn
4: .line 1117
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.pattern:Ljava/util/regex/Pattern;
aload 1 /* f */
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ireturn
end local 1 // java.io.File f
end local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/plaf/basic/BasicFileChooserUI$GlobFilter;
0 5 1 f Ljava/io/File;
MethodParameters:
Name Flags
f
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
0: .line 1121
aload 0 /* this */
getfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.globPattern:Ljava/lang/String;
areturn
end local 0 // javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/plaf/basic/BasicFileChooserUI$GlobFilter;
}
SourceFile: "BasicFileChooserUI.java"
NestHost: javax.swing.plaf.basic.BasicFileChooserUI
InnerClasses:
GlobFilter = javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter of javax.swing.plaf.basic.BasicFileChooserUI