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 968
            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 973
            aload 1 /* globPattern */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* gPat */
        start local 2 // char[] gPat
         1: .line 974
            aload 2 /* gPat */
            arraylength
            iconst_2
            imul
            newarray 5
            astore 3 /* rPat */
        start local 3 // char[] rPat
         2: .line 975
            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 976
            iconst_0
            istore 5 /* inBrackets */
        start local 5 // boolean inBrackets
         6: .line 977
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         7: .line 979
            aload 0 /* this */
            aload 1 /* globPattern */
            putfield javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.globPattern:Ljava/lang/String;
         8: .line 981
            iload 4 /* isWin32 */
            ifeq 29
         9: .line 983
            aload 2 /* gPat */
            arraylength
            istore 7 /* len */
        start local 7 // int len
        10: .line 984
            aload 1 /* globPattern */
            ldc "*.*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 985
            iinc 7 /* len */ -2
        12: .line 987
      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 988
      StackMap locals: int
      StackMap stack:
            aload 2 /* gPat */
            iload 8 /* i */
            caload
            lookupswitch { // 3
                   42: 15
                   63: 18
                   92: 20
              default: 23
          }
        15: .line 990
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 46
            castore
        16: .line 991
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 42
            castore
        17: .line 992
            goto 26
        18: .line 995
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 46
            castore
        19: .line 996
            goto 26
        20: .line 999
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        21: .line 1000
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        22: .line 1001
            goto 26
        23: .line 1004
      StackMap locals:
      StackMap stack:
            ldc "+()^$.{}[]"
            aload 2 /* gPat */
            iload 8 /* i */
            caload
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 25
        24: .line 1005
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        25: .line 1007
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iload 8 /* i */
            caload
            castore
        26: .line 987
      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 1011
            goto 66
        29: .line 1012
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        30: goto 65
        31: .line 1013
      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 1015
      StackMap locals:
      StackMap stack:
            iload 5 /* inBrackets */
            ifne 34
        33: .line 1016
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 46
            castore
        34: .line 1018
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 42
            castore
        35: .line 1019
            goto 64
        36: .line 1022
      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 1023
            goto 64
        40: .line 1026
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* inBrackets */
        41: .line 1027
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iload 7 /* i */
            caload
            castore
        42: .line 1029
            iload 7 /* i */
            aload 2 /* gPat */
            arraylength
            iconst_1
            isub
            if_icmpge 64
        43: .line 1030
            aload 2 /* gPat */
            iload 7 /* i */
            iconst_1
            iadd
            caload
            lookupswitch { // 3
                   33: 44
                   93: 47
                   94: 44
              default: 48
          }
        44: .line 1033
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 94
            castore
        45: .line 1034
            iinc 7 /* i */ 1
        46: .line 1035
            goto 64
        47: .line 1038
      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 1042
      StackMap locals:
      StackMap stack:
            goto 64
        49: .line 1045
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iload 7 /* i */
            caload
            castore
        50: .line 1046
            iconst_0
            istore 5 /* inBrackets */
        51: .line 1047
            goto 64
        52: .line 1050
      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 1051
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iinc 7 /* i */ 1
            iload 7 /* i */
            caload
            castore
        54: .line 1052
            goto 64
        55: .line 1053
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        56: .line 1054
            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 1055
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iinc 7 /* i */ 1
            iload 7 /* i */
            caload
            castore
        58: .line 1056
            goto 64
        59: .line 1057
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        60: .line 1060
            goto 64
        61: .line 1064
      StackMap locals:
      StackMap stack:
            aload 2 /* gPat */
            iload 7 /* i */
            caload
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 63
        62: .line 1065
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            bipush 92
            castore
        63: .line 1067
      StackMap locals:
      StackMap stack:
            aload 3 /* rPat */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 2 /* gPat */
            iload 7 /* i */
            caload
            castore
        64: .line 1012
      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 1072
      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 1073
            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 1076
            aload 1 /* f */
            ifnonnull 2
         1: .line 1077
            iconst_0
            ireturn
         2: .line 1079
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 4
         3: .line 1080
            iconst_1
            ireturn
         4: .line 1082
      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 1086
            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