public class jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.javadoc.internal.doclets.toolkit.util.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 jdk.javadoc.internal.doclets.toolkit.util.Utils utils;
    descriptor: Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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

  public void <init>(javax.lang.model.element.ExecutableElement, jdk.javadoc.internal.doclets.toolkit.BaseConfiguration);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljdk/javadoc/internal/doclets/toolkit/BaseConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement method
        start local 2 // jdk.javadoc.internal.doclets.toolkit.BaseConfiguration configuration
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.interfaces:Ljava/util/Map;
         2: .line 50
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.methlist:Ljava/util/List;
         3: .line 56
            aload 0 /* this */
            aload 1 /* method */
            putfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.method:Ljavax/lang/model/element/ExecutableElement;
         4: .line 57
            aload 0 /* this */
            aload 2 /* configuration */
            getfield jdk.javadoc.internal.doclets.toolkit.BaseConfiguration.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            putfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
         5: .line 58
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.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;
            putfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.typeElement:Ljavax/lang/model/element/TypeElement;
         6: .line 59
            return
        end local 2 // jdk.javadoc.internal.doclets.toolkit.BaseConfiguration configuration
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/javadoc/internal/doclets/toolkit/util/ImplementedMethods;
            0    7     1         method  Ljavax/lang/model/element/ExecutableElement;
            0    7     2  configuration  Ljdk/javadoc/internal/doclets/toolkit/BaseConfiguration;
    MethodParameters:
               Name  Flags
      method         
      configuration  

  public java.util.List<javax.lang.model.element.ExecutableElement> build();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
         0: .line 74
            aload 0 /* this */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.buildImplementedMethodList:()V
         1: .line 75
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.methlist:Ljava/util/List;
            areturn
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/ImplementedMethods;
    Signature: ()Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;

  public javax.lang.model.type.TypeMirror getMethodHolder(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement ee
         0: .line 79
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.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.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/ImplementedMethods;
            0    1     1    ee  Ljavax/lang/model/element/ExecutableElement;
    MethodParameters:
      Name  Flags
      ee    

  private void buildImplementedMethodList();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
         0: .line 90
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.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 1 /* intfacs */
        start local 1 // java.util.Set intfacs
         1: .line 91
            aload 1 /* intfacs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 2 /* interfaceType */
        start local 2 // javax.lang.model.type.TypeMirror interfaceType
         3: .line 92
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 2 /* interfaceType */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.asTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.method:Ljavax/lang/model/element/ExecutableElement;
            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 4 /* found */
        start local 4 // javax.lang.model.element.ExecutableElement found
         4: .line 93
            aload 4 /* found */
            ifnull 9
         5: .line 94
            aload 0 /* this */
            aload 4 /* found */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.removeOverriddenMethod:(Ljavax/lang/model/element/ExecutableElement;)V
         6: .line 95
            aload 0 /* this */
            aload 4 /* found */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.overridingMethodFound:(Ljavax/lang/model/element/ExecutableElement;)Z
            ifne 9
         7: .line 96
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.methlist:Ljava/util/List;
            aload 4 /* found */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 97
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.interfaces:Ljava/util/Map;
            aload 4 /* found */
            aload 2 /* interfaceType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // javax.lang.model.element.ExecutableElement found
        end local 2 // javax.lang.model.type.TypeMirror interfaceType
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 101
            return
        end local 1 // java.util.Set intfacs
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/javadoc/internal/doclets/toolkit/util/ImplementedMethods;
            1   11     1        intfacs  Ljava/util/Set<Ljavax/lang/model/type/TypeMirror;>;
            3    9     2  interfaceType  Ljavax/lang/model/type/TypeMirror;
            4    9     4          found  Ljavax/lang/model/element/ExecutableElement;

  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.ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 111
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.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 112
            aload 2 /* overriddenClass */
            ifnull 10
         2: .line 113
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 114
      StackMap locals: javax.lang.model.element.TypeElement int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.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 115
            aload 4 /* te */
            aload 2 /* overriddenClass */
            if_acmpeq 6
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.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 116
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.methlist:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         7: .line 117
            return
        end local 4 // javax.lang.model.element.TypeElement te
         8: .line 113
      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.ImplementedMethods.methlist:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
        10: .line 121
      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.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Ljdk/javadoc/internal/doclets/toolkit/util/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.ImplementedMethods this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 132
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.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 133
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.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.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 134
            aload 2 /* containingClass */
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods.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 136
            iconst_1
            ireturn
         5: .line 138
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.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.ImplementedMethods.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 139
            aload 5 /* te */
            ifnonnull 8
         7: .line 140
            goto 10
         8: .line 142
      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.ImplementedMethods.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 143
      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 133
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.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 146
            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.ImplementedMethods this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Ljdk/javadoc/internal/doclets/toolkit/util/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: "ImplementedMethods.java"