public class org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern extends org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
  super_class: org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
{
  public char[] simpleName;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public char[] pkg;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public char[][] enclosingTypeNames;
    descriptor: [[C
    flags: (0x0001) ACC_PUBLIC

  public char[][] moduleNames;
    descriptor: [[C
    flags: (0x0001) ACC_PUBLIC

  private boolean allowModuleRegex;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  java.util.regex.Pattern[] modulePatterns;
    descriptor: [Ljava/util/regex/Pattern;
    flags: (0x0000) 

  public boolean moduleGraph;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  char[][] moduleGraphElements;
    descriptor: [[C
    flags: (0x0000) 

  public char typeSuffix;
    descriptor: C
    flags: (0x0001) ACC_PUBLIC

  public int modifiers;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean secondary;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  protected static char[][] CATEGORIES;
    descriptor: [[C
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  static org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet internedPackageNames;
    descriptor: Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern$PackageNameSet;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 46
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.TYPE_DECL:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.CATEGORIES:[[C
         1: .line 49
            new org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet
            dup
            sipush 1001
            invokespecial org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet.<init>:(I)V
            putstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.internedPackageNames:Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern$PackageNameSet;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static char[] createIndexKey(int, char[], char[], char[][], boolean);
    descriptor: (I[C[C[[CZ)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // int modifiers
        start local 1 // char[] typeName
        start local 2 // char[] packageName
        start local 3 // char[][] enclosingTypeNames
        start local 4 // boolean secondary
         0: .line 100
            aload 1 /* typeName */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* typeName */
            arraylength
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* typeNameLength */
        start local 5 // int typeNameLength
         3: .line 101
            aload 2 /* packageName */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 2 /* packageName */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* packageLength */
        start local 6 // int packageLength
         6: .line 102
            iconst_0
            istore 7 /* enclosingNamesLength */
        start local 7 // int enclosingNamesLength
         7: .line 103
            aload 3 /* enclosingTypeNames */
            ifnull 15
         8: .line 104
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: aload 3 /* enclosingTypeNames */
            arraylength
            istore 9 /* length */
        start local 9 // int length
        10: goto 14
        11: .line 105
      StackMap locals: int char[] char[] char[][] int int int int int int
      StackMap stack:
            iload 7 /* enclosingNamesLength */
            aload 3 /* enclosingTypeNames */
            iload 8 /* i */
            aaload
            arraylength
            iadd
            istore 7 /* enclosingNamesLength */
        12: .line 106
            iinc 8 /* i */ 1
            iload 8 /* i */
            iload 9 /* length */
            if_icmpge 14
        13: .line 107
            iinc 7 /* enclosingNamesLength */ 1
        14: .line 104
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 9 /* length */
            if_icmplt 11
        end local 9 // int length
        end local 8 // int i
        15: .line 111
      StackMap locals:
      StackMap stack:
            iload 5 /* typeNameLength */
            iload 6 /* packageLength */
            iadd
            iload 7 /* enclosingNamesLength */
            iadd
            iconst_5
            iadd
            istore 8 /* resultLength */
        start local 8 // int resultLength
        16: .line 112
            iload 4 /* secondary */
            ifeq 17
            iinc 8 /* resultLength */ 2
        17: .line 113
      StackMap locals: int
      StackMap stack:
            iload 8 /* resultLength */
            newarray 5
            astore 9 /* result */
        start local 9 // char[] result
        18: .line 114
            iconst_0
            istore 10 /* pos */
        start local 10 // int pos
        19: .line 115
            iload 5 /* typeNameLength */
            ifle 22
        20: .line 116
            aload 1 /* typeName */
            iconst_0
            aload 9 /* result */
            iload 10 /* pos */
            iload 5 /* typeNameLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 117
            iload 10 /* pos */
            iload 5 /* typeNameLength */
            iadd
            istore 10 /* pos */
        22: .line 119
      StackMap locals: char[] int
      StackMap stack:
            aload 9 /* result */
            iload 10 /* pos */
            iinc 10 /* pos */ 1
            bipush 47
            castore
        23: .line 120
            iload 6 /* packageLength */
            ifle 26
        24: .line 121
            aload 2 /* packageName */
            iconst_0
            aload 9 /* result */
            iload 10 /* pos */
            iload 6 /* packageLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 122
            iload 10 /* pos */
            iload 6 /* packageLength */
            iadd
            istore 10 /* pos */
        26: .line 124
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            iload 10 /* pos */
            iinc 10 /* pos */ 1
            bipush 47
            castore
        27: .line 125
            aload 3 /* enclosingTypeNames */
            ifnull 38
            iload 7 /* enclosingNamesLength */
            ifle 38
        28: .line 126
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        29: aload 3 /* enclosingTypeNames */
            arraylength
            istore 12 /* length */
        start local 12 // int length
        30: goto 37
        31: .line 127
      StackMap locals: int int
      StackMap stack:
            aload 3 /* enclosingTypeNames */
            iload 11 /* i */
            aaload
            astore 13 /* enclosingName */
        start local 13 // char[] enclosingName
        32: .line 128
            aload 13 /* enclosingName */
            arraylength
            istore 14 /* itsLength */
        start local 14 // int itsLength
        33: .line 129
            aload 13 /* enclosingName */
            iconst_0
            aload 9 /* result */
            iload 10 /* pos */
            iload 14 /* itsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 130
            iload 10 /* pos */
            iload 14 /* itsLength */
            iadd
            istore 10 /* pos */
        35: .line 131
            iinc 11 /* i */ 1
            iload 11 /* i */
            iload 12 /* length */
            if_icmpge 37
        36: .line 132
            aload 9 /* result */
            iload 10 /* pos */
            iinc 10 /* pos */ 1
            bipush 46
            castore
        end local 14 // int itsLength
        end local 13 // char[] enclosingName
        37: .line 126
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iload 12 /* length */
            if_icmplt 31
        end local 12 // int length
        end local 11 // int i
        38: .line 135
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            iload 10 /* pos */
            iinc 10 /* pos */ 1
            bipush 47
            castore
        39: .line 136
            aload 9 /* result */
            iload 10 /* pos */
            iinc 10 /* pos */ 1
            iload 0 /* modifiers */
            i2c
            castore
        40: .line 137
            aload 9 /* result */
            iload 10 /* pos */
            iload 0 /* modifiers */
            bipush 16
            ishr
            i2c
            castore
        41: .line 138
            iload 4 /* secondary */
            ifeq 44
        42: .line 139
            aload 9 /* result */
            iinc 10 /* pos */ 1
            iload 10 /* pos */
            bipush 47
            castore
        43: .line 140
            aload 9 /* result */
            iinc 10 /* pos */ 1
            iload 10 /* pos */
            bipush 83
            castore
        44: .line 142
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            areturn
        end local 10 // int pos
        end local 9 // char[] result
        end local 8 // int resultLength
        end local 7 // int enclosingNamesLength
        end local 6 // int packageLength
        end local 5 // int typeNameLength
        end local 4 // boolean secondary
        end local 3 // char[][] enclosingTypeNames
        end local 2 // char[] packageName
        end local 1 // char[] typeName
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   45     0             modifiers  I
            0   45     1              typeName  [C
            0   45     2           packageName  [C
            0   45     3    enclosingTypeNames  [[C
            0   45     4             secondary  Z
            3   45     5        typeNameLength  I
            6   45     6         packageLength  I
            7   45     7  enclosingNamesLength  I
            9   15     8                     i  I
           10   15     9                length  I
           16   45     8          resultLength  I
           18   45     9                result  [C
           19   45    10                   pos  I
           29   38    11                     i  I
           30   38    12                length  I
           32   37    13         enclosingName  [C
           33   37    14             itsLength  I
    MethodParameters:
                    Name  Flags
      modifiers           
      typeName            
      packageName         
      enclosingTypeNames  
      secondary           

  public void <init>(char[], char[], char[][], char[], char, int);
    descriptor: ([C[C[[C[CCI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // char[] moduleNames
        start local 2 // char[] pkg
        start local 3 // char[][] enclosingTypeNames
        start local 4 // char[] simpleName
        start local 5 // char typeSuffix
        start local 6 // int matchRule
         0: .line 153
            aload 0 /* this */
            iload 6 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.<init>:(I)V
         1: .line 154
            aload 0 /* this */
            aload 1 /* moduleNames */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.addModuleNames:([C)V
         2: .line 155
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:Z
            ifeq 3
            aload 2 /* pkg */
            goto 4
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] char[] char[][] char[] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
         3: aload 2 /* pkg */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] char[] char[][] char[] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[]
         4: putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
         5: .line 156
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:Z
            ifne 6
            aload 3 /* enclosingTypeNames */
            ifnonnull 8
         6: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enclosingTypeNames */
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
         7: .line 158
            goto 15
         8: .line 159
      StackMap locals:
      StackMap stack:
            aload 3 /* enclosingTypeNames */
            arraylength
            istore 7 /* length */
        start local 7 // int length
         9: .line 160
            aload 0 /* this */
            iload 7 /* length */
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
        10: .line 161
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 14
        12: .line 162
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            iload 8 /* i */
            aload 3 /* enclosingTypeNames */
            iload 8 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
            aastore
        13: .line 161
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            iload 7 /* length */
            if_icmplt 12
        end local 8 // int i
        end local 7 // int length
        15: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:Z
            ifne 16
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCamelCase:Z
            ifeq 17
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
        16: aload 4 /* simpleName */
            goto 18
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
        17: aload 4 /* simpleName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] char[] char[][] char[] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[]
        18: putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
        19: .line 165
            aload 0 /* this */
            iload 5 /* typeSuffix */
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
        20: .line 167
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnull 21
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            ifnonnull 22
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
        21: iload 5 /* typeSuffix */
            ifne 22
            iconst_0
            goto 23
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
        22: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] char[] char[][] char[] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern int
        23: putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.mustResolve:Z
        24: .line 168
            return
        end local 6 // int matchRule
        end local 5 // char typeSuffix
        end local 4 // char[] simpleName
        end local 3 // char[][] enclosingTypeNames
        end local 2 // char[] pkg
        end local 1 // char[] moduleNames
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   25     1         moduleNames  [C
            0   25     2                 pkg  [C
            0   25     3  enclosingTypeNames  [[C
            0   25     4          simpleName  [C
            0   25     5          typeSuffix  C
            0   25     6           matchRule  I
            9   15     7              length  I
           11   15     8                   i  I
    MethodParameters:
                    Name  Flags
      moduleNames         
      pkg                 
      enclosingTypeNames  
      simpleName          
      typeSuffix          
      matchRule           

  public void <init>(char[], char[][], char[], char, int);
    descriptor: ([C[[C[CCI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // char[] pkg
        start local 2 // char[][] enclosingTypeNames
        start local 3 // char[] simpleName
        start local 4 // char typeSuffix
        start local 5 // int matchRule
         0: .line 177
            aload 0 /* this */
            aconst_null
            aload 1 /* pkg */
            aload 2 /* enclosingTypeNames */
            aload 3 /* simpleName */
            iload 4 /* typeSuffix */
            iload 5 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.<init>:([C[C[[C[CCI)V
         1: .line 178
            return
        end local 5 // int matchRule
        end local 4 // char typeSuffix
        end local 3 // char[] simpleName
        end local 2 // char[][] enclosingTypeNames
        end local 1 // char[] pkg
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0    2     1                 pkg  [C
            0    2     2  enclosingTypeNames  [[C
            0    2     3          simpleName  [C
            0    2     4          typeSuffix  C
            0    2     5           matchRule  I
    MethodParameters:
                    Name  Flags
      pkg                 
      enclosingTypeNames  
      simpleName          
      typeSuffix          
      matchRule           

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // int matchRule
         0: .line 180
            aload 0 /* this */
            bipush 8
            iload 1 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.<init>:(II)V
         1: .line 31
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.moduleNames:[[C
         2: .line 32
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.allowModuleRegex:Z
         3: .line 33
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.modulePatterns:[Ljava/util/regex/Pattern;
         4: .line 34
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.moduleGraph:Z
         5: .line 35
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.moduleGraphElements:[[C
         6: .line 44
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.secondary:Z
         7: .line 180
            return
        end local 1 // int matchRule
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0    8     1  matchRule  I
    MethodParameters:
           Name  Flags
      matchRule  

  protected void addModuleNames(char[]);
    descriptor: ([C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // char[] modNames
         0: .line 183
            aload 1 /* modNames */
            ifnonnull 2
         1: .line 184
            return
         2: .line 186
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            getstatic org.eclipse.jdt.core.search.IJavaSearchConstants.ALL_UNNAMED:[C
            invokespecial java.lang.String.<init>:([C)V
            astore 2 /* explicit_unnamed */
        start local 2 // java.lang.String explicit_unnamed
         3: .line 187
            new java.lang.String
            dup
            aload 1 /* modNames */
            invokespecial java.lang.String.<init>:([C)V
            getstatic org.eclipse.jdt.core.compiler.CharOperation.COMMA_SEPARATOR:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* names */
        start local 3 // java.lang.String[] names
         4: .line 188
            aload 3 /* names */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         5: .line 189
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.allowModuleRegex:Z
            ifeq 15
            iload 4 /* len */
            ifle 15
            aload 3 /* names */
            iconst_0
            aaload
            ifnull 15
            aload 3 /* names */
            iconst_0
            aaload
            invokevirtual java.lang.String.length:()I
            ifle 15
         6: .line 190
            aload 3 /* names */
            iconst_0
            aaload
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 15
         7: .line 191
            aload 3 /* names */
            iconst_0
            aload 3 /* names */
            iconst_0
            aaload
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
         8: .line 192
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.util.regex.Pattern
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.modulePatterns:[Ljava/util/regex/Pattern;
         9: .line 193
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 13
        11: .line 194
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] java.lang.String java.lang.String[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.modulePatterns:[Ljava/util/regex/Pattern;
            iload 5 /* i */
            aload 3 /* names */
            iload 5 /* i */
            aaload
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aastore
        12: .line 193
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 11
        end local 5 // int i
        14: .line 196
            goto 22
        15: .line 197
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 21
        17: .line 198
      StackMap locals: int
      StackMap stack:
            aload 3 /* names */
            iload 5 /* i */
            aload 3 /* names */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
        18: .line 199
            aload 2 /* explicit_unnamed */
            aload 3 /* names */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 200
            aload 3 /* names */
            iload 5 /* i */
            ldc ""
            aastore
        20: .line 197
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 17
        end local 5 // int i
        22: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.moduleNames:[[C
        23: .line 204
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        24: goto 30
        25: .line 205
      StackMap locals: int
      StackMap stack:
            aload 3 /* names */
            iload 5 /* i */
            aaload
            astore 6 /* s */
        start local 6 // java.lang.String s
        26: .line 206
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.moduleNames:[[C
            iload 5 /* i */
            aload 6 /* s */
            ifnull 27
            aload 6 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            goto 28
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] java.lang.String java.lang.String[] int int java.lang.String
      StackMap stack: char[][] int
        27: getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR:[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] java.lang.String java.lang.String[] int int java.lang.String
      StackMap stack: char[][] int char[]
        28: aastore
        end local 6 // java.lang.String s
        29: .line 204
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 25
        end local 5 // int i
        31: .line 208
            return
        end local 4 // int len
        end local 3 // java.lang.String[] names
        end local 2 // java.lang.String explicit_unnamed
        end local 1 // char[] modNames
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   32     1          modNames  [C
            3   32     2  explicit_unnamed  Ljava/lang/String;
            4   32     3             names  [Ljava/lang/String;
            5   32     4               len  I
           10   14     5                 i  I
           16   22     5                 i  I
           24   31     5                 i  I
           26   29     6                 s  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      modNames  

  public void decodeIndexKey(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // char[] key
         0: .line 220
            bipush 47
            aload 1 /* key */
            iconst_0
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            istore 2 /* slash */
        start local 2 // int slash
         1: .line 221
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            iload 2 /* slash */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
         2: .line 223
            iinc 2 /* slash */ 1
            iload 2 /* slash */
            istore 3 /* start */
        start local 3 // int start
         3: .line 224
            aload 1 /* key */
            iload 3 /* start */
            caload
            bipush 47
            if_icmpne 6
         4: .line 225
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR:[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
         5: .line 226
            goto 8
         6: .line 227
      StackMap locals: int int
      StackMap stack:
            bipush 47
            aload 1 /* key */
            iload 3 /* start */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            istore 2 /* slash */
         7: .line 228
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.internedPackageNames:Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern$PackageNameSet;
            aload 1 /* key */
            iload 3 /* start */
            iload 2 /* slash */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet.add:([C)[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
         8: .line 232
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            arraylength
            iconst_1
            isub
            istore 4 /* last */
        start local 4 // int last
         9: .line 233
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* last */
            caload
            bipush 83
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] int int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
        10: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern char[] int int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern int
        11: putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.secondary:Z
        12: .line 234
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.secondary:Z
            ifeq 14
        13: .line 235
            iinc 4 /* last */ -2
        14: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* last */
            iconst_1
            isub
            caload
            aload 1 /* key */
            iload 4 /* last */
            caload
            bipush 16
            ishl
            iadd
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.modifiers:I
        15: .line 238
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.decodeModifiers:()V
        16: .line 241
            iload 2 /* slash */
            iconst_1
            iadd
            istore 3 /* start */
        17: .line 242
            iinc 4 /* last */ -2
        18: .line 243
            iload 3 /* start */
            iload 4 /* last */
            if_icmpne 21
        19: .line 244
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
        20: .line 245
            goto 25
        21: .line 246
      StackMap locals:
      StackMap stack:
            iload 4 /* last */
            iload 3 /* start */
            iconst_1
            iadd
            if_icmpne 24
            aload 1 /* key */
            iload 3 /* start */
            caload
            bipush 48
            if_icmpne 24
        22: .line 247
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.ONE_ZERO_CHAR:[[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
        23: .line 248
            goto 25
        24: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 46
            aload 1 /* key */
            iload 3 /* start */
            iload 4 /* last */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[CII)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
        25: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int last
        end local 3 // int start
        end local 2 // int slash
        end local 1 // char[] key
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   26     1    key  [C
            1   26     2  slash  I
            3   26     3  start  I
            9   26     4   last  I
    MethodParameters:
      Name  Flags
      key   

  protected void decodeModifiers();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
         0: .line 256
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.modifiers:I
            sipush 25088
            iand
            lookupswitch { // 4
                  512: 5
                 8192: 1
                 8704: 1
                16384: 3
              default: 7
          }
         1: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 65
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
         2: .line 260
            goto 8
         3: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 69
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
         4: .line 263
            goto 8
         5: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 73
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
         6: .line 266
            goto 8
         7: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 67
            putfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
         8: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;

  public org.eclipse.jdt.core.search.SearchPattern getBlankPattern();
    descriptor: ()Lorg/eclipse/jdt/core/search/SearchPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
         0: .line 274
            new org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
            dup
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.<init>:(I)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;

  public char[][] getIndexCategories();
    descriptor: ()[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
         0: .line 278
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.CATEGORIES:[[C
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;

  public boolean matchesDecodedKey(org.eclipse.jdt.core.search.SearchPattern);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchPattern;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
         0: .line 282
            aload 1 /* decodedPattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
            astore 2 /* pattern */
        start local 2 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern pattern
         1: .line 285
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            if_icmpeq 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            ifeq 4
         2: .line 286
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.matchDifferentTypeSuffixes:(II)Z
            ifne 4
         3: .line 287
            iconst_0
            ireturn
         4: .line 292
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.matchesName:([C[C)Z
            ifne 6
         5: .line 293
            iconst_0
            ireturn
         6: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnull 8
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:()Z
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[CZ)Z
            ifne 8
         7: .line 297
            iconst_0
            ireturn
         8: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            ifnull 17
         9: .line 301
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            ifne 12
        10: .line 302
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            ifne 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        12: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            iconst_1
            if_icmpne 14
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            iconst_1
            if_icmpne 14
        13: .line 304
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            iconst_0
            aaload
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            iconst_0
            aaload
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:()Z
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[CZ)Z
            ireturn
        14: .line 305
      StackMap locals:
      StackMap stack:
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.ONE_ZERO_CHAR:[[C
            if_acmpne 16
        15: .line 306
            iconst_1
            ireturn
        16: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:()Z
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([[C[[CZ)Z
            ireturn
        17: .line 309
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern pattern
        end local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   18     1  decodedPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            1   18     2         pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
    MethodParameters:
                Name  Flags
      decodedPattern  

  public org.eclipse.jdt.internal.core.index.EntryResult[] queryIn(org.eclipse.jdt.internal.core.index.Index);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/Index;)[Lorg/eclipse/jdt/internal/core/index/EntryResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
         0: .line 313
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            astore 2 /* key */
        start local 2 // char[] key
         1: .line 314
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.getMatchRule:()I
            istore 3 /* matchRule */
        start local 3 // int matchRule
         2: .line 316
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.getMatchMode:()I
            lookupswitch { // 6
                    0: 4
                    1: 3
                    2: 13
                    4: 25
                  128: 26
                  256: 26
              default: 26
          }
         3: .line 319
      StackMap locals: char[] int
      StackMap stack:
            goto 26
         4: .line 321
      StackMap locals:
      StackMap stack:
            iload 3 /* matchRule */
            iconst_m1
            iand
            istore 3 /* matchRule */
         5: .line 322
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            ifnull 12
         6: .line 323
            iload 3 /* matchRule */
            iconst_1
            ior
            istore 3 /* matchRule */
         7: .line 324
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnonnull 9
         8: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.append:([CC)[C
            goto 10
         9: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            bipush 47
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            bipush 47
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([CC[CC[C)[C
        10: .line 324
      StackMap locals:
      StackMap stack: char[]
            astore 2 /* key */
        11: .line 327
            goto 26
        12: .line 329
      StackMap locals:
      StackMap stack:
            iload 3 /* matchRule */
            iconst_2
            ior
            istore 3 /* matchRule */
        13: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnonnull 20
        14: .line 333
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            ifnonnull 17
        15: .line 334
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            lookupswitch { // 7
                    9: 16
                   10: 16
                   11: 16
                   65: 16
                   67: 16
                   69: 16
                   73: 16
              default: 16
          }
        16: .line 346
      StackMap locals:
      StackMap stack:
            goto 26
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            arraylength
            iconst_1
            isub
            caload
            bipush 42
            if_icmpeq 26
        18: .line 347
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.ONE_STAR:[C
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            astore 2 /* key */
        19: .line 349
            goto 26
        20: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            ifnonnull 21
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.ONE_STAR:[C
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
      StackMap locals:
      StackMap stack: char[]
        22: bipush 47
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            bipush 47
            getstatic org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.ONE_STAR:[C
        23: .line 352
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([CC[CC[C)[C
            astore 2 /* key */
        24: .line 354
            goto 26
        25: .line 357
      StackMap locals:
      StackMap stack:
            goto 26
        26: .line 364
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.getIndexCategories:()[[C
            aload 2 /* key */
            iload 3 /* matchRule */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.query:([[C[CI)[Lorg/eclipse/jdt/internal/core/index/EntryResult;
            areturn
        end local 3 // int matchRule
        end local 2 // char[] key
        end local 1 // org.eclipse.jdt.internal.core.index.Index index
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   27     1      index  Lorg/eclipse/jdt/internal/core/index/Index;
            1   27     2        key  [C
            2   27     3  matchRule  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      index  

  protected java.lang.StringBuffer print(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
        start local 1 // java.lang.StringBuffer output
         0: .line 368
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            lookupswitch { // 7
                    9: 5
                   10: 3
                   11: 9
                   65: 13
                   67: 1
                   69: 11
                   73: 7
              default: 15
          }
         1: .line 370
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "ClassDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 371
            goto 16
         3: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "ClassAndInterfaceDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 374
            goto 16
         5: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "ClassAndEnumDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 377
            goto 16
         7: .line 379
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "InterfaceDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 380
            goto 16
         9: .line 382
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "InterfaceAndAnnotationDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 383
            goto 16
        11: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "EnumDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 386
            goto 16
        13: .line 388
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "AnnotationTypeDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 389
            goto 16
        15: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "TypeDeclarationPattern: pkg<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnull 18
        17: .line 395
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 19
        18: .line 397
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc ">, enclosing<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        20: .line 399
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            ifnull 29
        21: .line 400
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        22: goto 27
        23: .line 401
      StackMap locals: int
      StackMap stack:
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        24: .line 402
            iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            iconst_1
            isub
            if_icmpge 26
        25: .line 403
            aload 1 /* output */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        26: .line 400
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            arraylength
            if_icmplt 23
        end local 2 // int i
        28: .line 405
            goto 30
        29: .line 406
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        30: .line 408
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc ">, type<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        31: .line 409
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            ifnull 33
        32: .line 410
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 34
        33: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        34: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc ">"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        35: .line 414
            aload 0 /* this */
            aload 1 /* output */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.print:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
        end local 1 // java.lang.StringBuffer output
        end local 0 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   36     0    this  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   36     1  output  Ljava/lang/StringBuffer;
           22   28     2       i  I
    MethodParameters:
        Name  Flags
      output  
}
SourceFile: "TypeDeclarationPattern.java"
NestMembers:
  org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet
InnerClasses:
  PackageNameSet = org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern$PackageNameSet of org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern