public class org.eclipse.jdt.internal.core.search.HierarchyScope extends org.eclipse.jdt.internal.core.search.AbstractSearchScope implements org.eclipse.jdt.internal.compiler.util.SuffixConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.HierarchyScope
  super_class: org.eclipse.jdt.internal.core.search.AbstractSearchScope
{
  public org.eclipse.jdt.core.IType focusType;
    descriptor: Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC

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

  private org.eclipse.jdt.core.WorkingCopyOwner owner;
    descriptor: Lorg/eclipse/jdt/core/WorkingCopyOwner;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.ITypeHierarchy hierarchy;
    descriptor: Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashSet resourcePaths;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE

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

  protected org.eclipse.core.resources.IResource[] elements;
    descriptor: [Lorg/eclipse/core/resources/IResource;
    flags: (0x0004) ACC_PROTECTED

  protected int elementCount;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

  private java.util.HashSet subTypes;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.IJavaProject javaProject;
    descriptor: Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void add(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.core.resources.IResource element
         0: .line 58
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
            arraylength
            if_icmpne 7
         1: .line 60
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
         2: .line 61
            iconst_0
         3: .line 62
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
            iconst_2
            imul
            anewarray org.eclipse.core.resources.IResource
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
         4: .line 63
            iconst_0
         5: .line 64
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
         6: .line 59
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
            aload 1 /* element */
            aastore
         8: .line 67
            return
        end local 1 // org.eclipse.core.resources.IResource element
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    9     1  element  Lorg/eclipse/core/resources/IResource;
    MethodParameters:
         Name  Flags
      element  

  public void <init>(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IType, org.eclipse.jdt.core.WorkingCopyOwner, boolean, boolean, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/WorkingCopyOwner;ZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.core.IType type
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 4 // boolean onlySubtypes
        start local 5 // boolean noMembersOrEnclosingTypes
        start local 6 // boolean includeFocusType
         0: .line 83
            aload 0 /* this */
            aload 2 /* type */
            aload 3 /* owner */
            invokespecial org.eclipse.jdt.internal.core.search.HierarchyScope.<init>:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
         1: .line 84
            aload 0 /* this */
            aload 1 /* project */
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.javaProject:Lorg/eclipse/jdt/core/IJavaProject;
         2: .line 85
            iload 4 /* onlySubtypes */
            ifeq 4
         3: .line 86
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
         4: .line 88
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IType org.eclipse.jdt.core.WorkingCopyOwner int int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* includeFocusType */
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.includeFocusType:Z
         5: .line 89
            aload 0 /* this */
            iload 5 /* noMembersOrEnclosingTypes */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.HierarchyScope
         6: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IType org.eclipse.jdt.core.WorkingCopyOwner int int int
      StackMap stack: org.eclipse.jdt.internal.core.search.HierarchyScope int
         7: putfield org.eclipse.jdt.internal.core.search.HierarchyScope.allowMemberAndEnclosingTypes:Z
         8: .line 90
            return
        end local 6 // boolean includeFocusType
        end local 5 // boolean noMembersOrEnclosingTypes
        end local 4 // boolean onlySubtypes
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // org.eclipse.jdt.core.IType type
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    9     0                       this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    9     1                    project  Lorg/eclipse/jdt/core/IJavaProject;
            0    9     2                       type  Lorg/eclipse/jdt/core/IType;
            0    9     3                      owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    9     4               onlySubtypes  Z
            0    9     5  noMembersOrEnclosingTypes  Z
            0    9     6           includeFocusType  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                           Name  Flags
      project                    
      type                       
      owner                      
      onlySubtypes               
      noMembersOrEnclosingTypes  
      includeFocusType           

  public void <init>(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 95
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.AbstractSearchScope.<init>:()V
         1: .line 49
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
         2: .line 50
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.javaProject:Lorg/eclipse/jdt/core/IJavaProject;
         3: .line 51
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.allowMemberAndEnclosingTypes:Z
         4: .line 52
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.includeFocusType:Z
         5: .line 96
            aload 0 /* this */
            aload 1 /* type */
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
         6: .line 97
            aload 0 /* this */
            aload 2 /* owner */
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.owner:Lorg/eclipse/jdt/core/WorkingCopyOwner;
         7: .line 99
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.computeProjectsAndJars:(Lorg/eclipse/jdt/core/IType;)[Lorg/eclipse/core/runtime/IPath;
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
         8: .line 102
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 3 /* root */
        start local 3 // org.eclipse.jdt.core.IPackageFragmentRoot root
         9: .line 103
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
            ifeq 40
        10: .line 104
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 4 /* jarPath */
        start local 4 // org.eclipse.core.runtime.IPath jarPath
        11: .line 105
            aload 4 /* jarPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 5 /* target */
        start local 5 // java.lang.Object target
        12: .line 107
            aload 5 /* target */
            instanceof org.eclipse.core.resources.IFile
            ifeq 15
        13: .line 109
            aload 4 /* jarPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 6 /* zipFileName */
        start local 6 // java.lang.String zipFileName
        14: .line 110
            goto 19
        end local 6 // java.lang.String zipFileName
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath java.lang.Object
      StackMap stack:
        15: aload 5 /* target */
            instanceof java.io.File
            ifeq 18
        16: .line 112
            aload 5 /* target */
            checkcast java.io.File
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 6 /* zipFileName */
        start local 6 // java.lang.String zipFileName
        17: .line 113
            goto 19
        end local 6 // java.lang.String zipFileName
        18: .line 114
      StackMap locals:
      StackMap stack:
            return
        start local 6 // java.lang.String zipFileName
        19: .line 116
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 7 /* md */
        start local 7 // org.eclipse.jdt.core.IModuleDescription md
        20: .line 117
            aload 7 /* md */
            ifnull 32
        21: .line 118
            aload 7 /* md */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            astore 8 /* module */
        start local 8 // java.lang.String module
        22: .line 119
            aload 0 /* this */
        23: .line 120
            new java.lang.StringBuilder
            dup
            aload 6 /* zipFileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 121
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 122
            aload 8 /* module */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 123
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 124
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 125
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 120
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 119
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusPath:Ljava/lang/String;
        end local 8 // java.lang.String module
        31: .line 126
            goto 41
        32: .line 127
      StackMap locals: org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 0 /* this */
        33: .line 128
            new java.lang.StringBuilder
            dup
            aload 6 /* zipFileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        34: .line 129
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 130
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 131
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 128
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 127
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusPath:Ljava/lang/String;
        end local 7 // org.eclipse.jdt.core.IModuleDescription md
        end local 6 // java.lang.String zipFileName
        end local 5 // java.lang.Object target
        end local 4 // org.eclipse.core.runtime.IPath jarPath
        39: .line 133
            goto 41
        40: .line 134
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusPath:Ljava/lang/String;
        41: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
        42: .line 141
            return
        end local 3 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   43     0         this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   43     1         type  Lorg/eclipse/jdt/core/IType;
            0   43     2        owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            9   43     3         root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           11   39     4      jarPath  Lorg/eclipse/core/runtime/IPath;
           12   39     5       target  Ljava/lang/Object;
           14   15     6  zipFileName  Ljava/lang/String;
           17   18     6  zipFileName  Ljava/lang/String;
           19   39     6  zipFileName  Ljava/lang/String;
           20   39     7           md  Lorg/eclipse/jdt/core/IModuleDescription;
           22   31     8       module  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      type   
      owner  

  private void buildResourceVector();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
         0: .line 143
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* resources */
        start local 1 // java.util.HashMap resources
         1: .line 144
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* paths */
        start local 2 // java.util.HashMap paths
         2: .line 145
            aconst_null
            astore 3 /* types */
        start local 3 // org.eclipse.jdt.core.IType[] types
         3: .line 146
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            ifnull 10
         4: .line 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.ITypeHierarchy.getAllSubtypes:(Lorg/eclipse/jdt/core/IType;)[Lorg/eclipse/jdt/core/IType;
            astore 3 /* types */
         5: .line 148
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.includeFocusType:Z
            ifeq 11
         6: .line 149
            aload 3 /* types */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         7: .line 150
            aload 3 /* types */
            iconst_0
            iload 4 /* len */
            iconst_1
            iadd
            anewarray org.eclipse.jdt.core.IType
            dup
            astore 3 /* types */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 151
            aload 3 /* types */
            iload 4 /* len */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            aastore
        end local 4 // int len
         9: .line 153
            goto 11
        10: .line 154
      StackMap locals: java.util.HashMap java.util.HashMap org.eclipse.jdt.core.IType[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            invokeinterface org.eclipse.jdt.core.ITypeHierarchy.getAllTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 3 /* types */
        11: .line 156
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 54
        13: .line 157
      StackMap locals: int
      StackMap stack:
            aload 3 /* types */
            iload 4 /* i */
            aaload
            astore 5 /* type */
        start local 5 // org.eclipse.jdt.core.IType type
        14: .line 158
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            ifnull 16
        15: .line 160
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            aload 5 /* type */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        16: .line 162
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 5 /* type */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            astore 6 /* resource */
        start local 6 // org.eclipse.core.resources.IResource resource
        17: .line 163
            aload 6 /* resource */
            ifnull 20
            aload 1 /* resources */
            aload 6 /* resource */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 20
        18: .line 164
            aload 1 /* resources */
            aload 6 /* resource */
            aload 6 /* resource */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 165
            aload 0 /* this */
            aload 6 /* resource */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.add:(Lorg/eclipse/core/resources/IResource;)V
        20: .line 168
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
            aload 5 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
        21: .line 167
            astore 7 /* root */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot root
        22: .line 169
            aload 7 /* root */
            instanceof org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            ifeq 52
        23: .line 171
            aload 7 /* root */
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            astore 8 /* jar */
        start local 8 // org.eclipse.jdt.internal.core.JarPackageFragmentRoot jar
        24: .line 172
            aload 8 /* jar */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 9 /* jarPath */
        start local 9 // org.eclipse.core.runtime.IPath jarPath
        25: .line 173
            aload 9 /* jarPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 10 /* target */
        start local 10 // java.lang.Object target
        26: .line 175
            aload 10 /* target */
            instanceof org.eclipse.core.resources.IFile
            ifeq 29
        27: .line 177
            aload 9 /* jarPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 11 /* zipFileName */
        start local 11 // java.lang.String zipFileName
        28: .line 178
            goto 31
        end local 11 // java.lang.String zipFileName
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope java.util.HashMap java.util.HashMap org.eclipse.jdt.core.IType[] int org.eclipse.jdt.core.IType org.eclipse.core.resources.IResource org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath java.lang.Object
      StackMap stack:
        29: aload 10 /* target */
            instanceof java.io.File
            ifeq 53
        30: .line 180
            aload 10 /* target */
            checkcast java.io.File
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 11 /* zipFileName */
        start local 11 // java.lang.String zipFileName
        31: .line 185
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 13 /* md */
        start local 13 // org.eclipse.jdt.core.IModuleDescription md
        32: .line 186
            aload 13 /* md */
            ifnull 43
        33: .line 187
            aload 13 /* md */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            astore 14 /* module */
        start local 14 // java.lang.String module
        34: .line 189
            new java.lang.StringBuilder
            dup
            aload 11 /* zipFileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 190
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 191
            aload 14 /* module */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 192
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 193
            aload 5 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 194
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 189
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 188
            astore 12 /* resourcePath */
        end local 14 // java.lang.String module
        start local 12 // java.lang.String resourcePath
        42: .line 195
            goto 49
        end local 12 // java.lang.String resourcePath
        43: .line 197
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope java.util.HashMap java.util.HashMap org.eclipse.jdt.core.IType[] int org.eclipse.jdt.core.IType org.eclipse.core.resources.IResource org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath java.lang.Object java.lang.String top org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 11 /* zipFileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 198
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 199
            aload 5 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 200
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 197
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 196
            astore 12 /* resourcePath */
        start local 12 // java.lang.String resourcePath
        49: .line 202
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope java.util.HashMap java.util.HashMap org.eclipse.jdt.core.IType[] int org.eclipse.jdt.core.IType org.eclipse.core.resources.IResource org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath java.lang.Object java.lang.String java.lang.String org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.resourcePaths:Ljava/util/HashSet;
            aload 12 /* resourcePath */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        50: .line 203
            aload 2 /* paths */
            aload 9 /* jarPath */
            aload 5 /* type */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // org.eclipse.jdt.core.IModuleDescription md
        end local 12 // java.lang.String resourcePath
        end local 11 // java.lang.String zipFileName
        end local 10 // java.lang.Object target
        end local 9 // org.eclipse.core.runtime.IPath jarPath
        end local 8 // org.eclipse.jdt.internal.core.JarPackageFragmentRoot jar
        51: .line 204
            goto 53
        52: .line 206
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope java.util.HashMap java.util.HashMap org.eclipse.jdt.core.IType[] int org.eclipse.jdt.core.IType org.eclipse.core.resources.IResource org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 2 /* paths */
            aload 5 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/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;
            aload 5 /* type */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 6 // org.eclipse.core.resources.IResource resource
        end local 5 // org.eclipse.jdt.core.IType type
        53: .line 156
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 4 /* i */
            aload 3 /* types */
            arraylength
            if_icmplt 13
        end local 4 // int i
        55: .line 209
            aload 0 /* this */
            aload 2 /* paths */
            invokevirtual java.util.HashMap.size:()I
            anewarray org.eclipse.core.runtime.IPath
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
        56: .line 210
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        57: .line 211
            aload 2 /* paths */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
        58: goto 60
        59: .line 212
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            iload 4 /* i */
            iinc 4 /* i */ 1
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            aastore
        60: .line 211
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 59
        end local 5 // java.util.Iterator iter
        61: .line 214
            return
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IType[] types
        end local 2 // java.util.HashMap paths
        end local 1 // java.util.HashMap resources
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   62     0          this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            1   62     1     resources  Ljava/util/HashMap;
            2   62     2         paths  Ljava/util/HashMap;
            3   62     3         types  [Lorg/eclipse/jdt/core/IType;
            7    9     4           len  I
           12   55     4             i  I
           14   53     5          type  Lorg/eclipse/jdt/core/IType;
           17   53     6      resource  Lorg/eclipse/core/resources/IResource;
           22   53     7          root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           24   51     8           jar  Lorg/eclipse/jdt/internal/core/JarPackageFragmentRoot;
           25   51     9       jarPath  Lorg/eclipse/core/runtime/IPath;
           26   51    10        target  Ljava/lang/Object;
           28   29    11   zipFileName  Ljava/lang/String;
           31   51    11   zipFileName  Ljava/lang/String;
           42   43    12  resourcePath  Ljava/lang/String;
           49   51    12  resourcePath  Ljava/lang/String;
           32   51    13            md  Lorg/eclipse/jdt/core/IModuleDescription;
           34   42    14        module  Ljava/lang/String;
           57   62     4             i  I
           58   61     5          iter  Ljava/util/Iterator;

  private org.eclipse.core.runtime.IPath[] computeProjectsAndJars(org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IType;)[Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IType type
         0: .line 220
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* set */
        start local 2 // java.util.HashSet set
         1: .line 221
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 3 /* root */
        start local 3 // org.eclipse.jdt.core.IPackageFragmentRoot root
         2: .line 222
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
            ifeq 26
         3: .line 224
            aload 2 /* set */
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 226
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 4 /* rootPath */
        start local 4 // org.eclipse.core.runtime.IPath rootPath
         5: .line 227
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            astore 5 /* model */
        start local 5 // org.eclipse.jdt.core.IJavaModel model
         6: .line 228
            aload 5 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* projects */
        start local 6 // org.eclipse.jdt.core.IJavaProject[] projects
         7: .line 229
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* visited */
        start local 7 // java.util.HashSet visited
         8: .line 230
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 24
        10: .line 231
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType java.util.HashSet org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] java.util.HashSet int
      StackMap stack:
            aload 6 /* projects */
            iload 8 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 9 /* project */
        start local 9 // org.eclipse.jdt.internal.core.JavaProject project
        11: .line 232
            aload 9 /* project */
            aload 4 /* rootPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getClasspathEntryFor:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* entry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        12: .line 233
            aload 10 /* entry */
            ifnull 23
        13: .line 235
            aload 9 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 11 /* roots */
        start local 11 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        14: .line 236
            aload 2 /* set */
            aload 9 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        15: .line 237
            iconst_0
            istore 12 /* k */
        start local 12 // int k
        16: goto 21
        17: .line 238
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType java.util.HashSet org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] java.util.HashSet int org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 11 /* roots */
            iload 12 /* k */
            aaload
            astore 13 /* pkgFragmentRoot */
        start local 13 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        18: .line 239
            aload 13 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getKind:()I
            iconst_2
            if_icmpne 20
        19: .line 240
            aload 2 /* set */
            aload 13 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        20: .line 237
      StackMap locals:
      StackMap stack:
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        21: iload 12 /* k */
            aload 11 /* roots */
            arraylength
            if_icmplt 17
        end local 12 // int k
        22: .line 244
            aload 0 /* this */
            aload 9 /* project */
            aload 2 /* set */
            aload 7 /* visited */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.computeDependents:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/HashSet;Ljava/util/HashSet;)V
        end local 11 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 9 // org.eclipse.jdt.internal.core.JavaProject project
        23: .line 230
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType java.util.HashSet org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] java.util.HashSet int
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            aload 6 /* projects */
            arraylength
            if_icmplt 10
        end local 8 // int i
        end local 7 // java.util.HashSet visited
        end local 6 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 5 // org.eclipse.jdt.core.IJavaModel model
        end local 4 // org.eclipse.core.runtime.IPath rootPath
        25: .line 247
            goto 38
        26: .line 249
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType java.util.HashSet org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 3 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IJavaProject
            astore 4 /* project */
        start local 4 // org.eclipse.jdt.core.IJavaProject project
        27: .line 250
            aload 4 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getAllPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 5 /* roots */
        start local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        28: .line 251
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        29: goto 36
        30: .line 252
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 5 /* roots */
            iload 6 /* i */
            aaload
            astore 7 /* pkgFragmentRoot */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        31: .line 253
            aload 7 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getKind:()I
            iconst_2
            if_icmpne 34
        32: .line 254
            aload 2 /* set */
            aload 7 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        33: .line 255
            goto 35
        34: .line 256
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 2 /* set */
            aload 7 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        35: .line 251
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            aload 5 /* roots */
            arraylength
            if_icmplt 30
        end local 6 // int i
        37: .line 260
            aload 0 /* this */
            aload 4 /* project */
            aload 2 /* set */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.computeDependents:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/HashSet;Ljava/util/HashSet;)V
        end local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 4 // org.eclipse.jdt.core.IJavaProject project
        38: .line 262
      StackMap locals:
      StackMap stack:
            aload 2 /* set */
            invokevirtual java.util.HashSet.size:()I
            anewarray org.eclipse.core.runtime.IPath
            astore 4 /* result */
        start local 4 // org.eclipse.core.runtime.IPath[] result
        39: .line 263
            aload 2 /* set */
            aload 4 /* result */
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        40: .line 264
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.core.runtime.IPath[] result
        end local 3 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 2 // java.util.HashSet set
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   41     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   41     1             type  Lorg/eclipse/jdt/core/IType;
            1   41     2              set  Ljava/util/HashSet;
            2   41     3             root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            5   25     4         rootPath  Lorg/eclipse/core/runtime/IPath;
            6   25     5            model  Lorg/eclipse/jdt/core/IJavaModel;
            7   25     6         projects  [Lorg/eclipse/jdt/core/IJavaProject;
            8   25     7          visited  Ljava/util/HashSet;
            9   25     8                i  I
           11   23     9          project  Lorg/eclipse/jdt/internal/core/JavaProject;
           12   23    10            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           14   23    11            roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           16   22    12                k  I
           18   20    13  pkgFragmentRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           27   38     4          project  Lorg/eclipse/jdt/core/IJavaProject;
           28   38     5            roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           29   37     6                i  I
           31   35     7  pkgFragmentRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           39   41     4           result  [Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      type  

  private void computeDependents(org.eclipse.jdt.core.IJavaProject, java.util.HashSet, java.util.HashSet);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/HashSet;Ljava/util/HashSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // java.util.HashSet set
        start local 3 // java.util.HashSet visited
         0: .line 267
            aload 3 /* visited */
            aload 1 /* project */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 1
            return
         1: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* visited */
            aload 1 /* project */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 269
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getReferencingProjects:()[Lorg/eclipse/core/resources/IProject;
            astore 4 /* dependents */
        start local 4 // org.eclipse.core.resources.IProject[] dependents
         3: .line 270
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 19
         5: .line 272
      StackMap locals: org.eclipse.core.resources.IProject[] int
      StackMap stack:
            aload 4 /* dependents */
            iload 5 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* dependent */
        start local 6 // org.eclipse.jdt.core.IJavaProject dependent
         6: .line 273
            aload 6 /* dependent */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 7 /* roots */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
         7: .line 274
            aload 2 /* set */
            aload 6 /* dependent */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 275
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         9: goto 14
        10: .line 276
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 7 /* roots */
            iload 8 /* j */
            aaload
            astore 9 /* pkgFragmentRoot */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        11: .line 277
            aload 9 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
            ifeq 13
        12: .line 278
            aload 2 /* set */
            aload 9 /* pkgFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot pkgFragmentRoot
        13: .line 275
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* j */
            aload 7 /* roots */
            arraylength
            if_icmplt 10
        end local 8 // int j
        15: .line 281
            aload 0 /* this */
            aload 6 /* dependent */
            aload 2 /* set */
            aload 3 /* visited */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.computeDependents:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/HashSet;Ljava/util/HashSet;)V
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 6 // org.eclipse.jdt.core.IJavaProject dependent
        16: .line 282
            goto 18
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IJavaProject java.util.HashSet java.util.HashSet org.eclipse.core.resources.IProject[] int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        17: pop
        18: .line 270
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 4 /* dependents */
            arraylength
            if_icmplt 5
        end local 5 // int i
        20: .line 286
            return
        end local 4 // org.eclipse.core.resources.IProject[] dependents
        end local 3 // java.util.HashSet visited
        end local 2 // java.util.HashSet set
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   21     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            0   21     2              set  Ljava/util/HashSet;
            0   21     3          visited  Ljava/util/HashSet;
            3   21     4       dependents  [Lorg/eclipse/core/resources/IProject;
            4   20     5                i  I
            6   16     6        dependent  Lorg/eclipse/jdt/core/IJavaProject;
            7   16     7            roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            9   15     8                j  I
           11   13     9  pkgFragmentRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
      Exception table:
        from    to  target  type
           5    16      17  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      set      
      visited  

  public boolean encloses(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // java.lang.String resourcePath
         0: .line 290
            aload 0 /* this */
            aload 1 /* resourcePath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.encloses:(Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
            ireturn
        end local 1 // java.lang.String resourcePath
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    1     1  resourcePath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      resourcePath  

  public boolean encloses(java.lang.String, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // java.lang.String resourcePath
        start local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 293
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            ifnonnull 9
         1: .line 294
            aload 1 /* resourcePath */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusPath:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 295
            iconst_1
            ireturn
         3: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 8
         4: .line 299
            aload 0 /* this */
            aload 2 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.initialize:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         5: .line 300
            goto 9
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         6: pop
         7: .line 301
            iconst_0
            ireturn
         8: .line 306
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 14
        10: .line 312
            aload 0 /* this */
            aload 2 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.refresh:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        11: .line 313
            goto 14
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        12: pop
        13: .line 314
            iconst_0
            ireturn
        14: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* resourcePath */
            ldc "|"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* separatorIndex */
        start local 3 // int separatorIndex
        15: .line 318
            iload 3 /* separatorIndex */
            iconst_m1
            if_icmpeq 17
        16: .line 319
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.resourcePaths:Ljava/util/HashSet;
            aload 1 /* resourcePath */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ireturn
        17: .line 321
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 22
        19: .line 322
      StackMap locals: int
      StackMap stack:
            aload 1 /* resourcePath */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 323
            iconst_1
            ireturn
        21: .line 321
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
            if_icmplt 19
        end local 4 // int i
        23: .line 327
            iconst_0
            ireturn
        end local 3 // int separatorIndex
        end local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 1 // java.lang.String resourcePath
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   24     1     resourcePath  Ljava/lang/String;
            0   24     2  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           15   24     3   separatorIndex  I
           18   23     4                i  I
      Exception table:
        from    to  target  type
           4     5       6  Class org.eclipse.jdt.core.JavaModelException
          10    11      12  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      resourcePath     
      progressMonitor  

  public boolean enclosesFineGrained(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 337
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            ifnonnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.allowMemberAndEnclosingTypes:Z
            ifeq 2
         1: .line 338
            iconst_1
            ireturn
         2: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.encloses:(Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
            ireturn
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    3     1  element  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
         Name  Flags
      element  

  public boolean encloses(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 344
            aload 0 /* this */
            aload 1 /* element */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.encloses:(Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
            ireturn
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    1     1  element  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
         Name  Flags
      element  

  public boolean encloses(org.eclipse.jdt.core.IJavaElement, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
        start local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 347
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            ifnonnull 9
         1: .line 348
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.includeFocusType:Z
            ifeq 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            aload 1 /* element */
            bipush 7
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 349
            iconst_1
            ireturn
         3: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 8
         4: .line 353
            aload 0 /* this */
            aload 2 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.initialize:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         5: .line 354
            goto 9
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         6: pop
         7: .line 355
            iconst_0
            ireturn
         8: .line 360
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 14
        10: .line 366
            aload 0 /* this */
            aload 2 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.refresh:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        11: .line 367
            goto 14
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        12: pop
        13: .line 368
            iconst_0
            ireturn
        14: .line 371
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* type */
        start local 3 // org.eclipse.jdt.core.IType type
        15: .line 372
            aload 1 /* element */
            instanceof org.eclipse.jdt.core.IType
            ifeq 18
        16: .line 373
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IType
            astore 3 /* type */
        17: .line 374
            goto 20
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
        18: aload 1 /* element */
            instanceof org.eclipse.jdt.core.IMember
            ifeq 20
        19: .line 375
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IMember
            invokeinterface org.eclipse.jdt.core.IMember.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 3 /* type */
        20: .line 377
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            ifnull 32
        21: .line 378
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            aload 3 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 379
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.includeFocusType:Z
            ireturn
        23: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* type */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.allowMemberAndEnclosingTypes:Z
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.enclosesType:(Lorg/eclipse/jdt/core/IType;Z)Z
            ifeq 25
        24: .line 382
            iconst_1
            ireturn
        25: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.allowMemberAndEnclosingTypes:Z
            ifeq 32
        26: .line 386
            aload 3 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 4 /* enclosing */
        start local 4 // org.eclipse.jdt.core.IType enclosing
        27: .line 387
            goto 31
        28: .line 389
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 0 /* this */
            aload 4 /* enclosing */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.enclosesType:(Lorg/eclipse/jdt/core/IType;Z)Z
            ifeq 30
        29: .line 390
            iconst_1
            ireturn
        30: .line 392
      StackMap locals:
      StackMap stack:
            aload 4 /* enclosing */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 4 /* enclosing */
        31: .line 387
      StackMap locals:
      StackMap stack:
            aload 4 /* enclosing */
            ifnonnull 28
        end local 4 // org.eclipse.jdt.core.IType enclosing
        32: .line 396
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.core.IType type
        end local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   33     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   33     1          element  Lorg/eclipse/jdt/core/IJavaElement;
            0   33     2  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           15   33     3             type  Lorg/eclipse/jdt/core/IType;
           27   32     4        enclosing  Lorg/eclipse/jdt/core/IType;
      Exception table:
        from    to  target  type
           4     5       6  Class org.eclipse.jdt.core.JavaModelException
          10    11      12  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      element          
      progressMonitor  

  private boolean enclosesType(org.eclipse.jdt.core.IType, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IType;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // boolean recurse
         0: .line 399
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            ifnull 8
         1: .line 401
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            aload 1 /* type */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 402
            iconst_1
            ireturn
         3: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPrimaryElement:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IType
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IType
         5: astore 3 /* original */
        start local 3 // org.eclipse.jdt.core.IType original
         6: .line 406
            aload 3 /* original */
            aload 1 /* type */
            if_acmpeq 15
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.subTypes:Ljava/util/HashSet;
            aload 3 /* original */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
         7: .line 407
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.core.IType original
         8: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.ITypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 10
         9: .line 411
            iconst_1
            ireturn
        10: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifne 15
        11: .line 416
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPrimaryElement:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IType
            dup
            astore 3 /* original */
        start local 3 // org.eclipse.jdt.core.IType original
        12: ifnull 15
        13: .line 417
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            aload 3 /* original */
            invokeinterface org.eclipse.jdt.core.ITypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 15
        14: .line 418
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.core.IType original
        15: .line 423
      StackMap locals:
      StackMap stack:
            iload 2 /* recurse */
            ifeq 26
        16: .line 426
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 3 /* memberTypes */
        start local 3 // org.eclipse.jdt.core.IType[] memberTypes
        17: .line 427
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 22
        19: .line 428
      StackMap locals: org.eclipse.jdt.core.IType[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* memberTypes */
            iload 4 /* i */
            aaload
            iload 2 /* recurse */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.enclosesType:(Lorg/eclipse/jdt/core/IType;Z)Z
            ifeq 21
        20: .line 429
            iconst_1
            ireturn
        21: .line 427
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* memberTypes */
            arraylength
            if_icmplt 19
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IType[] memberTypes
        23: .line 432
            goto 26
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IType int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        24: pop
        25: .line 433
            iconst_0
            ireturn
        26: .line 436
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean recurse
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   27     1         type  Lorg/eclipse/jdt/core/IType;
            0   27     2      recurse  Z
            6    8     3     original  Lorg/eclipse/jdt/core/IType;
           12   15     3     original  Lorg/eclipse/jdt/core/IType;
           17   23     3  memberTypes  [Lorg/eclipse/jdt/core/IType;
           18   23     4            i  I
      Exception table:
        from    to  target  type
          16    20      24  Class org.eclipse.jdt.core.JavaModelException
          21    23      24  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      type     
      recurse  

  public org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars();
    descriptor: ()[Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
         0: .line 444
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 5
         1: .line 446
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.refresh:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 447
            goto 5
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         3: pop
         4: .line 448
            iconst_0
            anewarray org.eclipse.core.runtime.IPath
            areturn
         5: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.enclosingProjectsAndJars:[Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
      Exception table:
        from    to  target  type
           1     2       3  Class org.eclipse.jdt.core.JavaModelException

  protected void initialize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
         0: .line 454
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.initialize:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 455
            return
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected void initialize(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 457
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.resourcePaths:Ljava/util/HashSet;
         1: .line 458
            aload 0 /* this */
            iconst_5
            anewarray org.eclipse.core.resources.IResource
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.elements:[Lorg/eclipse/core/resources/IResource;
         2: .line 459
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.elementCount:I
         3: .line 460
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
         4: .line 461
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            ifnonnull 10
         5: .line 462
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.javaProject:Lorg/eclipse/jdt/core/IJavaProject;
            ifnull 8
         6: .line 463
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.javaProject:Lorg/eclipse/jdt/core/IJavaProject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.owner:Lorg/eclipse/jdt/core/WorkingCopyOwner;
            aload 1 /* progressMonitor */
            invokeinterface org.eclipse.jdt.core.IType.newTypeHierarchy:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
         7: .line 464
            goto 11
         8: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.owner:Lorg/eclipse/jdt/core/WorkingCopyOwner;
            aload 1 /* progressMonitor */
            invokeinterface org.eclipse.jdt.core.IType.newTypeHierarchy:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            putfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
         9: .line 467
            goto 11
        10: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            aload 1 /* progressMonitor */
            invokeinterface org.eclipse.jdt.core.ITypeHierarchy.refresh:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        11: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.buildResourceVector:()V
        12: .line 471
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0   13     1  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      progressMonitor  

  public void processDelta(org.eclipse.jdt.core.IJavaElementDelta, int);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElementDelta;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
        start local 2 // int eventType
         0: .line 475
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
            ifeq 1
            return
         1: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.HierarchyScope
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            checkcast org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy
            aload 1 /* delta */
            iload 2 /* eventType */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffected:(Lorg/eclipse/jdt/core/IJavaElementDelta;I)Z
      StackMap locals: org.eclipse.jdt.internal.core.search.HierarchyScope org.eclipse.jdt.core.IJavaElementDelta int
      StackMap stack: org.eclipse.jdt.internal.core.search.HierarchyScope int
         3: putfield org.eclipse.jdt.internal.core.search.HierarchyScope.needsRefresh:Z
         4: .line 477
            return
        end local 2 // int eventType
        end local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    5     1      delta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            0    5     2  eventType  I
    MethodParameters:
           Name  Flags
      delta      
      eventType  

  protected void refresh();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
         0: .line 479
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.refresh:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 480
            return
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected void refresh(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 482
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.hierarchy:Lorg/eclipse/jdt/core/ITypeHierarchy;
            ifnull 2
         1: .line 483
            aload 0 /* this */
            aload 1 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.HierarchyScope.initialize:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
            0    3     1  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      progressMonitor  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
         0: .line 488
            new java.lang.StringBuilder
            dup
            ldc "HierarchyScope on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.HierarchyScope.focusType:Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.HierarchyScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/HierarchyScope;
}
SourceFile: "HierarchyScope.java"