public class com.sun.tools.javac.util.UnsharedNameTable extends com.sun.tools.javac.util.Name$Table
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.util.UnsharedNameTable
  super_class: com.sun.tools.javac.util.Name$Table
{
  private com.sun.tools.javac.util.UnsharedNameTable$HashEntry[] hashes;
    descriptor: [Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
    flags: (0x0002) ACC_PRIVATE

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

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

  public static com.sun.tools.javac.util.Name$Table create(com.sun.tools.javac.util.Names);
    descriptor: (Lcom/sun/tools/javac/util/Names;)Lcom/sun/tools/javac/util/Name$Table;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Names names
         0: .line 42
            new com.sun.tools.javac.util.UnsharedNameTable
            dup
            aload 0 /* names */
            invokespecial com.sun.tools.javac.util.UnsharedNameTable.<init>:(Lcom/sun/tools/javac/util/Names;)V
            areturn
        end local 0 // com.sun.tools.javac.util.Names names
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  names  Lcom/sun/tools/javac/util/Names;
    MethodParameters:
       Name  Flags
      names  

  public void <init>(com.sun.tools.javac.util.Names, int);
    descriptor: (Lcom/sun/tools/javac/util/Names;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.util.UnsharedNameTable this
        start local 1 // com.sun.tools.javac.util.Names names
        start local 2 // int hashSize
         0: .line 70
            aload 0 /* this */
            aload 1 /* names */
            invokespecial com.sun.tools.javac.util.Name$Table.<init>:(Lcom/sun/tools/javac/util/Names;)V
         1: .line 54
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
         2: .line 71
            aload 0 /* this */
            iload 2 /* hashSize */
            iconst_1
            isub
            putfield com.sun.tools.javac.util.UnsharedNameTable.hashMask:I
         3: .line 72
            aload 0 /* this */
            iload 2 /* hashSize */
            anewarray com.sun.tools.javac.util.UnsharedNameTable$HashEntry
            putfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
         4: .line 73
            return
        end local 2 // int hashSize
        end local 1 // com.sun.tools.javac.util.Names names
        end local 0 // com.sun.tools.javac.util.UnsharedNameTable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/util/UnsharedNameTable;
            0    5     1     names  Lcom/sun/tools/javac/util/Names;
            0    5     2  hashSize  I
    MethodParameters:
          Name  Flags
      names     
      hashSize  

  public void <init>(com.sun.tools.javac.util.Names);
    descriptor: (Lcom/sun/tools/javac/util/Names;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.util.UnsharedNameTable this
        start local 1 // com.sun.tools.javac.util.Names names
         0: .line 76
            aload 0 /* this */
            aload 1 /* names */
            ldc 32768
            invokespecial com.sun.tools.javac.util.UnsharedNameTable.<init>:(Lcom/sun/tools/javac/util/Names;I)V
         1: .line 77
            return
        end local 1 // com.sun.tools.javac.util.Names names
        end local 0 // com.sun.tools.javac.util.UnsharedNameTable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/util/UnsharedNameTable;
            0    2     1  names  Lcom/sun/tools/javac/util/Names;
    MethodParameters:
       Name  Flags
      names  

  public com.sun.tools.javac.util.Name fromChars(char[], int, int);
    descriptor: ([CII)Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.util.UnsharedNameTable this
        start local 1 // char[] cs
        start local 2 // int start
        start local 3 // int len
         0: .line 82
            iload 3 /* len */
            iconst_3
            imul
            newarray 8
            astore 4 /* name */
        start local 4 // byte[] name
         1: .line 83
            aload 1 /* cs */
            iload 2 /* start */
            aload 4 /* name */
            iconst_0
            iload 3 /* len */
            invokestatic com.sun.tools.javac.util.Convert.chars2utf:([CI[BII)I
            istore 5 /* nbytes */
        start local 5 // int nbytes
         2: .line 84
            aload 0 /* this */
            aload 4 /* name */
            iconst_0
            iload 5 /* nbytes */
            invokevirtual com.sun.tools.javac.util.UnsharedNameTable.fromUtf:([BII)Lcom/sun/tools/javac/util/Name;
            areturn
        end local 5 // int nbytes
        end local 4 // byte[] name
        end local 3 // int len
        end local 2 // int start
        end local 1 // char[] cs
        end local 0 // com.sun.tools.javac.util.UnsharedNameTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/javac/util/UnsharedNameTable;
            0    3     1      cs  [C
            0    3     2   start  I
            0    3     3     len  I
            1    3     4    name  [B
            2    3     5  nbytes  I
    MethodParameters:
       Name  Flags
      cs     
      start  
      len    

  public com.sun.tools.javac.util.Name fromUtf(byte[], int, int);
    descriptor: ([BII)Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // com.sun.tools.javac.util.UnsharedNameTable this
        start local 1 // byte[] cs
        start local 2 // int start
        start local 3 // int len
         0: .line 89
            aload 1 /* cs */
            iload 2 /* start */
            iload 3 /* len */
            invokestatic com.sun.tools.javac.util.UnsharedNameTable.hashValue:([BII)I
            aload 0 /* this */
            getfield com.sun.tools.javac.util.UnsharedNameTable.hashMask:I
            iand
            istore 4 /* h */
        start local 4 // int h
         1: .line 91
            aload 0 /* this */
            getfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            iload 4 /* h */
            aaload
            astore 5 /* element */
        start local 5 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry element
         2: .line 93
            aconst_null
            astore 6 /* n */
        start local 6 // com.sun.tools.javac.util.UnsharedNameTable$NameImpl n
         3: .line 95
            aconst_null
            astore 7 /* previousNonNullTableEntry */
        start local 7 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry previousNonNullTableEntry
         4: .line 96
            aload 5 /* element */
            astore 8 /* firstTableEntry */
        start local 8 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry firstTableEntry
         5: .line 98
            goto 20
         6: .line 99
      StackMap locals: com.sun.tools.javac.util.UnsharedNameTable byte[] int int int com.sun.tools.javac.util.UnsharedNameTable$HashEntry com.sun.tools.javac.util.UnsharedNameTable$NameImpl com.sun.tools.javac.util.UnsharedNameTable$HashEntry com.sun.tools.javac.util.UnsharedNameTable$HashEntry
      StackMap stack:
            aload 5 /* element */
            ifnonnull 8
         7: .line 100
            goto 21
         8: .line 103
      StackMap locals:
      StackMap stack:
            aload 5 /* element */
            invokevirtual com.sun.tools.javac.util.UnsharedNameTable$HashEntry.get:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.UnsharedNameTable$NameImpl
            astore 6 /* n */
         9: .line 105
            aload 6 /* n */
            ifnonnull 16
        10: .line 106
            aload 8 /* firstTableEntry */
            aload 5 /* element */
            if_acmpne 13
        11: .line 107
            aload 0 /* this */
            getfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            iload 4 /* h */
            aload 5 /* element */
            getfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            dup
            astore 8 /* firstTableEntry */
            aastore
        12: .line 108
            goto 19
        13: .line 110
      StackMap locals:
      StackMap stack:
            aload 7 /* previousNonNullTableEntry */
            ldc "previousNonNullTableEntry cannot be null here."
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
        14: .line 111
            aload 7 /* previousNonNullTableEntry */
            aload 5 /* element */
            getfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            putfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
        15: .line 113
            goto 19
        16: .line 115
      StackMap locals:
      StackMap stack:
            aload 6 /* n */
            invokevirtual com.sun.tools.javac.util.UnsharedNameTable$NameImpl.getByteLength:()I
            iload 3 /* len */
            if_icmpne 18
            aload 6 /* n */
            getfield com.sun.tools.javac.util.UnsharedNameTable$NameImpl.bytes:[B
            iconst_0
            aload 1 /* cs */
            iload 2 /* start */
            iload 3 /* len */
            invokestatic com.sun.tools.javac.util.UnsharedNameTable.equals:([BI[BII)Z
            ifeq 18
        17: .line 116
            aload 6 /* n */
            areturn
        18: .line 118
      StackMap locals:
      StackMap stack:
            aload 5 /* element */
            astore 7 /* previousNonNullTableEntry */
        19: .line 121
      StackMap locals:
      StackMap stack:
            aload 5 /* element */
            getfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            astore 5 /* element */
        20: .line 98
      StackMap locals:
      StackMap stack:
            aload 5 /* element */
            ifnonnull 6
        21: .line 124
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            newarray 8
            astore 9 /* bytes */
        start local 9 // byte[] bytes
        22: .line 125
            aload 1 /* cs */
            iload 2 /* start */
            aload 9 /* bytes */
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 126
            new com.sun.tools.javac.util.UnsharedNameTable$NameImpl
            dup
            aload 0 /* this */
            aload 9 /* bytes */
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.util.UnsharedNameTable.index:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.tools.javac.util.UnsharedNameTable.index:I
            invokespecial com.sun.tools.javac.util.UnsharedNameTable$NameImpl.<init>:(Lcom/sun/tools/javac/util/UnsharedNameTable;[BI)V
            astore 6 /* n */
        24: .line 128
            new com.sun.tools.javac.util.UnsharedNameTable$HashEntry
            dup
            aload 6 /* n */
            invokespecial com.sun.tools.javac.util.UnsharedNameTable$HashEntry.<init>:(Lcom/sun/tools/javac/util/UnsharedNameTable$NameImpl;)V
            astore 10 /* newEntry */
        start local 10 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry newEntry
        25: .line 130
            aload 7 /* previousNonNullTableEntry */
            ifnonnull 28
        26: .line 131
            aload 0 /* this */
            getfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            iload 4 /* h */
            aload 10 /* newEntry */
            aastore
        27: .line 132
            goto 30
        28: .line 134
      StackMap locals: byte[] com.sun.tools.javac.util.UnsharedNameTable$HashEntry
      StackMap stack:
            aload 7 /* previousNonNullTableEntry */
            getfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            ldc "previousNonNullTableEntry.next must be null."
            invokestatic com.sun.tools.javac.util.Assert.checkNull:(Ljava/lang/Object;Ljava/lang/String;)V
        29: .line 135
            aload 7 /* previousNonNullTableEntry */
            aload 10 /* newEntry */
            putfield com.sun.tools.javac.util.UnsharedNameTable$HashEntry.next:Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
        30: .line 138
      StackMap locals:
      StackMap stack:
            aload 6 /* n */
            areturn
        end local 10 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry newEntry
        end local 9 // byte[] bytes
        end local 8 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry firstTableEntry
        end local 7 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry previousNonNullTableEntry
        end local 6 // com.sun.tools.javac.util.UnsharedNameTable$NameImpl n
        end local 5 // com.sun.tools.javac.util.UnsharedNameTable$HashEntry element
        end local 4 // int h
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] cs
        end local 0 // com.sun.tools.javac.util.UnsharedNameTable this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   31     0                       this  Lcom/sun/tools/javac/util/UnsharedNameTable;
            0   31     1                         cs  [B
            0   31     2                      start  I
            0   31     3                        len  I
            1   31     4                          h  I
            2   31     5                    element  Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            3   31     6                          n  Lcom/sun/tools/javac/util/UnsharedNameTable$NameImpl;
            4   31     7  previousNonNullTableEntry  Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
            5   31     8            firstTableEntry  Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
           22   31     9                      bytes  [B
           25   31    10                   newEntry  Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
    MethodParameters:
       Name  Flags
      cs     
      start  
      len    

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.UnsharedNameTable this
         0: .line 143
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.util.UnsharedNameTable.hashes:[Lcom/sun/tools/javac/util/UnsharedNameTable$HashEntry;
         1: .line 144
            return
        end local 0 // com.sun.tools.javac.util.UnsharedNameTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/util/UnsharedNameTable;
}
SourceFile: "UnsharedNameTable.java"
NestMembers:
  com.sun.tools.javac.util.UnsharedNameTable$HashEntry  com.sun.tools.javac.util.UnsharedNameTable$NameImpl
InnerClasses:
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
  HashEntry = com.sun.tools.javac.util.UnsharedNameTable$HashEntry of com.sun.tools.javac.util.UnsharedNameTable
  NameImpl = com.sun.tools.javac.util.UnsharedNameTable$NameImpl of com.sun.tools.javac.util.UnsharedNameTable