class org.eclipse.jdt.internal.core.JarPackageFragment extends org.eclipse.jdt.internal.core.PackageFragment
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JarPackageFragment
  super_class: org.eclipse.jdt.internal.core.PackageFragment
{
  protected void <init>(org.eclipse.jdt.internal.core.PackageFragmentRoot, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
        start local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        start local 2 // java.lang.String[] names
         0: .line 45
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* names */
            invokespecial org.eclipse.jdt.internal.core.PackageFragment.<init>:(Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;[Ljava/lang/String;)V
         1: .line 46
            return
        end local 2 // java.lang.String[] names
        end local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            0    2     1   root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            0    2     2  names  [Ljava/lang/String;
    MethodParameters:
       Name  Flags
      root   
      names  

  protected boolean buildStructure(org.eclipse.jdt.internal.core.OpenableElementInfo, org.eclipse.core.runtime.IProgressMonitor, java.util.Map, org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/jdt/internal/core/OpenableElementInfo;Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/util/Map;Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
        start local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        start local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        start local 3 // java.util.Map newElements
        start local 4 // org.eclipse.core.resources.IResource underlyingResource
         0: .line 52
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            astore 5 /* root */
        start local 5 // org.eclipse.jdt.internal.core.JarPackageFragmentRoot root
         1: .line 53
            aload 5 /* root */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentRootInfo
            astore 6 /* parentInfo */
        start local 6 // org.eclipse.jdt.internal.core.JarPackageFragmentRootInfo parentInfo
         2: .line 54
            aload 6 /* parentInfo */
            getfield org.eclipse.jdt.internal.core.JarPackageFragmentRootInfo.rawPackageInfo:Lorg/eclipse/jdt/internal/core/util/HashtableOfArrayToObject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JarPackageFragment.names:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject.get:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList[]
            astore 7 /* entries */
        start local 7 // java.util.ArrayList[] entries
         3: .line 55
            aload 7 /* entries */
            ifnonnull 5
         4: .line 56
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.newNotPresentException:()Lorg/eclipse/jdt/core/JavaModelException;
            athrow
         5: .line 57
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.jdt.internal.core.JarPackageFragmentRootInfo java.util.ArrayList[]
      StackMap stack:
            aload 1 /* info */
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentInfo
            astore 8 /* fragInfo */
        start local 8 // org.eclipse.jdt.internal.core.JarPackageFragmentInfo fragInfo
         6: .line 60
            aload 8 /* fragInfo */
            aload 0 /* this */
            aload 7 /* entries */
            iconst_0
            aaload
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.computeChildren:(Ljava/util/ArrayList;)[Lorg/eclipse/jdt/core/IJavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentInfo.setChildren:([Lorg/eclipse/jdt/core/IJavaElement;)V
         7: .line 63
            aload 8 /* fragInfo */
            aload 0 /* this */
            aload 7 /* entries */
            iconst_1
            aaload
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.computeNonJavaResources:(Ljava/util/ArrayList;)[Ljava/lang/Object;
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentInfo.setNonJavaResources:([Ljava/lang/Object;)V
         8: .line 65
            aload 3 /* newElements */
            aload 0 /* this */
            aload 8 /* fragInfo */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 66
            iconst_1
            ireturn
        end local 8 // org.eclipse.jdt.internal.core.JarPackageFragmentInfo fragInfo
        end local 7 // java.util.ArrayList[] entries
        end local 6 // org.eclipse.jdt.internal.core.JarPackageFragmentRootInfo parentInfo
        end local 5 // org.eclipse.jdt.internal.core.JarPackageFragmentRoot root
        end local 4 // org.eclipse.core.resources.IResource underlyingResource
        end local 3 // java.util.Map newElements
        end local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        end local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            0   10     1                info  Lorg/eclipse/jdt/internal/core/OpenableElementInfo;
            0   10     2                  pm  Lorg/eclipse/core/runtime/IProgressMonitor;
            0   10     3         newElements  Ljava/util/Map;
            0   10     4  underlyingResource  Lorg/eclipse/core/resources/IResource;
            1   10     5                root  Lorg/eclipse/jdt/internal/core/JarPackageFragmentRoot;
            2   10     6          parentInfo  Lorg/eclipse/jdt/internal/core/JarPackageFragmentRootInfo;
            3   10     7             entries  [Ljava/util/ArrayList;
            6   10     8            fragInfo  Lorg/eclipse/jdt/internal/core/JarPackageFragmentInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      info                
      pm                  
      newElements         
      underlyingResource  

  private org.eclipse.jdt.core.IJavaElement[] computeChildren(java.util.ArrayList);
    descriptor: (Ljava/util/ArrayList;)[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
        start local 1 // java.util.ArrayList namesWithoutExtension
         0: .line 73
            aload 1 /* namesWithoutExtension */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 74
            iload 2 /* size */
            ifne 3
         2: .line 75
            getstatic org.eclipse.jdt.internal.core.JarPackageFragment.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
         3: .line 76
      StackMap locals: int
      StackMap stack:
            iload 2 /* size */
            anewarray org.eclipse.jdt.core.IJavaElement
            astore 3 /* children */
        start local 3 // org.eclipse.jdt.core.IJavaElement[] children
         4: .line 77
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 78
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 1 /* namesWithoutExtension */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* nameWithoutExtension */
        start local 5 // java.lang.String nameWithoutExtension
         7: .line 79
            ldc "module-info"
            aload 5 /* nameWithoutExtension */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 80
            aload 3 /* children */
            iload 4 /* i */
            new org.eclipse.jdt.internal.core.ModularClassFile
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.ModularClassFile.<init>:(Lorg/eclipse/jdt/internal/core/PackageFragment;)V
            aastore
            goto 10
         9: .line 82
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* children */
            iload 4 /* i */
            new org.eclipse.jdt.internal.core.ClassFile
            dup
            aload 0 /* this */
            aload 5 /* nameWithoutExtension */
            invokespecial org.eclipse.jdt.internal.core.ClassFile.<init>:(Lorg/eclipse/jdt/internal/core/PackageFragment;Ljava/lang/String;)V
            aastore
        end local 5 // java.lang.String nameWithoutExtension
        10: .line 77
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 4 // int i
        12: .line 84
            aload 3 /* children */
            areturn
        end local 3 // org.eclipse.jdt.core.IJavaElement[] children
        end local 2 // int size
        end local 1 // java.util.ArrayList namesWithoutExtension
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            0   13     1  namesWithoutExtension  Ljava/util/ArrayList;
            1   13     2                   size  I
            4   13     3               children  [Lorg/eclipse/jdt/core/IJavaElement;
            5   12     4                      i  I
            7   10     5   nameWithoutExtension  Ljava/lang/String;
    MethodParameters:
                       Name  Flags
      namesWithoutExtension  

  private java.lang.Object[] computeNonJavaResources(java.util.ArrayList);
    descriptor: (Ljava/util/ArrayList;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
        start local 1 // java.util.ArrayList entryNames
         0: .line 90
            aload 1 /* entryNames */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 91
            iload 2 /* length */
            ifne 3
         2: .line 92
            getstatic org.eclipse.jdt.internal.core.JavaElementInfo.NO_NON_JAVA_RESOURCES:[Ljava/lang/Object;
            areturn
         3: .line 93
      StackMap locals: int
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* jarEntries */
        start local 3 // java.util.HashMap jarEntries
         4: .line 94
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* childrenMap */
        start local 4 // java.util.HashMap childrenMap
         5: .line 95
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* topJarEntries */
        start local 5 // java.util.ArrayList topJarEntries
         6: .line 96
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 38
         8: .line 97
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragment java.util.ArrayList int java.util.HashMap java.util.HashMap java.util.ArrayList int
      StackMap stack:
            aload 1 /* entryNames */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* resName */
        start local 7 // java.lang.String resName
         9: .line 99
            aload 7 /* resName */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifne 37
        10: .line 100
            new org.eclipse.core.runtime.Path
            dup
            aload 7 /* resName */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 8 /* filePath */
        start local 8 // org.eclipse.core.runtime.IPath filePath
        11: .line 101
            aload 8 /* filePath */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JarPackageFragment.names:[Ljava/lang/String;
            arraylength
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 9 /* childPath */
        start local 9 // org.eclipse.core.runtime.IPath childPath
        12: .line 102
            aload 3 /* jarEntries */
            aload 9 /* childPath */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 104
            goto 37
        14: .line 106
      StackMap locals: java.lang.String org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath
      StackMap stack:
            new org.eclipse.jdt.internal.core.JarEntryFile
            dup
            aload 8 /* filePath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JarEntryFile.<init>:(Ljava/lang/String;)V
            astore 10 /* file */
        start local 10 // org.eclipse.jdt.internal.core.JarEntryFile file
        15: .line 107
            aload 3 /* jarEntries */
            aload 9 /* childPath */
            aload 10 /* file */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 108
            aload 9 /* childPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmpne 20
        17: .line 109
            aload 10 /* file */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarEntryFile.setParent:(Ljava/lang/Object;)V
        18: .line 110
            aload 5 /* topJarEntries */
            aload 10 /* file */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 111
            goto 37
        20: .line 112
      StackMap locals: org.eclipse.jdt.internal.core.JarEntryFile
      StackMap stack:
            aload 9 /* childPath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 11 /* parentPath */
        start local 11 // org.eclipse.core.runtime.IPath parentPath
        21: .line 113
            goto 36
        22: .line 114
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 4 /* childrenMap */
            aload 11 /* parentPath */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 12 /* parentChildren */
        start local 12 // java.util.ArrayList parentChildren
        23: .line 115
            aload 12 /* parentChildren */
            ifnonnull 34
        24: .line 116
            new org.eclipse.jdt.internal.core.JarEntryDirectory
            dup
            aload 11 /* parentPath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JarEntryDirectory.<init>:(Ljava/lang/String;)V
            astore 13 /* dir */
        start local 13 // java.lang.Object dir
        25: .line 117
            aload 3 /* jarEntries */
            aload 11 /* parentPath */
            aload 13 /* dir */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 118
            aload 4 /* childrenMap */
            aload 11 /* parentPath */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            dup
            astore 12 /* parentChildren */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 119
            aload 12 /* parentChildren */
            aload 9 /* childPath */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 120
            aload 11 /* parentPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmpne 31
        29: .line 121
            aload 5 /* topJarEntries */
            aload 13 /* dir */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 122
            goto 37
        31: .line 124
      StackMap locals: java.util.ArrayList java.lang.Object
      StackMap stack:
            aload 11 /* parentPath */
            astore 9 /* childPath */
        32: .line 125
            aload 9 /* childPath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 11 /* parentPath */
        end local 13 // java.lang.Object dir
        33: .line 126
            goto 36
        34: .line 127
      StackMap locals:
      StackMap stack:
            aload 12 /* parentChildren */
            aload 9 /* childPath */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        35: .line 128
            goto 37
        end local 12 // java.util.ArrayList parentChildren
        36: .line 113
      StackMap locals:
      StackMap stack:
            aload 11 /* parentPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            ifgt 22
        end local 11 // org.eclipse.core.runtime.IPath parentPath
        end local 10 // org.eclipse.jdt.internal.core.JarEntryFile file
        end local 9 // org.eclipse.core.runtime.IPath childPath
        end local 8 // org.eclipse.core.runtime.IPath filePath
        end local 7 // java.lang.String resName
        37: .line 96
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragment java.util.ArrayList int java.util.HashMap java.util.HashMap java.util.ArrayList int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 6 /* i */
            iload 2 /* length */
            if_icmplt 8
        end local 6 // int i
        39: .line 134
            aload 4 /* childrenMap */
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* entries */
        start local 6 // java.util.Iterator entries
        40: .line 135
            goto 57
        41: .line 136
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragment java.util.ArrayList int java.util.HashMap java.util.HashMap java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
        42: .line 137
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 8 /* entryPath */
        start local 8 // org.eclipse.core.runtime.IPath entryPath
        43: .line 138
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 9 /* entryValue */
        start local 9 // java.util.ArrayList entryValue
        44: .line 139
            aload 3 /* jarEntries */
            aload 8 /* entryPath */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JarEntryDirectory
            astore 10 /* jarEntryDirectory */
        start local 10 // org.eclipse.jdt.internal.core.JarEntryDirectory jarEntryDirectory
        45: .line 140
            aload 9 /* entryValue */
            invokevirtual java.util.ArrayList.size:()I
            istore 11 /* size */
        start local 11 // int size
        46: .line 141
            iload 11 /* size */
            anewarray org.eclipse.jdt.core.IJarEntryResource
            astore 12 /* children */
        start local 12 // org.eclipse.jdt.core.IJarEntryResource[] children
        47: .line 142
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        48: goto 53
        49: .line 143
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragment java.util.ArrayList int java.util.HashMap java.util.HashMap java.util.ArrayList java.util.Iterator java.util.Map$Entry org.eclipse.core.runtime.IPath java.util.ArrayList org.eclipse.jdt.internal.core.JarEntryDirectory int org.eclipse.jdt.core.IJarEntryResource[] int
      StackMap stack:
            aload 3 /* jarEntries */
            aload 9 /* entryValue */
            iload 13 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JarEntryResource
            astore 14 /* child */
        start local 14 // org.eclipse.jdt.internal.core.JarEntryResource child
        50: .line 144
            aload 14 /* child */
            aload 10 /* jarEntryDirectory */
            invokevirtual org.eclipse.jdt.internal.core.JarEntryResource.setParent:(Ljava/lang/Object;)V
        51: .line 145
            aload 12 /* children */
            iload 13 /* i */
            aload 14 /* child */
            aastore
        end local 14 // org.eclipse.jdt.internal.core.JarEntryResource child
        52: .line 142
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 13 /* i */
            iload 11 /* size */
            if_icmplt 49
        end local 13 // int i
        54: .line 147
            aload 10 /* jarEntryDirectory */
            aload 12 /* children */
            invokevirtual org.eclipse.jdt.internal.core.JarEntryDirectory.setChildren:([Lorg/eclipse/jdt/core/IJarEntryResource;)V
        55: .line 148
            aload 8 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmpne 57
        56: .line 149
            aload 10 /* jarEntryDirectory */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarEntryDirectory.setParent:(Ljava/lang/Object;)V
        end local 12 // org.eclipse.jdt.core.IJarEntryResource[] children
        end local 11 // int size
        end local 10 // org.eclipse.jdt.internal.core.JarEntryDirectory jarEntryDirectory
        end local 9 // java.util.ArrayList entryValue
        end local 8 // org.eclipse.core.runtime.IPath entryPath
        end local 7 // java.util.Map$Entry entry
        57: .line 135
      StackMap locals: org.eclipse.jdt.internal.core.JarPackageFragment java.util.ArrayList int java.util.HashMap java.util.HashMap java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        58: .line 152
            aload 5 /* topJarEntries */
            aload 5 /* topJarEntries */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.Object
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 6 // java.util.Iterator entries
        end local 5 // java.util.ArrayList topJarEntries
        end local 4 // java.util.HashMap childrenMap
        end local 3 // java.util.HashMap jarEntries
        end local 2 // int length
        end local 1 // java.util.ArrayList entryNames
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0               this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            0   59     1         entryNames  Ljava/util/ArrayList;
            1   59     2             length  I
            4   59     3         jarEntries  Ljava/util/HashMap;
            5   59     4        childrenMap  Ljava/util/HashMap;
            6   59     5      topJarEntries  Ljava/util/ArrayList;
            7   39     6                  i  I
            9   37     7            resName  Ljava/lang/String;
           11   37     8           filePath  Lorg/eclipse/core/runtime/IPath;
           12   37     9          childPath  Lorg/eclipse/core/runtime/IPath;
           15   37    10               file  Lorg/eclipse/jdt/internal/core/JarEntryFile;
           21   37    11         parentPath  Lorg/eclipse/core/runtime/IPath;
           23   36    12     parentChildren  Ljava/util/ArrayList;
           25   33    13                dir  Ljava/lang/Object;
           40   59     6            entries  Ljava/util/Iterator;
           42   57     7              entry  Ljava/util/Map$Entry;
           43   57     8          entryPath  Lorg/eclipse/core/runtime/IPath;
           44   57     9         entryValue  Ljava/util/ArrayList;
           45   57    10  jarEntryDirectory  Lorg/eclipse/jdt/internal/core/JarEntryDirectory;
           46   57    11               size  I
           47   57    12           children  [Lorg/eclipse/jdt/core/IJarEntryResource;
           48   54    13                  i  I
           50   52    14              child  Lorg/eclipse/jdt/internal/core/JarEntryResource;
    MethodParameters:
            Name  Flags
      entryNames  

  public boolean containsJavaResources();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 160
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentInfo
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentInfo.containsJavaResources:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ICompilationUnit createCompilationUnit(java.lang.String, java.lang.String, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
        start local 1 // java.lang.String cuName
        start local 2 // java.lang.String contents
        start local 3 // boolean force
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 167
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 976
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // boolean force
        end local 2 // java.lang.String contents
        end local 1 // java.lang.String cuName
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            0    1     1    cuName  Ljava/lang/String;
            0    1     2  contents  Ljava/lang/String;
            0    1     3     force  Z
            0    1     4   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      cuName    
      contents  
      force     
      monitor   

  protected java.lang.Object createElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 174
            new org.eclipse.jdt.internal.core.JarPackageFragmentInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.JarPackageFragmentInfo.<init>:()V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;

  public org.eclipse.jdt.core.IClassFile[] getAllClassFiles();
    descriptor: ()[Lorg/eclipse/jdt/core/IClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 181
            aload 0 /* this */
            bipush 6
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 182
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IClassFile
            astore 2 /* array */
        start local 2 // org.eclipse.jdt.core.IClassFile[] array
         2: .line 183
            aload 1 /* list */
            aload 2 /* array */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         3: .line 184
            aload 2 /* array */
            areturn
        end local 2 // org.eclipse.jdt.core.IClassFile[] array
        end local 1 // java.util.ArrayList list
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
            1    4     1   list  Ljava/util/ArrayList;
            2    4     2  array  [Lorg/eclipse/jdt/core/IClassFile;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ICompilationUnit[] getCompilationUnits();
    descriptor: ()[Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 192
            getstatic org.eclipse.jdt.internal.core.JarPackageFragment.NO_COMPILATION_UNITS:[Lorg/eclipse/jdt/core/ICompilationUnit;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;

  public org.eclipse.core.resources.IResource getCorrespondingResource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 201
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;

  public java.lang.Object[] getNonJavaResources();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 208
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.isDefaultPackage:()Z
            ifeq 2
         1: .line 210
            getstatic org.eclipse.jdt.internal.core.JavaElementInfo.NO_NON_JAVA_RESOURCES:[Ljava/lang/Object;
            areturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.storedNonJavaResources:()[Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected boolean internalIsValidPackageName();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 217
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 224
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;

  protected java.lang.Object[] storedNonJavaResources();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
         0: .line 227
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragment.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JarPackageFragmentInfo
            invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentInfo.getNonJavaResources:()[Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JarPackageFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JarPackageFragment;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
}
SourceFile: "JarPackageFragment.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map