public class org.eclipse.jdt.internal.core.search.JavaSearchScope extends org.eclipse.jdt.internal.core.search.AbstractJavaSearchScope
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.JavaSearchScope
  super_class: org.eclipse.jdt.internal.core.search.AbstractJavaSearchScope
{
  private java.util.ArrayList elements;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList projectPaths;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private int[] projectIndexes;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] containerPaths;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] relativePaths;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean[] isPkgPath;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

  protected org.eclipse.jdt.internal.compiler.env.AccessRuleSet[] pathRestrictions;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
    flags: (0x0004) ACC_PROTECTED

  private int pathsCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int threshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars;
    descriptor: [Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE

  public static final org.eclipse.jdt.internal.compiler.env.AccessRuleSet NOT_ENCLOSED;
    descriptor: Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final boolean excludeTestCode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 68
            new org.eclipse.jdt.internal.compiler.env.AccessRuleSet
            dup
            aconst_null
            iconst_0
            aconst_null
            invokespecial org.eclipse.jdt.internal.compiler.env.AccessRuleSet.<init>:([Lorg/eclipse/jdt/internal/compiler/env/AccessRule;BLjava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.search.JavaSearchScope.NOT_ENCLOSED:Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // boolean excludeTestCode
         0: .line 73
            aload 0 /* this */
            iconst_5
            iload 1 /* excludeTestCode */
            invokespecial org.eclipse.jdt.internal.core.search.JavaSearchScope.<init>:(IZ)V
         1: .line 74
            return
        end local 1 // boolean excludeTestCode
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    2     1  excludeTestCode  Z
    MethodParameters:
                 Name  Flags
      excludeTestCode  

  private void <init>(int, boolean);
    descriptor: (IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // int size
        start local 2 // boolean excludeTestCode
         0: .line 76
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.AbstractJavaSearchScope.<init>:()V
         1: .line 58
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
         2: .line 77
            aload 0 /* this */
            iload 2 /* excludeTestCode */
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.excludeTestCode:Z
         3: .line 78
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.initialize:(I)V
         4: .line 81
            return
        end local 2 // boolean excludeTestCode
        end local 1 // int size
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    5     1             size  I
            0    5     2  excludeTestCode  Z
    MethodParameters:
                 Name  Flags
      size             
      excludeTestCode  

  private void addEnclosingProjectOrJar(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 85
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 86
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 87
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            iload 3 /* i */
            aaload
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 4
            return
         4: .line 86
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 3
        end local 3 // int i
         6: .line 90
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
         7: .line 91
            iconst_0
         8: .line 92
            aload 0 /* this */
            iload 2 /* length */
            iconst_1
            iadd
            anewarray org.eclipse.core.runtime.IPath
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
         9: .line 93
            iconst_0
        10: .line 94
            iload 2 /* length */
        11: .line 89
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 95
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            iload 2 /* length */
            aload 1 /* path */
            aastore
        13: .line 96
            return
        end local 2 // int length
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   14     1    path  Lorg/eclipse/core/runtime/IPath;
            1   14     2  length  I
            2    6     3       i  I
    MethodParameters:
      Name  Flags
      path  

  public void add(org.eclipse.jdt.internal.core.JavaProject, int, java.util.HashSet);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;ILjava/util/HashSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject project
        start local 2 // int includeMask
        start local 3 // java.util.HashSet projectsToBeAdded
         0: .line 103
            aload 0 /* this */
            aload 1 /* project */
            aconst_null
            iload 2 /* includeMask */
            aload 3 /* projectsToBeAdded */
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;ILjava/util/HashSet;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;)V
         1: .line 104
            return
        end local 3 // java.util.HashSet projectsToBeAdded
        end local 2 // int includeMask
        end local 1 // org.eclipse.jdt.internal.core.JavaProject project
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    2     1            project  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     2        includeMask  I
            0    2     3  projectsToBeAdded  Ljava/util/HashSet;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      project            
      includeMask        
      projectsToBeAdded  

  void add(org.eclipse.jdt.internal.core.JavaProject, org.eclipse.core.runtime.IPath, int, java.util.HashSet, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;ILjava/util/HashSet;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=24, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // org.eclipse.core.runtime.IPath pathToAdd
        start local 3 // int includeMask
        start local 4 // java.util.HashSet projectsToBeAdded
        start local 5 // java.util.HashSet visitedProjects
        start local 6 // org.eclipse.jdt.core.IClasspathEntry referringEntry
         0: .line 118
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 7 /* project */
        start local 7 // org.eclipse.core.resources.IProject project
         1: .line 119
            aload 7 /* project */
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifeq 2
            aload 5 /* visitedProjects */
            aload 7 /* project */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifne 3
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
         2: return
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 7 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 8 /* projectPath */
        start local 8 // org.eclipse.core.runtime.IPath projectPath
         4: .line 122
            aload 8 /* projectPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 9 /* projectPathString */
        start local 9 // java.lang.String projectPathString
         5: .line 123
            aload 0 /* this */
            aload 8 /* projectPath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.addEnclosingProjectOrJar:(Lorg/eclipse/core/runtime/IPath;)V
         6: .line 125
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* entries */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry[] entries
         7: .line 126
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getJavaModel:()Lorg/eclipse/jdt/core/IJavaModel;
            astore 11 /* model */
        start local 11 // org.eclipse.jdt.core.IJavaModel model
         8: .line 127
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 12 /* perProjectInfo */
        start local 12 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         9: .line 128
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        10: aload 10 /* entries */
            arraylength
            istore 14 /* length */
        start local 14 // int length
        11: goto 70
        12: .line 129
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath int java.util.HashSet java.util.HashSet org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int
      StackMap stack:
            aload 10 /* entries */
            iload 13 /* i */
            aaload
            astore 15 /* entry */
        start local 15 // org.eclipse.jdt.core.IClasspathEntry entry
        13: .line 130
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.excludeTestCode:Z
            ifeq 15
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isTest:()Z
            ifeq 15
        14: .line 131
            goto 69
        15: .line 133
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aconst_null
            astore 16 /* access */
        start local 16 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
        16: .line 134
            aload 15 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            astore 17 /* cpEntry */
        start local 17 // org.eclipse.jdt.internal.core.ClasspathEntry cpEntry
        17: .line 135
            aload 6 /* referringEntry */
            ifnull 21
        18: .line 138
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
            ifne 20
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_3
            if_icmpeq 20
        19: .line 139
            goto 69
        20: .line 141
      StackMap locals: org.eclipse.jdt.internal.compiler.env.AccessRuleSet org.eclipse.jdt.internal.core.ClasspathEntry
      StackMap stack:
            aload 17 /* cpEntry */
            aload 6 /* referringEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 17 /* cpEntry */
        21: .line 144
      StackMap locals:
      StackMap stack:
            aload 17 /* cpEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getAccessRuleSet:()Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            astore 16 /* access */
        22: .line 145
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 3
                    1: 23
                    2: 58
                    3: 65
              default: 69
          }
        23: .line 147
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 18 /* rawEntry */
        start local 18 // org.eclipse.jdt.core.IClasspathEntry rawEntry
        24: .line 148
            aload 12 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rootPathToRawEntries:Ljava/util/Map;
            astore 19 /* rootPathToRawEntries */
        start local 19 // java.util.Map rootPathToRawEntries
        25: .line 149
            aload 19 /* rootPathToRawEntries */
            ifnull 27
        26: .line 150
            aload 19 /* rootPathToRawEntries */
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry
            astore 18 /* rawEntry */
        27: .line 152
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry java.util.Map
      StackMap stack:
            aload 18 /* rawEntry */
            ifnonnull 28
            goto 69
        28: .line 153
      StackMap locals:
      StackMap stack:
            aload 18 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 5
                    1: 29
                    2: 57
                    3: 57
                    4: 29
                    5: 41
              default: 57
          }
        29: .line 156
      StackMap locals:
      StackMap stack:
            iload 3 /* includeMask */
            iconst_2
            iand
            ifeq 69
        30: .line 157
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 20 /* path */
        start local 20 // org.eclipse.core.runtime.IPath path
        31: .line 158
            aload 2 /* pathToAdd */
            ifnull 32
            aload 2 /* pathToAdd */
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 69
        32: .line 159
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 20 /* path */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 21 /* target */
        start local 21 // java.lang.Object target
        33: .line 160
            aload 21 /* target */
            instanceof org.eclipse.core.resources.IFolder
            ifeq 35
        34: .line 161
            aload 21 /* target */
            checkcast org.eclipse.core.resources.IFolder
            invokeinterface org.eclipse.core.resources.IFolder.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 20 /* path */
        35: .line 162
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 36
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 37
      StackMap locals:
      StackMap stack:
        36: aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        37: astore 22 /* pathToString */
        start local 22 // java.lang.String pathToString
        38: .line 163
            aload 0 /* this */
            aload 8 /* projectPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            ldc ""
            aload 22 /* pathToString */
            iconst_0
            aload 16 /* access */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        39: .line 164
            aload 0 /* this */
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.addEnclosingProjectOrJar:(Lorg/eclipse/core/runtime/IPath;)V
        end local 22 // java.lang.String pathToString
        end local 21 // java.lang.Object target
        end local 20 // org.eclipse.core.runtime.IPath path
        40: .line 167
            goto 69
        41: .line 169
      StackMap locals:
      StackMap stack:
            aload 18 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* javaProject */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 20 /* container */
        start local 20 // org.eclipse.jdt.core.IClasspathContainer container
        42: .line 170
            aload 20 /* container */
            ifnonnull 43
            goto 69
        43: .line 171
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 20 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getKind:()I
            tableswitch { // 1 - 3
                    1: 44
                    2: 45
                    3: 45
              default: 46
          }
        44: .line 173
      StackMap locals:
      StackMap stack:
            iload 3 /* includeMask */
            iconst_2
            iand
            ifne 47
            goto 69
        45: .line 177
      StackMap locals:
      StackMap stack:
            iload 3 /* includeMask */
            iconst_4
            iand
            ifne 47
            goto 69
        46: .line 180
      StackMap locals:
      StackMap stack:
            goto 69
        47: .line 182
      StackMap locals:
      StackMap stack:
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 21 /* path */
        start local 21 // org.eclipse.core.runtime.IPath path
        48: .line 183
            aload 2 /* pathToAdd */
            ifnull 49
            aload 2 /* pathToAdd */
            aload 21 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 69
        49: .line 184
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 21 /* path */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 22 /* target */
        start local 22 // java.lang.Object target
        50: .line 185
            aload 22 /* target */
            instanceof org.eclipse.core.resources.IFolder
            ifeq 52
        51: .line 186
            aload 22 /* target */
            checkcast org.eclipse.core.resources.IFolder
            invokeinterface org.eclipse.core.resources.IFolder.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 21 /* path */
        52: .line 187
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 21 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 53
            aload 21 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 21 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        54: astore 23 /* pathToString */
        start local 23 // java.lang.String pathToString
        55: .line 188
            aload 0 /* this */
            aload 8 /* projectPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            ldc ""
            aload 23 /* pathToString */
            iconst_0
            aload 16 /* access */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        56: .line 189
            aload 0 /* this */
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.addEnclosingProjectOrJar:(Lorg/eclipse/core/runtime/IPath;)V
        end local 23 // java.lang.String pathToString
        end local 22 // java.lang.Object target
        end local 21 // org.eclipse.core.runtime.IPath path
        end local 20 // org.eclipse.jdt.core.IClasspathContainer container
        57: .line 193
      StackMap locals:
      StackMap stack:
            goto 69
        end local 19 // java.util.Map rootPathToRawEntries
        end local 18 // org.eclipse.jdt.core.IClasspathEntry rawEntry
        58: .line 195
      StackMap locals:
      StackMap stack:
            iload 3 /* includeMask */
            bipush 8
            iand
            ifeq 69
        59: .line 196
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 20 /* path */
        start local 20 // org.eclipse.core.runtime.IPath path
        60: .line 197
            aload 2 /* pathToAdd */
            ifnull 61
            aload 2 /* pathToAdd */
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 69
        61: .line 198
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath int java.util.HashSet java.util.HashSet org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.env.AccessRuleSet org.eclipse.jdt.internal.core.ClasspathEntry top top org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 11 /* model */
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 21 /* referencedProject */
        start local 21 // org.eclipse.jdt.internal.core.JavaProject referencedProject
        62: .line 199
            aload 4 /* projectsToBeAdded */
            aload 21 /* referencedProject */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 69
        63: .line 200
            aload 0 /* this */
            aload 21 /* referencedProject */
            aconst_null
            iload 3 /* includeMask */
            aload 4 /* projectsToBeAdded */
            aload 5 /* visitedProjects */
            aload 17 /* cpEntry */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;ILjava/util/HashSet;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;)V
        end local 21 // org.eclipse.jdt.internal.core.JavaProject referencedProject
        end local 20 // org.eclipse.core.runtime.IPath path
        64: .line 204
            goto 69
        65: .line 206
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath int java.util.HashSet java.util.HashSet org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.env.AccessRuleSet org.eclipse.jdt.internal.core.ClasspathEntry
      StackMap stack:
            iload 3 /* includeMask */
            iconst_1
            iand
            ifeq 69
        66: .line 207
            aload 15 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 20 /* path */
        start local 20 // org.eclipse.core.runtime.IPath path
        67: .line 208
            aload 2 /* pathToAdd */
            ifnull 68
            aload 2 /* pathToAdd */
            aload 20 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 69
        68: .line 209
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath int java.util.HashSet java.util.HashSet org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.env.AccessRuleSet org.eclipse.jdt.internal.core.ClasspathEntry top top org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            aload 8 /* projectPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            aload 20 /* path */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.util.Util.relativePath:(Lorg/eclipse/core/runtime/IPath;I)Ljava/lang/String;
            aload 9 /* projectPathString */
            iconst_0
            aload 16 /* access */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 20 // org.eclipse.core.runtime.IPath path
        end local 17 // org.eclipse.jdt.internal.core.ClasspathEntry cpEntry
        end local 16 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
        end local 15 // org.eclipse.jdt.core.IClasspathEntry entry
        69: .line 128
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath int java.util.HashSet java.util.HashSet org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        70: iload 13 /* i */
            iload 14 /* length */
            if_icmplt 12
        end local 14 // int length
        end local 13 // int i
        71: .line 215
            return
        end local 12 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 11 // org.eclipse.jdt.core.IJavaModel model
        end local 10 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 9 // java.lang.String projectPathString
        end local 8 // org.eclipse.core.runtime.IPath projectPath
        end local 7 // org.eclipse.core.resources.IProject project
        end local 6 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 5 // java.util.HashSet visitedProjects
        end local 4 // java.util.HashSet projectsToBeAdded
        end local 3 // int includeMask
        end local 2 // org.eclipse.core.runtime.IPath pathToAdd
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   72     0                  this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   72     1           javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   72     2             pathToAdd  Lorg/eclipse/core/runtime/IPath;
            0   72     3           includeMask  I
            0   72     4     projectsToBeAdded  Ljava/util/HashSet;
            0   72     5       visitedProjects  Ljava/util/HashSet;
            0   72     6        referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   72     7               project  Lorg/eclipse/core/resources/IProject;
            4   72     8           projectPath  Lorg/eclipse/core/runtime/IPath;
            5   72     9     projectPathString  Ljava/lang/String;
            7   72    10               entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            8   72    11                 model  Lorg/eclipse/jdt/core/IJavaModel;
            9   72    12        perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           10   71    13                     i  I
           11   71    14                length  I
           13   69    15                 entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           16   69    16                access  Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
           17   69    17               cpEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           24   58    18              rawEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           25   58    19  rootPathToRawEntries  Ljava/util/Map;
           31   40    20                  path  Lorg/eclipse/core/runtime/IPath;
           33   40    21                target  Ljava/lang/Object;
           38   40    22          pathToString  Ljava/lang/String;
           42   57    20             container  Lorg/eclipse/jdt/core/IClasspathContainer;
           48   57    21                  path  Lorg/eclipse/core/runtime/IPath;
           50   57    22                target  Ljava/lang/Object;
           55   57    23          pathToString  Ljava/lang/String;
           60   64    20                  path  Lorg/eclipse/core/runtime/IPath;
           62   64    21     referencedProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           67   69    20                  path  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      javaProject        
      pathToAdd          
      includeMask        
      projectsToBeAdded  
      visitedProjects    
      referringEntry     

  public void add(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 222
            aconst_null
            astore 2 /* containerPath */
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         1: .line 223
            aconst_null
            astore 3 /* containerPathToString */
        start local 3 // java.lang.String containerPathToString
         2: .line 224
            aconst_null
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         3: .line 225
            bipush 7
            istore 5 /* includeMask */
        start local 5 // int includeMask
         4: .line 226
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 1 - 4
                    1: 5
                    2: 6
                    3: 8
                    4: 24
              default: 48
          }
         5: .line 229
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int
      StackMap stack:
            goto 64
         6: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            aconst_null
            iload 5 /* includeMask */
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;ILjava/util/HashSet;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;)V
         7: .line 232
            goto 64
         8: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 4 /* root */
         9: .line 235
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.internalPath:()Lorg/eclipse/core/runtime/IPath;
            astore 6 /* rootPath */
        start local 6 // org.eclipse.core.runtime.IPath rootPath
        10: .line 236
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpne 11
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            goto 12
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
        11: aload 6 /* rootPath */
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.IPath
        12: astore 2 /* containerPath */
        13: .line 237
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 14
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        15: astore 3 /* containerPathToString */
        16: .line 238
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.resource:()Lorg/eclipse/core/resources/IResource;
            astore 7 /* rootResource */
        start local 7 // org.eclipse.core.resources.IResource rootResource
        17: .line 239
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 8 /* projectPath */
        start local 8 // java.lang.String projectPath
        18: .line 240
            aload 7 /* rootResource */
            ifnull 22
            aload 7 /* rootResource */
            invokeinterface org.eclipse.core.resources.IResource.isAccessible:()Z
            ifeq 22
        19: .line 241
            aload 7 /* rootResource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.relativePath:(Lorg/eclipse/core/runtime/IPath;I)Ljava/lang/String;
            astore 9 /* relativePath */
        start local 9 // java.lang.String relativePath
        20: .line 242
            aload 0 /* this */
            aload 8 /* projectPath */
            aload 9 /* relativePath */
            aload 3 /* containerPathToString */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 9 // java.lang.String relativePath
        21: .line 243
            goto 64
        22: .line 244
      StackMap locals: org.eclipse.core.resources.IResource java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 8 /* projectPath */
            ldc ""
            aload 3 /* containerPathToString */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        23: .line 246
            goto 64
        end local 8 // java.lang.String projectPath
        end local 7 // org.eclipse.core.resources.IResource rootResource
        end local 6 // org.eclipse.core.runtime.IPath rootPath
        24: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 4 /* root */
        25: .line 249
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 8 /* projectPath */
        start local 8 // java.lang.String projectPath
        26: .line 250
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.isArchive:()Z
            ifeq 34
        27: .line 251
            aload 1 /* element */
            checkcast org.eclipse.jdt.internal.core.PackageFragment
            getfield org.eclipse.jdt.internal.core.PackageFragment.names:[Ljava/lang/String;
            bipush 47
            invokestatic org.eclipse.jdt.internal.core.util.Util.concatWith:([Ljava/lang/String;C)Ljava/lang/String;
            astore 9 /* relativePath */
        start local 9 // java.lang.String relativePath
        28: .line 252
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        29: .line 253
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 30
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 31
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int top top java.lang.String java.lang.String
      StackMap stack:
        30: aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        31: astore 3 /* containerPathToString */
        32: .line 254
            aload 0 /* this */
            aload 8 /* projectPath */
            aload 9 /* relativePath */
            aload 3 /* containerPathToString */
            iconst_1
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 9 // java.lang.String relativePath
        33: .line 255
            goto 64
        34: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            astore 9 /* resource */
        start local 9 // org.eclipse.core.resources.IResource resource
        35: .line 257
            aload 9 /* resource */
            ifnull 64
        36: .line 258
            aload 9 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.isAccessible:()Z
            ifeq 41
        37: .line 259
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpne 38
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            goto 39
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
        38: aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.internalPath:()Lorg/eclipse/core/runtime/IPath;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.IPath
        39: astore 2 /* containerPath */
        40: .line 260
            goto 42
        41: .line 262
      StackMap locals:
      StackMap stack:
            aload 9 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getParent:()Lorg/eclipse/core/resources/IContainer;
            invokeinterface org.eclipse.core.resources.IContainer.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        42: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 43
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        44: astore 3 /* containerPathToString */
        45: .line 265
            aload 9 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.relativePath:(Lorg/eclipse/core/runtime/IPath;I)Ljava/lang/String;
            astore 10 /* relativePath */
        start local 10 // java.lang.String relativePath
        46: .line 266
            aload 0 /* this */
            aload 8 /* projectPath */
            aload 10 /* relativePath */
            aload 3 /* containerPathToString */
            iconst_1
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 10 // java.lang.String relativePath
        end local 9 // org.eclipse.core.resources.IResource resource
        47: .line 269
            goto 64
        end local 8 // java.lang.String projectPath
        48: .line 272
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int
      StackMap stack:
            aload 1 /* element */
            instanceof org.eclipse.jdt.core.IMember
            ifeq 52
        49: .line 273
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            ifnonnull 51
        50: .line 274
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
        51: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            aload 1 /* element */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        52: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 4 /* root */
        53: .line 279
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 8 /* projectPath */
        start local 8 // java.lang.String projectPath
        54: .line 281
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpne 58
        55: .line 282
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        56: .line 283
            aload 0 /* this */
            aload 1 /* element */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.util.Util.relativePath:(Lorg/eclipse/core/runtime/IPath;I)Ljava/lang/String;
            astore 9 /* relativePath */
        start local 9 // java.lang.String relativePath
        57: .line 284
            goto 60
        end local 9 // java.lang.String relativePath
        58: .line 285
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int top top java.lang.String
      StackMap stack:
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.internalPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        59: .line 286
            aload 0 /* this */
            aload 1 /* element */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 9 /* relativePath */
        start local 9 // java.lang.String relativePath
        60: .line 288
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 61
            aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 62
      StackMap locals:
      StackMap stack:
        61: aload 2 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        62: astore 3 /* containerPathToString */
        63: .line 289
            aload 0 /* this */
            aload 8 /* projectPath */
            aload 9 /* relativePath */
            aload 3 /* containerPathToString */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 9 // java.lang.String relativePath
        end local 8 // java.lang.String projectPath
        64: .line 292
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int
      StackMap stack:
            aload 4 /* root */
            ifnull 68
        65: .line 293
            aload 0 /* this */
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpne 66
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            goto 67
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.JavaSearchScope
        66: aload 4 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot int
      StackMap stack: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.core.runtime.IPath
        67: invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.addEnclosingProjectOrJar:(Lorg/eclipse/core/runtime/IPath;)V
        68: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int includeMask
        end local 4 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 3 // java.lang.String containerPathToString
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   69     0                   this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   69     1                element  Lorg/eclipse/jdt/core/IJavaElement;
            1   69     2          containerPath  Lorg/eclipse/core/runtime/IPath;
            2   69     3  containerPathToString  Ljava/lang/String;
            3   69     4                   root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            4   69     5            includeMask  I
           10   24     6               rootPath  Lorg/eclipse/core/runtime/IPath;
           17   24     7           rootResource  Lorg/eclipse/core/resources/IResource;
           18   24     8            projectPath  Ljava/lang/String;
           26   48     8            projectPath  Ljava/lang/String;
           54   64     8            projectPath  Ljava/lang/String;
           20   21     9           relativePath  Ljava/lang/String;
           28   33     9           relativePath  Ljava/lang/String;
           35   47     9               resource  Lorg/eclipse/core/resources/IResource;
           46   47    10           relativePath  Ljava/lang/String;
           57   58     9           relativePath  Ljava/lang/String;
           60   64     9           relativePath  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      element  

  private void add(java.lang.String, java.lang.String, java.lang.String, boolean, org.eclipse.jdt.internal.compiler.env.AccessRuleSet);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String projectPath
        start local 2 // java.lang.String relativePath
        start local 3 // java.lang.String containerPath
        start local 4 // boolean isPackage
        start local 5 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
         0: .line 302
            aload 0 /* this */
            aload 3 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* containerPath */
         1: .line 303
            aload 0 /* this */
            aload 2 /* relativePath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* relativePath */
         2: .line 304
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            arraylength
            istore 6 /* length */
        start local 6 // int length
         3: .line 305
            aload 3 /* containerPath */
            invokevirtual java.lang.String.hashCode:()I
            ldc 2147483647
            iand
            iload 6 /* length */
            irem
            istore 7 /* index */
        start local 7 // int index
         4: .line 307
            goto 9
        start local 8 // java.lang.String currentRelativePath
        start local 9 // java.lang.String currentContainerPath
         5: .line 308
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.env.AccessRuleSet int int java.lang.String java.lang.String
      StackMap stack:
            aload 8 /* currentRelativePath */
            aload 2 /* relativePath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 9 /* currentContainerPath */
            aload 3 /* containerPath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 309
            return
         7: .line 310
      StackMap locals:
      StackMap stack:
            iinc 7 /* index */ 1
            iload 7 /* index */
            iload 6 /* length */
            if_icmpne 9
         8: .line 311
            iconst_0
            istore 7 /* index */
        end local 9 // java.lang.String currentContainerPath
        end local 8 // java.lang.String currentRelativePath
         9: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 7 /* index */
            aaload
            dup
            astore 8 /* currentRelativePath */
        start local 8 // java.lang.String currentRelativePath
        10: ifnull 12
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 7 /* index */
            aaload
            dup
            astore 9 /* currentContainerPath */
        start local 9 // java.lang.String currentContainerPath
        11: ifnonnull 5
        end local 9 // java.lang.String currentContainerPath
        12: .line 314
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            aload 1 /* projectPath */
            invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
            istore 10 /* idx */
        start local 10 // int idx
        13: .line 315
            iload 10 /* idx */
            iconst_m1
            if_icmpne 16
        14: .line 317
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            aload 1 /* projectPath */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 318
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            aload 1 /* projectPath */
            invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
            istore 10 /* idx */
        16: .line 320
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.env.AccessRuleSet int int java.lang.String top int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
            iload 7 /* index */
            iload 10 /* idx */
            iastore
        17: .line 321
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 7 /* index */
            aload 2 /* relativePath */
            aastore
        18: .line 322
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 7 /* index */
            aload 3 /* containerPath */
            aastore
        19: .line 323
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
            iload 7 /* index */
            iload 4 /* isPackage */
            bastore
        20: .line 324
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            ifnull 22
        21: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            iload 7 /* index */
            aload 5 /* access */
            aastore
            goto 25
        22: .line 326
      StackMap locals:
      StackMap stack:
            aload 5 /* access */
            ifnull 25
        23: .line 327
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.env.AccessRuleSet
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
        24: .line 328
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            iload 7 /* index */
            aload 5 /* access */
            aastore
        25: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.threshold:I
            if_icmple 27
        26: .line 333
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.rehash:()V
        27: .line 334
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int idx
        end local 8 // java.lang.String currentRelativePath
        end local 7 // int index
        end local 6 // int length
        end local 5 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
        end local 4 // boolean isPackage
        end local 3 // java.lang.String containerPath
        end local 2 // java.lang.String relativePath
        end local 1 // java.lang.String projectPath
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   28     1           projectPath  Ljava/lang/String;
            0   28     2          relativePath  Ljava/lang/String;
            0   28     3         containerPath  Ljava/lang/String;
            0   28     4             isPackage  Z
            0   28     5                access  Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            3   28     6                length  I
            4   28     7                 index  I
            5    9     8   currentRelativePath  Ljava/lang/String;
           10   28     8   currentRelativePath  Ljava/lang/String;
            5    9     9  currentContainerPath  Ljava/lang/String;
           11   12     9  currentContainerPath  Ljava/lang/String;
           13   28    10                   idx  I
    MethodParameters:
               Name  Flags
      projectPath    
      relativePath   
      containerPath  
      isPackage      
      access         

  public boolean encloses(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String resourcePathString
         0: .line 349
            aload 1 /* resourcePathString */
            ldc "|"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* separatorIndex */
        start local 2 // int separatorIndex
         1: .line 350
            iload 2 /* separatorIndex */
            iconst_m1
            if_icmpeq 6
         2: .line 352
            aload 1 /* resourcePathString */
            iconst_0
            iload 2 /* separatorIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* jarPath */
        start local 3 // java.lang.String jarPath
         3: .line 353
            aload 1 /* resourcePathString */
            iload 2 /* separatorIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* relativePath */
        start local 4 // java.lang.String relativePath
         4: .line 354
            aload 0 /* this */
            aload 3 /* jarPath */
            aload 4 /* relativePath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;Ljava/lang/String;)I
            iflt 5
            iconst_1
            ireturn
      StackMap locals: int java.lang.String java.lang.String
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // java.lang.String relativePath
        end local 3 // java.lang.String jarPath
         6: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resourcePathString */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;)I
            iflt 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // int separatorIndex
        end local 1 // java.lang.String resourcePathString
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    8     1  resourcePathString  Ljava/lang/String;
            1    8     2      separatorIndex  I
            3    6     3             jarPath  Ljava/lang/String;
            4    6     4        relativePath  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      resourcePathString  

  private int indexOf(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String fullPath
         0: .line 371
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: goto 12
         3: .line 372
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            astore 4 /* currentRelativePath */
        start local 4 // java.lang.String currentRelativePath
         4: .line 373
            aload 4 /* currentRelativePath */
            ifnonnull 5
            goto 11
         5: .line 374
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            astore 5 /* currentContainerPath */
        start local 5 // java.lang.String currentContainerPath
         6: .line 375
            aload 4 /* currentRelativePath */
            invokevirtual java.lang.String.length:()I
            ifne 7
            aload 5 /* currentContainerPath */
            goto 8
      StackMap locals: java.lang.String
      StackMap stack:
         7: new java.lang.StringBuilder
            dup
            aload 5 /* currentContainerPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* currentRelativePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 6 /* currentFullPath */
        start local 6 // java.lang.String currentFullPath
         9: .line 376
            aload 0 /* this */
            aload 6 /* currentFullPath */
            aload 1 /* fullPath */
            iload 2 /* i */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.encloses:(Ljava/lang/String;Ljava/lang/String;I)Z
            ifeq 11
        10: .line 377
            iload 2 /* i */
            ireturn
        end local 6 // java.lang.String currentFullPath
        end local 5 // java.lang.String currentContainerPath
        end local 4 // java.lang.String currentRelativePath
        11: .line 371
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 3
        end local 3 // int length
        end local 2 // int i
        13: .line 379
            iconst_m1
            ireturn
        end local 1 // java.lang.String fullPath
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0                  this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   14     1              fullPath  Ljava/lang/String;
            1   13     2                     i  I
            2   13     3                length  I
            4   11     4   currentRelativePath  Ljava/lang/String;
            6   11     5  currentContainerPath  Ljava/lang/String;
            9   11     6       currentFullPath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fullPath  

  private int indexOf(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String containerPath
        start local 2 // java.lang.String relativePath
         0: .line 398
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         1: .line 399
            aload 1 /* containerPath */
            invokevirtual java.lang.String.hashCode:()I
            ldc 2147483647
            iand
            iload 3 /* length */
            irem
            istore 4 /* index */
        start local 4 // int index
         2: .line 401
            goto 9
        start local 5 // java.lang.String currentContainerPath
         3: .line 402
      StackMap locals: int int java.lang.String
      StackMap stack:
            aload 5 /* currentContainerPath */
            aload 1 /* containerPath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 403
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 4 /* index */
            aaload
            astore 6 /* currentRelativePath */
        start local 6 // java.lang.String currentRelativePath
         5: .line 404
            aload 0 /* this */
            aload 6 /* currentRelativePath */
            aload 2 /* relativePath */
            iload 4 /* index */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.encloses:(Ljava/lang/String;Ljava/lang/String;I)Z
            ifeq 7
         6: .line 405
            iload 4 /* index */
            ireturn
        end local 6 // java.lang.String currentRelativePath
         7: .line 407
      StackMap locals:
      StackMap stack:
            iinc 4 /* index */ 1
            iload 4 /* index */
            iload 3 /* length */
            if_icmpne 9
         8: .line 408
            iconst_0
            istore 4 /* index */
        end local 5 // java.lang.String currentContainerPath
         9: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 4 /* index */
            aaload
            dup
            astore 5 /* currentContainerPath */
        start local 5 // java.lang.String currentContainerPath
        10: ifnonnull 3
        11: .line 411
            iconst_m1
            ireturn
        end local 5 // java.lang.String currentContainerPath
        end local 4 // int index
        end local 3 // int length
        end local 2 // java.lang.String relativePath
        end local 1 // java.lang.String containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   12     1         containerPath  Ljava/lang/String;
            0   12     2          relativePath  Ljava/lang/String;
            1   12     3                length  I
            2   12     4                 index  I
            3    9     5  currentContainerPath  Ljava/lang/String;
           10   12     5  currentContainerPath  Ljava/lang/String;
            5    7     6   currentRelativePath  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      containerPath  
      relativePath   

  private boolean encloses(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String enclosingPath
        start local 2 // java.lang.String path
        start local 3 // int index
         0: .line 419
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* path */
         1: .line 421
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            istore 4 /* pathLength */
        start local 4 // int pathLength
         2: .line 422
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.length:()I
            istore 5 /* enclosingLength */
        start local 5 // int enclosingLength
         3: .line 423
            iload 4 /* pathLength */
            iload 5 /* enclosingLength */
            if_icmpge 5
         4: .line 424
            iconst_0
            ireturn
         5: .line 426
      StackMap locals: int int
      StackMap stack:
            iload 5 /* enclosingLength */
            ifne 7
         6: .line 427
            iconst_1
            ireturn
         7: .line 429
      StackMap locals:
      StackMap stack:
            iload 4 /* pathLength */
            iload 5 /* enclosingLength */
            if_icmpne 9
         8: .line 430
            aload 2 /* path */
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         9: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
            iload 3 /* index */
            baload
            ifne 14
        10: .line 433
            aload 2 /* path */
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 434
            aload 2 /* path */
            iload 5 /* enclosingLength */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 13
        12: .line 433
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        14: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        15: .line 440
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.length:()I
            aload 2 /* path */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            if_icmpeq 17
        16: .line 441
            aload 1 /* enclosingPath */
            invokevirtual java.lang.String.length:()I
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpne 18
        17: .line 442
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        18: .line 445
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int enclosingLength
        end local 4 // int pathLength
        end local 3 // int index
        end local 2 // java.lang.String path
        end local 1 // java.lang.String enclosingPath
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   19     1    enclosingPath  Ljava/lang/String;
            0   19     2             path  Ljava/lang/String;
            0   19     3            index  I
            2   19     4       pathLength  I
            3   19     5  enclosingLength  I
    MethodParameters:
               Name  Flags
      enclosingPath  
      path           
      index          

  public boolean encloses(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 450
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            ifnull 14
         1: .line 451
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* length */
        start local 3 // int length
         3: goto 12
         4: .line 452
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IJavaElement
            astore 4 /* scopeElement */
        start local 4 // org.eclipse.jdt.core.IJavaElement scopeElement
         5: .line 453
            aload 1 /* element */
            astore 5 /* searchedElement */
        start local 5 // org.eclipse.jdt.core.IJavaElement searchedElement
         6: .line 454
            goto 10
         7: .line 455
      StackMap locals: org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 5 /* searchedElement */
            aload 4 /* scopeElement */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 456
            iconst_1
            ireturn
         9: .line 457
      StackMap locals:
      StackMap stack:
            aload 5 /* searchedElement */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 5 /* searchedElement */
        10: .line 454
      StackMap locals:
      StackMap stack:
            aload 5 /* searchedElement */
            ifnonnull 7
        end local 5 // org.eclipse.jdt.core.IJavaElement searchedElement
        end local 4 // org.eclipse.jdt.core.IJavaElement scopeElement
        11: .line 451
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
        13: .line 460
            iconst_0
            ireturn
        14: .line 462
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 2 /* root */
        start local 2 // org.eclipse.jdt.core.IPackageFragmentRoot root
        15: .line 463
            aload 2 /* root */
            ifnull 23
            aload 2 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
            ifeq 23
        16: .line 465
            aload 2 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* rootPath */
        start local 3 // org.eclipse.core.runtime.IPath rootPath
        17: .line 466
            aload 3 /* rootPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 18
            aload 3 /* rootPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 19
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath
      StackMap stack:
        18: aload 3 /* rootPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 4 /* rootPathToString */
        start local 4 // java.lang.String rootPathToString
        20: .line 467
            aload 0 /* this */
            aload 1 /* element */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            astore 5 /* relativePath */
        start local 5 // org.eclipse.core.runtime.IPath relativePath
        21: .line 468
            aload 0 /* this */
            aload 4 /* rootPathToString */
            aload 5 /* relativePath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;Ljava/lang/String;)I
            iflt 22
            iconst_1
            ireturn
      StackMap locals: java.lang.String org.eclipse.core.runtime.IPath
      StackMap stack:
        22: iconst_0
            ireturn
        end local 5 // org.eclipse.core.runtime.IPath relativePath
        end local 4 // java.lang.String rootPathToString
        end local 3 // org.eclipse.core.runtime.IPath rootPath
        23: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 3 /* fullResourcePathString */
        start local 3 // java.lang.String fullResourcePathString
        24: .line 472
            aload 0 /* this */
            aload 3 /* fullResourcePathString */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;)I
            iflt 25
            iconst_1
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
        25: iconst_0
            ireturn
        end local 3 // java.lang.String fullResourcePathString
        end local 2 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   26     0                    this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   26     1                 element  Lorg/eclipse/jdt/core/IJavaElement;
            2   13     2                       i  I
            3   13     3                  length  I
            5   11     4            scopeElement  Lorg/eclipse/jdt/core/IJavaElement;
            6   11     5         searchedElement  Lorg/eclipse/jdt/core/IJavaElement;
           15   26     2                    root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           17   23     3                rootPath  Lorg/eclipse/core/runtime/IPath;
           20   23     4        rootPathToString  Ljava/lang/String;
           21   23     5            relativePath  Lorg/eclipse/core/runtime/IPath;
           24   26     3  fullResourcePathString  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      element  

  public org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars();
    descriptor: ()[Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
         0: .line 477
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;

  private org.eclipse.core.runtime.IPath getPath(org.eclipse.jdt.core.IJavaElement, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
        start local 2 // boolean relativeToRoot
         0: .line 480
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 1 - 6
                    1: 1
                    2: 2
                    3: 3
                    4: 6
                    5: 8
                    6: 8
              default: 9
          }
         1: .line 482
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            areturn
         2: .line 484
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            areturn
         3: .line 486
      StackMap locals:
      StackMap stack:
            iload 2 /* relativeToRoot */
            ifeq 5
         4: .line 487
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            areturn
         5: .line 488
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            areturn
         6: .line 490
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.internal.core.PackageFragment
            getfield org.eclipse.jdt.internal.core.PackageFragment.names:[Ljava/lang/String;
            bipush 47
            invokestatic org.eclipse.jdt.internal.core.util.Util.concatWith:([Ljava/lang/String;C)Ljava/lang/String;
            astore 3 /* relativePath */
        start local 3 // java.lang.String relativePath
         7: .line 491
            aload 0 /* this */
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            iload 2 /* relativeToRoot */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            new org.eclipse.core.runtime.Path
            dup
            aload 3 /* relativePath */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 3 // java.lang.String relativePath
         8: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            iload 2 /* relativeToRoot */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementName:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            areturn
         9: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            iload 2 /* relativeToRoot */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.getPath:(Lorg/eclipse/jdt/core/IJavaElement;Z)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 2 // boolean relativeToRoot
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   10     1         element  Lorg/eclipse/jdt/core/IJavaElement;
            0   10     2  relativeToRoot  Z
            7    8     3    relativePath  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      element         
      relativeToRoot  

  public org.eclipse.jdt.internal.compiler.env.AccessRuleSet getAccessRuleSet(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String relativePath
        start local 2 // java.lang.String containerPath
         0: .line 502
            aload 0 /* this */
            aload 2 /* containerPath */
            aload 1 /* relativePath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 503
            iload 3 /* index */
            iconst_m1
            if_icmpne 3
         2: .line 505
            getstatic org.eclipse.jdt.internal.core.search.JavaSearchScope.NOT_ENCLOSED:Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            areturn
         3: .line 507
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            ifnonnull 5
         4: .line 508
            aconst_null
            areturn
         5: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            iload 3 /* index */
            aaload
            areturn
        end local 3 // int index
        end local 2 // java.lang.String containerPath
        end local 1 // java.lang.String relativePath
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    6     1   relativePath  Ljava/lang/String;
            0    6     2  containerPath  Ljava/lang/String;
            1    6     3          index  I
    MethodParameters:
               Name  Flags
      relativePath   
      containerPath  

  protected void initialize(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // int size
         0: .line 513
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
         1: .line 514
            aload 0 /* this */
            iload 1 /* size */
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.threshold:I
         2: .line 515
            iload 1 /* size */
            i2f
            ldc 1.75
            fmul
            f2i
            istore 2 /* extraRoom */
        start local 2 // int extraRoom
         3: .line 516
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.threshold:I
            iload 2 /* extraRoom */
            if_icmpne 5
         4: .line 517
            iinc 2 /* extraRoom */ 1
         5: .line 518
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* extraRoom */
            anewarray java.lang.String
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
         6: .line 519
            aload 0 /* this */
            iload 2 /* extraRoom */
            anewarray java.lang.String
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
         7: .line 520
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
         8: .line 521
            aload 0 /* this */
            iload 2 /* extraRoom */
            newarray 10
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
         9: .line 522
            aload 0 /* this */
            iload 2 /* extraRoom */
            newarray 4
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
        10: .line 523
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
        11: .line 525
            aload 0 /* this */
            iconst_0
            anewarray org.eclipse.core.runtime.IPath
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
        12: .line 526
            return
        end local 2 // int extraRoom
        end local 1 // int size
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   13     1       size  I
            3   13     2  extraRoom  I
    MethodParameters:
      Name  Flags
      size  

  private java.lang.String normalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String path
         0: .line 532
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* pathLength */
        start local 2 // int pathLength
         1: .line 533
            iload 2 /* pathLength */
            iconst_1
            isub
            istore 3 /* index */
        start local 3 // int index
         2: .line 534
            goto 4
         3: .line 535
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* index */ -1
         4: .line 534
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            iflt 5
            aload 1 /* path */
            iload 3 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 3
         5: .line 536
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            iload 2 /* pathLength */
            iconst_1
            isub
            if_icmpeq 7
         6: .line 537
            aload 1 /* path */
            iconst_0
            iload 3 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         7: .line 538
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
        end local 3 // int index
        end local 2 // int pathLength
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0    8     1        path  Ljava/lang/String;
            1    8     2  pathLength  I
            2    8     3       index  I
    MethodParameters:
      Name  Flags
      path  

  public void processDelta(org.eclipse.jdt.core.IJavaElementDelta, int);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElementDelta;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
        start local 2 // int eventType
         0: .line 543
            aload 1 /* delta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            tableswitch { // 2 - 4
                    2: 10
                    3: 29
                    4: 1
              default: 29
          }
         1: .line 545
      StackMap locals:
      StackMap stack:
            aload 1 /* delta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getAffectedChildren:()[Lorg/eclipse/jdt/core/IJavaElementDelta;
            astore 3 /* children */
        start local 3 // org.eclipse.jdt.core.IJavaElementDelta[] children
         2: .line 546
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 3 /* children */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         4: goto 8
         5: .line 547
      StackMap locals: org.eclipse.jdt.core.IJavaElementDelta[] int int
      StackMap stack:
            aload 3 /* children */
            iload 4 /* i */
            aaload
            astore 6 /* child */
        start local 6 // org.eclipse.jdt.core.IJavaElementDelta child
         6: .line 548
            aload 0 /* this */
            aload 6 /* child */
            iload 2 /* eventType */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.processDelta:(Lorg/eclipse/jdt/core/IJavaElementDelta;I)V
        end local 6 // org.eclipse.jdt.core.IJavaElementDelta child
         7: .line 546
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 5
        end local 5 // int length
        end local 4 // int i
         9: .line 550
            goto 29
        end local 3 // org.eclipse.jdt.core.IJavaElementDelta[] children
        10: .line 552
      StackMap locals:
      StackMap stack:
            aload 1 /* delta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getElement:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* element */
        start local 4 // org.eclipse.jdt.core.IJavaElement element
        11: .line 553
            aload 0 /* this */
            aload 4 /* element */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.encloses:(Lorg/eclipse/jdt/core/IJavaElement;)Z
            ifeq 29
        12: .line 554
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            ifnull 14
        13: .line 555
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            aload 4 /* element */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
        14: .line 557
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElementDelta int top org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aconst_null
            astore 5 /* path */
        start local 5 // java.lang.String path
        15: .line 558
            aload 4 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 2 - 3
                    2: 16
                    3: 18
              default: 20
          }
        16: .line 560
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* element */
            checkcast org.eclipse.jdt.core.IJavaProject
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 5 /* path */
        17: .line 561
            goto 21
        18: .line 563
      StackMap locals:
      StackMap stack:
            aload 4 /* element */
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 5 /* path */
        19: .line 564
            goto 21
        20: .line 566
      StackMap locals:
      StackMap stack:
            return
        21: .line 568
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 28
        23: .line 569
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            aload 5 /* path */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        24: .line 570
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 6 /* i */
            aconst_null
            aastore
        25: .line 571
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.rehash:()V
        26: .line 572
            goto 29
        27: .line 568
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
            if_icmplt 23
        end local 6 // int i
        end local 5 // java.lang.String path
        end local 4 // org.eclipse.jdt.core.IJavaElement element
        29: .line 578
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.core.IJavaElementDelta int
      StackMap stack:
            return
        end local 2 // int eventType
        end local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0       this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   30     1      delta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            0   30     2  eventType  I
            2   10     3   children  [Lorg/eclipse/jdt/core/IJavaElementDelta;
            3    9     4          i  I
            4    9     5     length  I
            6    7     6      child  Lorg/eclipse/jdt/core/IJavaElementDelta;
           11   29     4    element  Lorg/eclipse/jdt/core/IJavaElement;
           15   29     5       path  Ljava/lang/String;
           22   29     6          i  I
    MethodParameters:
           Name  Flags
      delta      
      eventType  

  public org.eclipse.jdt.core.IPackageFragmentRoot packageFragmentRoot(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
        start local 1 // java.lang.String resourcePathString
        start local 2 // int jarSeparatorIndex
        start local 3 // java.lang.String jarPath
         0: .line 585
            iconst_m1
            istore 4 /* index */
        start local 4 // int index
         1: .line 586
            iload 2 /* jarSeparatorIndex */
            iconst_m1
            if_icmpeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isJarFile */
        start local 5 // boolean isJarFile
         4: .line 587
            iload 5 /* isJarFile */
            ifeq 8
         5: .line 589
            aload 1 /* resourcePathString */
            iload 2 /* jarSeparatorIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* relativePath */
        start local 6 // java.lang.String relativePath
         6: .line 590
            aload 0 /* this */
            aload 3 /* jarPath */
            aload 6 /* relativePath */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;Ljava/lang/String;)I
            istore 4 /* index */
        end local 6 // java.lang.String relativePath
         7: .line 591
            goto 9
         8: .line 593
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resourcePathString */
            invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
         9: .line 595
      StackMap locals:
      StackMap stack:
            iload 4 /* index */
            iflt 27
        10: .line 596
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
            iload 4 /* index */
            iaload
            istore 6 /* idx */
        start local 6 // int idx
        11: .line 597
            iload 6 /* idx */
            iconst_m1
            if_icmpne 12
            aconst_null
            goto 13
      StackMap locals: int
      StackMap stack:
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            iload 6 /* idx */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
        13: astore 7 /* projectPath */
        start local 7 // java.lang.String projectPath
        14: .line 598
            aload 7 /* projectPath */
            ifnull 27
        15: .line 599
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 7 /* projectPath */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 8 /* project */
        start local 8 // org.eclipse.jdt.core.IJavaProject project
        16: .line 600
            iload 5 /* isJarFile */
            ifeq 21
        17: .line 601
            new org.eclipse.core.runtime.Path
            dup
            aload 3 /* jarPath */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getWorkspaceTarget:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 9 /* resource */
        start local 9 // org.eclipse.core.resources.IResource resource
        18: .line 602
            aload 9 /* resource */
            ifnull 20
        19: .line 603
            aload 8 /* project */
            aload 9 /* resource */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        20: .line 604
      StackMap locals: java.lang.String org.eclipse.jdt.core.IJavaProject org.eclipse.core.resources.IResource
      StackMap stack:
            aload 8 /* project */
            aload 3 /* jarPath */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 9 // org.eclipse.core.resources.IResource resource
        21: .line 606
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 4 /* index */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 4 /* index */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getWorkspaceTarget:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 9 /* target */
        start local 9 // java.lang.Object target
        22: .line 607
            aload 9 /* target */
            ifnull 27
        23: .line 608
            aload 9 /* target */
            instanceof org.eclipse.core.resources.IProject
            ifeq 25
        24: .line 609
            aload 8 /* project */
            aload 9 /* target */
            checkcast org.eclipse.core.resources.IProject
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        25: .line 611
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 9 /* target */
            checkcast org.eclipse.core.resources.IResource
            aload 8 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.create:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 10 /* element */
        start local 10 // org.eclipse.jdt.core.IJavaElement element
        26: .line 612
            aload 10 /* element */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            areturn
        end local 10 // org.eclipse.jdt.core.IJavaElement element
        end local 9 // java.lang.Object target
        end local 8 // org.eclipse.jdt.core.IJavaProject project
        end local 7 // java.lang.String projectPath
        end local 6 // int idx
        27: .line 616
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String int java.lang.String int int
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean isJarFile
        end local 4 // int index
        end local 3 // java.lang.String jarPath
        end local 2 // int jarSeparatorIndex
        end local 1 // java.lang.String resourcePathString
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            0   28     1  resourcePathString  Ljava/lang/String;
            0   28     2   jarSeparatorIndex  I
            0   28     3             jarPath  Ljava/lang/String;
            1   28     4               index  I
            4   28     5           isJarFile  Z
            6    7     6        relativePath  Ljava/lang/String;
           11   27     6                 idx  I
           14   27     7         projectPath  Ljava/lang/String;
           16   27     8             project  Lorg/eclipse/jdt/core/IJavaProject;
           18   21     9            resource  Lorg/eclipse/core/resources/IResource;
           22   27     9              target  Ljava/lang/Object;
           26   27    10             element  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
                    Name  Flags
      resourcePathString  
      jarSeparatorIndex   
      jarPath             

  private void rehash();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
         0: .line 620
            new org.eclipse.jdt.internal.core.search.JavaSearchScope
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
            iconst_2
            imul
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.excludeTestCode:Z
            invokespecial org.eclipse.jdt.internal.core.search.JavaSearchScope.<init>:(IZ)V
            astore 1 /* newScope */
        start local 1 // org.eclipse.jdt.internal.core.search.JavaSearchScope newScope
         1: .line 621
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.util.ArrayList.ensureCapacity:(I)V
         2: .line 623
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: goto 15
         5: .line 624
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.search.JavaSearchScope top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            dup
            astore 2 /* currentPath */
        start local 2 // java.lang.String currentPath
         6: ifnull 14
         7: .line 625
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
            iload 3 /* i */
            iaload
            istore 5 /* idx */
        start local 5 // int idx
         8: .line 626
            iload 5 /* idx */
            iconst_m1
            if_icmpne 9
            aconst_null
            goto 10
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String int int int
      StackMap stack:
         9: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            iload 5 /* idx */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
        10: astore 6 /* projectPath */
        start local 6 // java.lang.String projectPath
        11: .line 627
            aload 1 /* newScope */
            aload 6 /* projectPath */
            aload 2 /* currentPath */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
            iload 3 /* i */
            baload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            ifnonnull 12
            aconst_null
            goto 13
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String int int int java.lang.String
      StackMap stack: org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String java.lang.String java.lang.String int
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            iload 3 /* i */
            aaload
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String int int int java.lang.String
      StackMap stack: org.eclipse.jdt.internal.core.search.JavaSearchScope java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.env.AccessRuleSet
        13: invokevirtual org.eclipse.jdt.internal.core.search.JavaSearchScope.add:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
        end local 6 // java.lang.String projectPath
        end local 5 // int idx
        14: .line 623
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 2 // java.lang.String currentPath
      StackMap locals: org.eclipse.jdt.internal.core.search.JavaSearchScope org.eclipse.jdt.internal.core.search.JavaSearchScope top int int
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 5
        end local 4 // int length
        end local 3 // int i
        16: .line 630
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
        17: .line 631
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
        18: .line 632
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectPaths:Ljava/util/ArrayList;
        19: .line 633
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.projectIndexes:[I
        20: .line 634
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.isPkgPath:[Z
        21: .line 635
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathRestrictions:[Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
        22: .line 636
            aload 0 /* this */
            aload 1 /* newScope */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.threshold:I
            putfield org.eclipse.jdt.internal.core.search.JavaSearchScope.threshold:I
        23: .line 637
            return
        end local 1 // org.eclipse.jdt.internal.core.search.JavaSearchScope newScope
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            1   24     1     newScope  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            6   15     2  currentPath  Ljava/lang/String;
            3   16     3            i  I
            4   16     4       length  I
            8   14     5          idx  I
           11   14     6  projectPath  Ljava/lang/String;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
         0: .line 641
            new java.lang.StringBuffer
            dup
            ldc "JavaSearchScope on "
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         1: .line 642
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            ifnull 13
         2: .line 643
            aload 1 /* result */
            ldc "["
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 644
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* length */
        start local 3 // int length
         5: goto 10
         6: .line 645
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.elements:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 4 /* element */
        start local 4 // org.eclipse.jdt.internal.core.JavaElement element
         7: .line 646
            aload 1 /* result */
            ldc "\n\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 647
            aload 1 /* result */
            aload 4 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 4 // org.eclipse.jdt.internal.core.JavaElement element
         9: .line 644
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 6
        end local 3 // int length
        end local 2 // int i
        11: .line 649
            aload 1 /* result */
            ldc "\n]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 650
            goto 43
        13: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.pathsCount:I
            ifne 16
        14: .line 652
            aload 1 /* result */
            ldc "[empty scope]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 653
            goto 43
        16: .line 654
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ldc "["
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 655
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            arraylength
            anewarray java.lang.String
            astore 2 /* paths */
        start local 2 // java.lang.String[] paths
        18: .line 656
            iconst_0
            istore 3 /* index */
        start local 3 // int index
        19: .line 657
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        20: goto 33
        21: .line 658
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 5 /* path */
        start local 5 // java.lang.String path
        22: .line 659
            aload 5 /* path */
            ifnonnull 23
            goto 32
        23: .line 661
      StackMap locals: java.lang.String
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.isInternalPathForExternalFolder:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 27
        24: .line 662
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getWorkspaceTarget:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 7 /* target */
        start local 7 // java.lang.Object target
        25: .line 663
            aload 7 /* target */
            checkcast org.eclipse.core.resources.IFolder
            invokeinterface org.eclipse.core.resources.IFolder.getLocation:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            astore 6 /* containerPath */
        end local 7 // java.lang.Object target
        start local 6 // java.lang.String containerPath
        26: .line 664
            goto 28
        end local 6 // java.lang.String containerPath
        27: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.containerPaths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 6 /* containerPath */
        start local 6 // java.lang.String containerPath
        28: .line 667
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* path */
            invokevirtual java.lang.String.length:()I
            ifle 31
        29: .line 668
            aload 2 /* paths */
            iload 3 /* index */
            iinc 3 /* index */ 1
            new java.lang.StringBuilder
            dup
            aload 6 /* containerPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        30: .line 669
            goto 32
        31: .line 670
      StackMap locals:
      StackMap stack:
            aload 2 /* paths */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 6 /* containerPath */
            aastore
        end local 6 // java.lang.String containerPath
        end local 5 // java.lang.String path
        32: .line 657
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 4 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.JavaSearchScope.relativePaths:[Ljava/lang/String;
            arraylength
            if_icmplt 21
        end local 4 // int i
        34: .line 673
            aload 2 /* paths */
            iconst_0
            iload 3 /* index */
            anewarray java.lang.String
            dup
            astore 2 /* paths */
            iconst_0
            iload 3 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        35: .line 674
            aload 2 /* paths */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Ljava/lang/String;)V
        36: .line 675
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        37: goto 41
        38: .line 676
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ldc "\n\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        39: .line 677
            aload 1 /* result */
            aload 2 /* paths */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        40: .line 675
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 4 /* i */
            iload 3 /* index */
            if_icmplt 38
        end local 4 // int i
        42: .line 679
            aload 1 /* result */
            ldc "\n]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 3 // int index
        end local 2 // java.lang.String[] paths
        43: .line 682
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer result
        end local 0 // org.eclipse.jdt.internal.core.search.JavaSearchScope this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   44     0           this  Lorg/eclipse/jdt/internal/core/search/JavaSearchScope;
            1   44     1         result  Ljava/lang/StringBuffer;
            4   11     2              i  I
            5   11     3         length  I
            7    9     4        element  Lorg/eclipse/jdt/internal/core/JavaElement;
           18   43     2          paths  [Ljava/lang/String;
           19   43     3          index  I
           20   34     4              i  I
           22   32     5           path  Ljava/lang/String;
           26   27     6  containerPath  Ljava/lang/String;
           28   32     6  containerPath  Ljava/lang/String;
           25   26     7         target  Ljava/lang/Object;
           37   42     4              i  I
}
SourceFile: "JavaSearchScope.java"
InnerClasses:
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager