class com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph
  super_class: java.lang.Object
{
  com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] nodes;
    descriptor: [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
    flags: (0x0000) 

  com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] interfaceNodes;
    descriptor: [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 738
            ldc Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]);
    descriptor: ([Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
        start local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] nodes
         0: .line 742
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 743
            aload 0 /* this */
            aload 1 /* nodes */
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
         2: .line 744
            return
        end local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] nodes
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
            0    3     1  nodes  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
    MethodParameters:
       Name  Flags
      nodes  

  void mergeDuplicates();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
         0: .line 757
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* interfaceHashMap */
        start local 1 // java.util.Map interfaceHashMap
         1: .line 758
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* classHashMap */
        start local 2 // java.util.Map classHashMap
         2: .line 759
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* duplicateMap */
        start local 3 // java.util.Map duplicateMap
         3: .line 765
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 21
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* node */
        start local 4 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
         5: .line 766
            aload 4 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            astore 8 /* ancestors */
        start local 8 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] ancestors
         6: .line 768
            aload 8 /* ancestors */
            arraylength
            istore 9 /* length */
        start local 9 // int length
         7: .line 769
            getstatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.$assertionsDisabled:Z
            ifne 8
            iload 9 /* length */
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 771
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] int
      StackMap stack:
            aload 4 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.isInterface:Z
            istore 10 /* isNodeInterface */
        start local 10 // boolean isNodeInterface
         9: .line 772
            iload 9 /* length */
            iconst_1
            if_icmpne 15
        10: .line 777
            iload 10 /* isNodeInterface */
            ifne 20
        11: .line 778
            aload 8 /* ancestors */
            iconst_0
            aaload
            astore 11 /* ancestor */
        start local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node ancestor
        12: .line 779
            aload 3 /* duplicateMap */
            aload 11 /* ancestor */
            aload 4 /* node */
            invokestatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.recordDuplicateRelation:(Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
        13: .line 780
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            aload 4 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            aconst_null
            aastore
        end local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node ancestor
        14: .line 782
            goto 20
        15: .line 783
      StackMap locals: int
      StackMap stack:
            aload 8 /* ancestors */
            invokestatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.getDuplicateHash:([Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
            istore 11 /* hash */
        start local 11 // int hash
        16: .line 789
            iload 10 /* isNodeInterface */
            ifeq 17
            aload 1 /* interfaceHashMap */
            goto 18
      StackMap locals: int
      StackMap stack:
        17: aload 2 /* classHashMap */
      StackMap locals:
      StackMap stack: java.util.Map
        18: astore 12 /* destinationMap */
        start local 12 // java.util.Map destinationMap
        19: .line 790
            aload 12 /* destinationMap */
            iload 11 /* hash */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$0(Ljava/lang/Integer;)Ljava/util/ArrayList; (6)
                  (Ljava/lang/Integer;)Ljava/util/ArrayList;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            aload 4 /* node */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.util.Map destinationMap
        end local 11 // int hash
        end local 10 // boolean isNodeInterface
        end local 9 // int length
        end local 8 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] ancestors
        end local 4 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        20: .line 765
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        21: iload 5
            iload 6
            if_icmplt 4
        22: .line 795
            aload 1 /* interfaceHashMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 40
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        23: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        24: .line 796
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 6 /* interfaces */
        start local 6 // java.util.ArrayList interfaces
        25: .line 797
            aload 2 /* classHashMap */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 7 /* classes */
        start local 7 // java.util.ArrayList classes
        26: .line 798
            aload 7 /* classes */
            ifnonnull 28
        27: .line 803
            goto 40
        28: .line 805
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.ArrayList java.util.ArrayList
      StackMap stack:
            aload 6 /* interfaces */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 39
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.ArrayList java.util.ArrayList top java.util.Iterator
      StackMap stack:
        29: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            astore 8 /* interfaceNode */
        start local 8 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node interfaceNode
        30: .line 806
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        31: goto 38
        32: .line 807
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.ArrayList java.util.ArrayList com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node java.util.Iterator int
      StackMap stack:
            aload 7 /* classes */
            iload 10 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            astore 11 /* classNode */
        start local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node classNode
        33: .line 808
            aload 11 /* classNode */
            ifnonnull 35
        34: .line 813
            goto 37
        35: .line 815
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
      StackMap stack:
            aload 0 /* this */
            aload 3 /* duplicateMap */
            aload 8 /* interfaceNode */
            aload 11 /* classNode */
            invokevirtual com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.tryMergeNodes:(Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
            ifeq 37
        36: .line 816
            aload 7 /* classes */
            iload 10 /* i */
            aconst_null
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node classNode
        37: .line 806
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 10 /* i */
            aload 7 /* classes */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 32
        end local 10 // int i
        end local 8 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node interfaceNode
        39: .line 805
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.ArrayList java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        end local 7 // java.util.ArrayList classes
        end local 6 // java.util.ArrayList interfaces
        end local 4 // java.util.Map$Entry entry
        40: .line 795
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        41: .line 823
            aload 2 /* classHashMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 61
      StackMap locals:
      StackMap stack:
        42: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        43: .line 824
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 6 /* classes */
        start local 6 // java.util.ArrayList classes
        44: .line 825
            aload 6 /* classes */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* numClasses */
        start local 7 // int numClasses
        45: .line 826
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        46: goto 60
        47: .line 827
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.ArrayList int int
      StackMap stack:
            aload 6 /* classes */
            iload 8 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            astore 9 /* classNode */
        start local 9 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node classNode
        48: .line 828
            aload 9 /* classNode */
            ifnonnull 50
        49: .line 830
            goto 59
        50: .line 832
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
      StackMap stack:
            iload 8 /* i */
            iconst_1
            iadd
            istore 10 /* j */
        start local 10 // int j
        51: goto 58
        52: .line 833
      StackMap locals: int
      StackMap stack:
            aload 6 /* classes */
            iload 10 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            astore 11 /* duplicateCandidate */
        start local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicateCandidate
        53: .line 834
            aload 11 /* duplicateCandidate */
            ifnonnull 55
        54: .line 836
            goto 57
        55: .line 838
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
      StackMap stack:
            aload 0 /* this */
            aload 3 /* duplicateMap */
            aload 9 /* classNode */
            aload 11 /* duplicateCandidate */
            invokevirtual com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.tryMergeNodes:(Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
            ifeq 57
        56: .line 839
            aload 6 /* classes */
            iload 10 /* j */
            aconst_null
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicateCandidate
        57: .line 832
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        58: iload 10 /* j */
            iload 7 /* numClasses */
            if_icmplt 52
        end local 10 // int j
        end local 9 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node classNode
        59: .line 826
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 8 /* i */
            iload 7 /* numClasses */
            iconst_1
            isub
            if_icmplt 47
        end local 8 // int i
        end local 7 // int numClasses
        end local 6 // java.util.ArrayList classes
        end local 4 // java.util.Map$Entry entry
        61: .line 823
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        62: .line 846
            aload 3 /* duplicateMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 65
      StackMap locals:
      StackMap stack:
        63: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        64: .line 847
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.duplicates:Ljava/util/Set;
        end local 4 // java.util.Map$Entry entry
        65: .line 846
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        66: .line 851
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* compactedNodeArray */
        start local 4 // java.util.ArrayList compactedNodeArray
        67: .line 852
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 74
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.ArrayList top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
        68: aload 8
            iload 6
            aaload
            astore 5 /* node */
        start local 5 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        69: .line 853
            aload 5 /* node */
            ifnonnull 71
        70: .line 854
            goto 73
        71: .line 857
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.ArrayList com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
            aload 5 /* node */
            aload 4 /* compactedNodeArray */
            invokevirtual java.util.ArrayList.size:()I
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
        72: .line 858
            aload 4 /* compactedNodeArray */
            aload 5 /* node */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        73: .line 852
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map java.util.Map java.util.Map java.util.ArrayList top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        74: iload 6
            iload 7
            if_icmplt 68
        75: .line 860
            aload 0 /* this */
            aload 4 /* compactedNodeArray */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
        76: .line 861
            return
        end local 4 // java.util.ArrayList compactedNodeArray
        end local 3 // java.util.Map duplicateMap
        end local 2 // java.util.Map classHashMap
        end local 1 // java.util.Map interfaceHashMap
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   77     0                this  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
            1   77     1    interfaceHashMap  Ljava/util/Map<Ljava/lang/Integer;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
            2   77     2        classHashMap  Ljava/util/Map<Ljava/lang/Integer;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
            3   77     3        duplicateMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;
            5   20     4                node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            6   20     8           ancestors  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            7   20     9              length  I
            9   20    10     isNodeInterface  Z
           12   14    11            ancestor  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           16   20    11                hash  I
           19   20    12      destinationMap  Ljava/util/Map<Ljava/lang/Integer;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
           24   40     4               entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
           25   40     6          interfaces  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
           26   40     7             classes  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
           30   39     8       interfaceNode  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           31   39    10                   i  I
           33   37    11           classNode  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           43   61     4               entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
           44   61     6             classes  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
           45   61     7          numClasses  I
           46   61     8                   i  I
           48   59     9           classNode  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           51   59    10                   j  I
           53   57    11  duplicateCandidate  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           64   65     4               entry  Ljava/util/Map$Entry<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;
           67   77     4  compactedNodeArray  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
           69   73     5                node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  static int getDuplicateHash(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]);
    descriptor: ([Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] ancestors
         0: .line 867
            aload 0 /* ancestors */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 868
            iload 1 /* length */
            bipush 16
            ishl
            aload 0 /* ancestors */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$1(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
            invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.sum:()I
            iadd
            ireturn
        end local 1 // int length
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] ancestors
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  ancestors  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            1    2     1     length  I
    MethodParameters:
           Name  Flags
      ancestors  

  boolean tryMergeNodes(java.util.Map<com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node, java.util.Set<com.oracle.svm.hosted.meta.HostedType>>, com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node, com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
        start local 1 // java.util.Map duplicateMap
        start local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        start local 3 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicateCandidate
         0: .line 872
            aload 2 /* node */
            aload 3 /* duplicateCandidate */
            invokestatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.areDuplicates:(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
            ifeq 6
         1: .line 874
            aload 1 /* duplicateMap */
            aload 2 /* node */
            aload 3 /* duplicateCandidate */
            invokestatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.recordDuplicateRelation:(Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
         2: .line 876
            aload 3 /* duplicateCandidate */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            istore 4 /* duplicateIdx */
        start local 4 // int duplicateIdx
         3: .line 877
            getstatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            iload 4 /* duplicateIdx */
            aaload
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.isInterface:Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 879
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            iload 4 /* duplicateIdx */
            aconst_null
            aastore
         5: .line 880
            iconst_1
            ireturn
        end local 4 // int duplicateIdx
         6: .line 882
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicateCandidate
        end local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        end local 1 // java.util.Map duplicateMap
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
            0    7     1        duplicateMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;
            0    7     2                node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            0    7     3  duplicateCandidate  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            3    6     4        duplicateIdx  I
    Signature: (Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
    MethodParameters:
                    Name  Flags
      duplicateMap        
      node                
      duplicateCandidate  

  static boolean areDuplicates(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node, com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node a
        start local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node b
         0: .line 889
            aload 0 /* a */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            astore 2 /* aAncestors */
        start local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] aAncestors
         1: .line 890
            aload 1 /* b */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            astore 3 /* bAncestors */
        start local 3 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] bAncestors
         2: .line 891
            aload 2 /* aAncestors */
            arraylength
            aload 3 /* bAncestors */
            arraylength
            if_icmpeq 4
         3: .line 892
            iconst_0
            ireturn
         4: .line 894
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 895
      StackMap locals: int
      StackMap stack:
            aload 2 /* aAncestors */
            iload 4 /* i */
            aaload
            aload 3 /* bAncestors */
            iload 4 /* i */
            aaload
            if_acmpeq 8
         7: .line 896
            iconst_0
            ireturn
         8: .line 894
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 2 /* aAncestors */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 899
            iconst_1
            ireturn
        end local 3 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] bAncestors
        end local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] aAncestors
        end local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node b
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node a
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0           a  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            0   11     1           b  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            1   11     2  aAncestors  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            2   11     3  bAncestors  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            5   10     4           i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  static void recordDuplicateRelation(java.util.Map<com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node, java.util.Set<com.oracle.svm.hosted.meta.HostedType>>, com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node, com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Ljava/util/Map;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Map duplicateMap
        start local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        start local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicate
         0: .line 906
            getstatic com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.$assertionsDisabled:Z
            ifne 1
            aload 0 /* duplicateMap */
            aload 2 /* duplicate */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "By removing this node, duplicate records are being lost."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* duplicateMap */
            aload 1 /* node */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$2(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 2 /* duplicate */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.type:Lcom/oracle/svm/hosted/meta/HostedType;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 908
            return
        end local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node duplicate
        end local 1 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        end local 0 // java.util.Map duplicateMap
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  duplicateMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;
            0    3     1          node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            0    3     2     duplicate  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
    Signature: (Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;>;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
    MethodParameters:
              Name  Flags
      duplicateMap  
      node          
      duplicate     

  void generateDescendantIndex();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
         0: .line 915
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* descendantMap */
        start local 1 // java.util.Map descendantMap
         1: .line 916
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            astore 2 /* emptyDescendant */
        start local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] emptyDescendant
         2: .line 917
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* interfaceList */
        start local 3 // java.util.ArrayList interfaceList
         3: .line 920
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            arraylength
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 21
         5: .line 921
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.nodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            iload 4 /* i */
            aaload
            astore 5 /* node */
        start local 5 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
         6: .line 922
            aload 5 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.isInterface:Z
            ifeq 14
         7: .line 924
            aload 1 /* descendantMap */
            aload 5 /* node */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$3(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 6 /* descendants */
        start local 6 // java.util.Set descendants
         8: .line 925
            aload 6 /* descendants */
            aload 5 /* node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 926
            aload 6 /* descendants */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
            astore 7 /* descendantArray */
        start local 7 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] descendantArray
        10: .line 927
            aload 7 /* descendantArray */
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$4(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        11: .line 928
            aload 5 /* node */
            aload 7 /* descendantArray */
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedDescendants:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
        12: .line 929
            aload 3 /* interfaceList */
            aload 5 /* node */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] descendantArray
        end local 6 // java.util.Set descendants
        13: .line 931
            goto 15
        14: .line 933
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
      StackMap stack:
            aload 5 /* node */
            aload 2 /* emptyDescendant */
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedDescendants:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
        15: .line 939
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 19
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] java.util.ArrayList int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
        16: aload 9
            iload 7
            aaload
            astore 6 /* ancestor */
        start local 6 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node ancestor
        17: .line 940
            aload 1 /* descendantMap */
            aload 6 /* ancestor */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$5(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 5 /* node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node ancestor
        18: .line 939
            iinc 7 1
      StackMap locals:
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 16
        end local 5 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        20: .line 920
            iinc 4 /* i */ -1
      StackMap locals: com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph java.util.Map com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] java.util.ArrayList int
      StackMap stack:
        21: iload 4 /* i */
            ifge 5
        end local 4 // int i
        22: .line 943
            aload 0 /* this */
            aload 3 /* interfaceList */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.interfaceNodes:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
        23: .line 944
            return
        end local 3 // java.util.ArrayList interfaceList
        end local 2 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] emptyDescendant
        end local 1 // java.util.Map descendantMap
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
            1   24     1    descendantMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
            2   24     2  emptyDescendant  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            3   24     3    interfaceList  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
            4   22     4                i  I
            6   20     5             node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            8   13     6      descendants  Ljava/util/Set<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
           10   13     7  descendantArray  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           17   18     6         ancestor  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  static com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph buildInterfaceGraph(java.util.List<com.oracle.svm.hosted.meta.HostedType>, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.List<com.oracle.svm.hosted.meta.HostedType>>);
    descriptor: (Ljava/util/List;Ljava/util/Map;)Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // java.util.List heightOrderedTypes
        start local 1 // java.util.Map subtypeMap
         0: .line 951
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* interfaceAncestors */
        start local 2 // java.util.Map interfaceAncestors
         1: .line 954
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* nodes */
        start local 3 // java.util.ArrayList nodes
         2: .line 955
            aload 0 /* heightOrderedTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 4 /* type */
        start local 4 // com.oracle.svm.hosted.meta.HostedType type
         4: .line 957
            aload 4 /* type */
            invokestatic com.oracle.svm.hosted.meta.TypeCheckBuilder.isInterface:(Lcom/oracle/svm/hosted/meta/HostedType;)Z
            istore 6 /* isTypeInterface */
        start local 6 // boolean isTypeInterface
         5: .line 958
            aload 2 /* interfaceAncestors */
            aload 4 /* type */
            iload 6 /* isTypeInterface */
            invokedynamic apply(Z)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$6(ZLcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 7 /* ancestors */
        start local 7 // java.util.Set ancestors
         6: .line 959
            aload 7 /* ancestors */
            ifnonnull 8
         7: .line 961
            goto 20
         8: .line 964
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.ArrayList com.oracle.svm.hosted.meta.HostedType java.util.Iterator int java.util.Set
      StackMap stack:
            aload 3 /* nodes */
            invokevirtual java.util.ArrayList.size:()I
            istore 8 /* id */
        start local 8 // int id
         9: .line 965
            new com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            dup
            iload 8 /* id */
            aload 4 /* type */
            iload 6 /* isTypeInterface */
            invokespecial com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.<init>:(ILcom/oracle/svm/hosted/meta/HostedType;Z)V
            astore 9 /* newNode */
        start local 9 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node newNode
        10: .line 966
            aload 3 /* nodes */
            aload 9 /* newNode */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 968
            iload 6 /* isTypeInterface */
            ifeq 13
        12: .line 969
            aload 7 /* ancestors */
            aload 9 /* newNode */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 971
      StackMap locals: int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
      StackMap stack:
            aload 7 /* ancestors */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
            astore 10 /* sortedAncestors */
        start local 10 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] sortedAncestors
        14: .line 972
            aload 10 /* sortedAncestors */
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$7(Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I (6)
                  (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        15: .line 973
            aload 9 /* newNode */
            aload 10 /* sortedAncestors */
            putfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
        16: .line 976
            aload 1 /* subtypeMap */
            aload 4 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 19
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.ArrayList com.oracle.svm.hosted.meta.HostedType java.util.Iterator int java.util.Set int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] top java.util.Iterator
      StackMap stack:
        17: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 11 /* child */
        start local 11 // com.oracle.svm.hosted.meta.HostedType child
        18: .line 977
            aload 2 /* interfaceAncestors */
            aload 11 /* child */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph.lambda$8(Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 7 /* ancestors */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 11 // com.oracle.svm.hosted.meta.HostedType child
        19: .line 976
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 10 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] sortedAncestors
        end local 9 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node newNode
        end local 8 // int id
        end local 7 // java.util.Set ancestors
        end local 6 // boolean isTypeInterface
        end local 4 // com.oracle.svm.hosted.meta.HostedType type
        20: .line 955
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        21: .line 981
            aload 3 /* nodes */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
            astore 4 /* nodeArray */
        start local 4 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] nodeArray
        22: .line 982
            iconst_m1
            istore 5 /* maxAncestors */
        start local 5 // int maxAncestors
        23: .line 983
            aload 4 /* nodeArray */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 27
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.ArrayList com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] int top int int com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[]
      StackMap stack:
        24: aload 9
            iload 7
            aaload
            astore 6 /* node */
        start local 6 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        25: .line 984
            iload 5 /* maxAncestors */
            aload 6 /* node */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.sortedAncestors:[Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
            arraylength
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* maxAncestors */
        end local 6 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node node
        26: .line 983
            iinc 7 1
      StackMap locals:
      StackMap stack:
        27: iload 7
            iload 8
            if_icmplt 24
        28: .line 987
            new com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph
            dup
            aload 4 /* nodeArray */
            invokespecial com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph.<init>:([Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)V
            areturn
        end local 5 // int maxAncestors
        end local 4 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node[] nodeArray
        end local 3 // java.util.ArrayList nodes
        end local 2 // java.util.Map interfaceAncestors
        end local 1 // java.util.Map subtypeMap
        end local 0 // java.util.List heightOrderedTypes
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0  heightOrderedTypes  Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedType;>;
            0   29     1          subtypeMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedType;>;>;
            1   29     2  interfaceAncestors  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;>;
            2   29     3               nodes  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
            4   20     4                type  Lcom/oracle/svm/hosted/meta/HostedType;
            5   20     6     isTypeInterface  Z
            6   20     7           ancestors  Ljava/util/Set<Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;>;
            9   20     8                  id  I
           10   20     9             newNode  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           14   20    10     sortedAncestors  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           18   19    11               child  Lcom/oracle/svm/hosted/meta/HostedType;
           22   29     4           nodeArray  [Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
           23   29     5        maxAncestors  I
           25   26     6                node  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;
    Signature: (Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedType;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedType;>;>;)Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Graph;
    MethodParameters:
                    Name  Flags
      heightOrderedTypes  
      subtypeMap          

  private static java.util.ArrayList lambda$0(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Ljava/util/ArrayList;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Integer k
         0: .line 790
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.Integer k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Ljava/lang/Integer;

  private static int lambda$1(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
         0: .line 868
            aload 0 /* n */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            aload 0 /* n */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            imul
            ireturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static java.util.Set lambda$2(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
         0: .line 907
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static java.util.Set lambda$3(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
         0: .line 924
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static int lambda$4(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
         0: .line 927
            aload 0 /* n */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            ireturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static java.util.Set lambda$5(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
         0: .line 940
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static java.util.Set lambda$6(boolean, com.oracle.svm.hosted.meta.HostedType);
    descriptor: (ZLcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.svm.hosted.meta.HostedType k
         0: .line 958
            iload 0
            ifeq 1
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.util.HashSet
         2: areturn
        end local 1 // com.oracle.svm.hosted.meta.HostedType k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     k  Lcom/oracle/svm/hosted/meta/HostedType;

  private static int lambda$7(com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node);
    descriptor: (Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
         0: .line 972
            aload 0 /* n */
            getfield com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node.id:I
            ireturn
        end local 0 // com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lcom/oracle/svm/hosted/meta/TypeCheckBuilder$InterfaceIDBuilder$Node;

  private static java.util.Set lambda$8(com.oracle.svm.hosted.meta.HostedType);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.HostedType k
         0: .line 977
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.svm.hosted.meta.HostedType k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Lcom/oracle/svm/hosted/meta/HostedType;
}
SourceFile: "TypeCheckBuilder.java"
NestHost: com.oracle.svm.hosted.meta.TypeCheckBuilder
InnerClasses:
  private final InterfaceIDBuilder = com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder of com.oracle.svm.hosted.meta.TypeCheckBuilder
  private Graph = com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Graph of com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder
  private final Node = com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder$Node of com.oracle.svm.hosted.meta.TypeCheckBuilder$InterfaceIDBuilder
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map