class jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods
  super_class: java.lang.Object
{
  private final java.util.Map<javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror> interfaces;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/type/TypeMirror;>;

  private final java.util.List<javax.lang.model.element.ExecutableElement> methlist;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;

  private final javax.lang.model.element.TypeElement typeElement;
    descriptor: Ljavax/lang/model/element/TypeElement;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.lang.model.element.ExecutableElement method;
    descriptor: Ljavax/lang/model/element/ExecutableElement;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable this$0;
    descriptor: Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable, javax.lang.model.element.ExecutableElement);
    descriptor: (Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
        start local 2 // javax.lang.model.element.ExecutableElement method
         0: .line 889
            aload 0 /* this */
            aload 1
            putfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 884
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.interfaces:Ljava/util/Map;
         2: .line 885
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
         3: .line 890
            aload 0 /* this */
            aload 2 /* method */
            putfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.method:Ljavax/lang/model/element/ExecutableElement;
         4: .line 891
            aload 0 /* this */
            aload 1
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 2 /* method */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getEnclosingTypeElement:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
            putfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.typeElement:Ljavax/lang/model/element/TypeElement;
         5: .line 892
            aload 1
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.typeElement:Ljavax/lang/model/element/TypeElement;
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getAllInterfaces:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
            astore 3 /* intfacs */
        start local 3 // java.util.Set intfacs
         6: .line 900
            aload 3 /* intfacs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable javax.lang.model.element.ExecutableElement java.util.Set top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 4 /* interfaceType */
        start local 4 // javax.lang.model.type.TypeMirror interfaceType
         8: .line 901
            aload 1
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 1
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 4 /* interfaceType */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.asTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            aload 2 /* method */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.findMethod:(Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/ExecutableElement;
            astore 6 /* found */
        start local 6 // javax.lang.model.element.ExecutableElement found
         9: .line 902
            aload 6 /* found */
            ifnull 14
        10: .line 903
            aload 0 /* this */
            aload 6 /* found */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.removeOverriddenMethod:(Ljavax/lang/model/element/ExecutableElement;)V
        11: .line 904
            aload 0 /* this */
            aload 6 /* found */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.overridingMethodFound:(Ljavax/lang/model/element/ExecutableElement;)Z
            ifne 14
        12: .line 905
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            aload 6 /* found */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 906
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.interfaces:Ljava/util/Map;
            aload 6 /* found */
            aload 4 /* interfaceType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // javax.lang.model.element.ExecutableElement found
        end local 4 // javax.lang.model.type.TypeMirror interfaceType
        14: .line 900
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        15: .line 910
            return
        end local 3 // java.util.Set intfacs
        end local 2 // javax.lang.model.element.ExecutableElement method
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable$ImplementedMethods;
            0   16     2         method  Ljavax/lang/model/element/ExecutableElement;
            6   16     3        intfacs  Ljava/util/Set<Ljavax/lang/model/type/TypeMirror;>;
            8   14     4  interfaceType  Ljavax/lang/model/type/TypeMirror;
            9   14     6          found  Ljavax/lang/model/element/ExecutableElement;
    MethodParameters:
        Name  Flags
      this$0  final
      method  

  java.util.List<javax.lang.model.element.ExecutableElement> getImplementedMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
         0: .line 925
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            areturn
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable$ImplementedMethods;
    Signature: ()Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;

  javax.lang.model.type.TypeMirror getMethodHolder(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement ee
         0: .line 929
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.interfaces:Ljava/util/Map;
            aload 1 /* ee */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            areturn
        end local 1 // javax.lang.model.element.ExecutableElement ee
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable$ImplementedMethods;
            0    1     1    ee  Ljavax/lang/model/element/ExecutableElement;
    MethodParameters:
      Name  Flags
      ee    

  private void removeOverriddenMethod(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 940
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 1 /* method */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.overriddenClass:(Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/TypeElement;
            astore 2 /* overriddenClass */
        start local 2 // javax.lang.model.element.TypeElement overriddenClass
         1: .line 941
            aload 2 /* overriddenClass */
            ifnull 10
         2: .line 942
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 943
      StackMap locals: javax.lang.model.element.TypeElement int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getEnclosingTypeElement:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
            astore 4 /* te */
        start local 4 // javax.lang.model.element.TypeElement te
         5: .line 944
            aload 4 /* te */
            aload 2 /* overriddenClass */
            if_acmpeq 6
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 2 /* overriddenClass */
            aload 4 /* te */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.isSubclassOf:(Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/TypeElement;)Z
            ifeq 8
         6: .line 945
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         7: .line 946
            return
        end local 4 // javax.lang.model.element.TypeElement te
         8: .line 942
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
        10: .line 950
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.lang.model.element.TypeElement overriddenClass
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable$ImplementedMethods;
            0   11     1           method  Ljavax/lang/model/element/ExecutableElement;
            1   11     2  overriddenClass  Ljavax/lang/model/element/TypeElement;
            3   10     3                i  I
            5    8     4               te  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
        Name  Flags
      method  

  private boolean overridingMethodFound(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 960
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 1 /* method */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getEnclosingTypeElement:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
            astore 2 /* containingClass */
        start local 2 // javax.lang.model.element.TypeElement containingClass
         1: .line 961
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.methlist:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 3 /* listmethod */
        start local 3 // javax.lang.model.element.ExecutableElement listmethod
         3: .line 962
            aload 2 /* containingClass */
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 3 /* listmethod */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getEnclosingTypeElement:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
            if_acmpne 5
         4: .line 964
            iconst_1
            ireturn
         5: .line 966
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 3 /* listmethod */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.overriddenClass:(Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/TypeElement;
            astore 5 /* te */
        start local 5 // javax.lang.model.element.TypeElement te
         6: .line 967
            aload 5 /* te */
            ifnonnull 8
         7: .line 968
            goto 10
         8: .line 970
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 5 /* te */
            aload 2 /* containingClass */
            if_acmpeq 9
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable;
            getfield jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 5 /* te */
            aload 2 /* containingClass */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.isSubclassOf:(Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/TypeElement;)Z
            ifeq 10
         9: .line 971
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // javax.lang.model.element.TypeElement te
        end local 3 // javax.lang.model.element.ExecutableElement listmethod
        10: .line 961
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 974
            iconst_0
            ireturn
        end local 2 // javax.lang.model.element.TypeElement containingClass
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Ljdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable$ImplementedMethods;
            0   12     1           method  Ljavax/lang/model/element/ExecutableElement;
            1   12     2  containingClass  Ljavax/lang/model/element/TypeElement;
            3   10     3       listmethod  Ljavax/lang/model/element/ExecutableElement;
            6   10     5               te  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
        Name  Flags
      method  
}
SourceFile: "VisibleMemberTable.java"
NestHost: jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable
InnerClasses:
  private ImplementedMethods = jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable$ImplementedMethods of jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable