class java.util.IdentityHashMap$KeySet extends java.util.AbstractSet<K>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.IdentityHashMap$KeySet
  super_class: java.util.AbstractSet
{
  final java.util.IdentityHashMap this$0;
    descriptor: Ljava/util/IdentityHashMap;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(java.util.IdentityHashMap);
    descriptor: (Ljava/util/IdentityHashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 975
            aload 0 /* this */
            aload 1
            putfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            aload 0 /* this */
            invokespecial java.util.AbstractSet.<init>:()V
            return
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.util.Iterator<K> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 977
            new java.util.IdentityHashMap$KeyIterator
            dup
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            invokespecial java.util.IdentityHashMap$KeyIterator.<init>:(Ljava/util/IdentityHashMap;)V
            areturn
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;
    Signature: ()Ljava/util/Iterator<TK;>;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 980
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.size:I
            ireturn
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;

  public boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.IdentityHashMap$KeySet this
        start local 1 // java.lang.Object o
         0: .line 983
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            aload 1 /* o */
            invokevirtual java.util.IdentityHashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;
            0    1     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.IdentityHashMap$KeySet this
        start local 1 // java.lang.Object o
         0: .line 986
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.size:I
            istore 2 /* oldSize */
        start local 2 // int oldSize
         1: .line 987
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            aload 1 /* o */
            invokevirtual java.util.IdentityHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 988
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.size:I
            iload 2 /* oldSize */
            if_icmpeq 3
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // int oldSize
        end local 1 // java.lang.Object o
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljava/util/IdentityHashMap$KeySet;
            0    4     1        o  Ljava/lang/Object;
            1    4     2  oldSize  I
    MethodParameters:
      Name  Flags
      o     

  public boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.IdentityHashMap$KeySet this
        start local 1 // java.util.Collection c
         0: .line 996
            aload 1 /* c */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 997
            iconst_0
            istore 2 /* modified */
        start local 2 // boolean modified
         2: .line 998
            aload 0 /* this */
            invokevirtual java.util.IdentityHashMap$KeySet.iterator:()Ljava/util/Iterator;
            astore 3 /* i */
        start local 3 // java.util.Iterator i
         3: goto 7
         4: .line 999
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 1 /* c */
            aload 3 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1000
            aload 3 /* i */
            invokeinterface java.util.Iterator.remove:()V
         6: .line 1001
            iconst_1
            istore 2 /* modified */
         7: .line 998
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator i
         8: .line 1004
            iload 2 /* modified */
            ireturn
        end local 2 // boolean modified
        end local 1 // java.util.Collection c
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljava/util/IdentityHashMap$KeySet;
            0    9     1         c  Ljava/util/Collection<*>;
            2    9     2  modified  Z
            3    8     3         i  Ljava/util/Iterator<TK;>;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 1007
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            invokevirtual java.util.IdentityHashMap.clear:()V
         1: .line 1008
            return
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/IdentityHashMap$KeySet;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 1010
            iconst_0
            istore 1 /* result */
        start local 1 // int result
         1: .line 1011
            aload 0 /* this */
            invokevirtual java.util.IdentityHashMap$KeySet.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.IdentityHashMap$KeySet int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* key */
        start local 2 // java.lang.Object key
         3: .line 1012
            iload 1 /* result */
            aload 2 /* key */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* result */
        end local 2 // java.lang.Object key
         4: .line 1011
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1013
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/util/IdentityHashMap$KeySet;
            1    6     1  result  I
            3    4     2     key  TK;

  public java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 1016
            aload 0 /* this */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.IdentityHashMap$KeySet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;

  public <T> T[] toArray();
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.IdentityHashMap$KeySet this
        start local 1 // java.lang.Object[] a
         0: .line 1020
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.modCount:I
            istore 2 /* expectedModCount */
        start local 2 // int expectedModCount
         1: .line 1021
            aload 0 /* this */
            invokevirtual java.util.IdentityHashMap$KeySet.size:()I
            istore 3 /* size */
        start local 3 // int size
         2: .line 1022
            aload 1 /* a */
            arraylength
            iload 3 /* size */
            if_icmpge 4
         3: .line 1023
            aload 1 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 3 /* size */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 1 /* a */
         4: .line 1024
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.table:[Ljava/lang/Object;
            astore 4 /* tab */
        start local 4 // java.lang.Object[] tab
         5: .line 1025
            iconst_0
            istore 5 /* ti */
        start local 5 // int ti
         6: .line 1026
            iconst_0
            istore 6 /* si */
        start local 6 // int si
         7: goto 14
         8: .line 1028
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 4 /* tab */
            iload 6 /* si */
            aaload
            dup
            astore 7 /* key */
        start local 7 // java.lang.Object key
         9: ifnull 13
        10: .line 1030
            iload 5 /* ti */
            iload 3 /* size */
            if_icmplt 12
        11: .line 1031
            new java.util.ConcurrentModificationException
            dup
            invokespecial java.util.ConcurrentModificationException.<init>:()V
            athrow
        12: .line 1033
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* a */
            iload 5 /* ti */
            iinc 5 /* ti */ 1
            aload 7 /* key */
            invokestatic java.util.IdentityHashMap.unmaskNull:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 7 // java.lang.Object key
        13: .line 1026
      StackMap locals:
      StackMap stack:
            iinc 6 /* si */ 2
      StackMap locals:
      StackMap stack:
        14: iload 6 /* si */
            aload 4 /* tab */
            arraylength
            if_icmplt 8
        end local 6 // int si
        15: .line 1037
            iload 5 /* ti */
            iload 3 /* size */
            if_icmplt 16
            iload 2 /* expectedModCount */
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            getfield java.util.IdentityHashMap.modCount:I
            if_icmpeq 17
        16: .line 1038
      StackMap locals:
      StackMap stack:
            new java.util.ConcurrentModificationException
            dup
            invokespecial java.util.ConcurrentModificationException.<init>:()V
            athrow
        17: .line 1041
      StackMap locals:
      StackMap stack:
            iload 5 /* ti */
            aload 1 /* a */
            arraylength
            if_icmpge 19
        18: .line 1042
            aload 1 /* a */
            iload 5 /* ti */
            aconst_null
            aastore
        19: .line 1044
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            areturn
        end local 5 // int ti
        end local 4 // java.lang.Object[] tab
        end local 3 // int size
        end local 2 // int expectedModCount
        end local 1 // java.lang.Object[] a
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Ljava/util/IdentityHashMap$KeySet;
            0   20     1                 a  [Ljava/lang/Object;
            1   20     2  expectedModCount  I
            2   20     3              size  I
            5   20     4               tab  [Ljava/lang/Object;
            6   20     5                ti  I
            7   15     6                si  I
            9   13     7               key  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)[TT;
    MethodParameters:
      Name  Flags
      a     

  public java.util.Spliterator<K> spliterator();
    descriptor: ()Ljava/util/Spliterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.util.IdentityHashMap$KeySet this
         0: .line 1048
            new java.util.IdentityHashMap$KeySpliterator
            dup
            aload 0 /* this */
            getfield java.util.IdentityHashMap$KeySet.this$0:Ljava/util/IdentityHashMap;
            iconst_0
            iconst_m1
            iconst_0
            iconst_0
            invokespecial java.util.IdentityHashMap$KeySpliterator.<init>:(Ljava/util/IdentityHashMap;IIII)V
            areturn
        end local 0 // java.util.IdentityHashMap$KeySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/IdentityHashMap$KeySet;
    Signature: ()Ljava/util/Spliterator<TK;>;
}
Signature: Ljava/util/AbstractSet<TK;>;
SourceFile: "IdentityHashMap.java"
NestHost: java.util.IdentityHashMap
InnerClasses:
  private KeyIterator = java.util.IdentityHashMap$KeyIterator of java.util.IdentityHashMap
  private KeySet = java.util.IdentityHashMap$KeySet of java.util.IdentityHashMap
  final KeySpliterator = java.util.IdentityHashMap$KeySpliterator of java.util.IdentityHashMap