public interface javax.lang.model.util.Elements
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: javax.lang.model.util.Elements
  super_class: java.lang.Object
{
  public abstract javax.lang.model.element.PackageElement getPackageElement(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljavax/lang/model/element/PackageElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public javax.lang.model.element.PackageElement getPackageElement(javax.lang.model.element.ModuleElement, java.lang.CharSequence);
    descriptor: (Ljavax/lang/model/element/ModuleElement;Ljava/lang/CharSequence;)Ljavax/lang/model/element/PackageElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.ModuleElement module
        start local 2 // java.lang.CharSequence name
         0: .line 75
            aconst_null
            areturn
        end local 2 // java.lang.CharSequence name
        end local 1 // javax.lang.model.element.ModuleElement module
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/lang/model/util/Elements;
            0    1     1  module  Ljavax/lang/model/element/ModuleElement;
            0    1     2    name  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      module  
      name    

  public java.util.Set<? extends javax.lang.model.element.PackageElement> getAllPackageElements(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // java.lang.CharSequence name
         0: .line 104
            aload 0 /* this */
            invokeinterface javax.lang.model.util.Elements.getAllModuleElements:()Ljava/util/Set;
            astore 2 /* modules */
        start local 2 // java.util.Set modules
         1: .line 105
            aload 2 /* modules */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 7
         2: .line 106
            aload 0 /* this */
            aload 1 /* name */
            invokeinterface javax.lang.model.util.Elements.getPackageElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/PackageElement;
            astore 3 /* packageElt */
        start local 3 // javax.lang.model.element.PackageElement packageElt
         3: .line 107
            aload 3 /* packageElt */
            ifnull 5
         4: .line 108
            aload 3 /* packageElt */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            goto 6
         5: .line 109
      StackMap locals: java.util.Set javax.lang.model.element.PackageElement
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
         6: .line 107
      StackMap locals:
      StackMap stack: java.util.Set
            areturn
        end local 3 // javax.lang.model.element.PackageElement packageElt
         7: .line 111
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            iconst_1
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 3 /* result */
        start local 3 // java.util.Set result
         8: .line 112
            aload 2 /* modules */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: javax.lang.model.util.Elements java.lang.CharSequence java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ModuleElement
            astore 4 /* module */
        start local 4 // javax.lang.model.element.ModuleElement module
        10: .line 113
            aload 0 /* this */
            aload 4 /* module */
            aload 1 /* name */
            invokeinterface javax.lang.model.util.Elements.getPackageElement:(Ljavax/lang/model/element/ModuleElement;Ljava/lang/CharSequence;)Ljavax/lang/model/element/PackageElement;
            astore 6 /* packageElt */
        start local 6 // javax.lang.model.element.PackageElement packageElt
        11: .line 114
            aload 6 /* packageElt */
            ifnull 13
        12: .line 115
            aload 3 /* result */
            aload 6 /* packageElt */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // javax.lang.model.element.PackageElement packageElt
        end local 4 // javax.lang.model.element.ModuleElement module
        13: .line 112
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 117
            aload 3 /* result */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 3 // java.util.Set result
        end local 2 // java.util.Set modules
        end local 1 // java.lang.CharSequence name
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljavax/lang/model/util/Elements;
            0   15     1        name  Ljava/lang/CharSequence;
            1   15     2     modules  Ljava/util/Set<+Ljavax/lang/model/element/ModuleElement;>;
            3    7     3  packageElt  Ljavax/lang/model/element/PackageElement;
            8   15     3      result  Ljava/util/Set<Ljavax/lang/model/element/PackageElement;>;
           10   13     4      module  Ljavax/lang/model/element/ModuleElement;
           11   13     6  packageElt  Ljavax/lang/model/element/PackageElement;
    Signature: (Ljava/lang/CharSequence;)Ljava/util/Set<+Ljavax/lang/model/element/PackageElement;>;
    MethodParameters:
      Name  Flags
      name  

  public abstract javax.lang.model.element.TypeElement getTypeElement(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public javax.lang.model.element.TypeElement getTypeElement(javax.lang.model.element.ModuleElement, java.lang.CharSequence);
    descriptor: (Ljavax/lang/model/element/ModuleElement;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.ModuleElement module
        start local 2 // java.lang.CharSequence name
         0: .line 144
            aconst_null
            areturn
        end local 2 // java.lang.CharSequence name
        end local 1 // javax.lang.model.element.ModuleElement module
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/lang/model/util/Elements;
            0    1     1  module  Ljavax/lang/model/element/ModuleElement;
            0    1     2    name  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      module  
      name    

  public java.util.Set<? extends javax.lang.model.element.TypeElement> getAllTypeElements(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // java.lang.CharSequence name
         0: .line 172
            aload 0 /* this */
            invokeinterface javax.lang.model.util.Elements.getAllModuleElements:()Ljava/util/Set;
            astore 2 /* modules */
        start local 2 // java.util.Set modules
         1: .line 173
            aload 2 /* modules */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 7
         2: .line 174
            aload 0 /* this */
            aload 1 /* name */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 3 /* typeElt */
        start local 3 // javax.lang.model.element.TypeElement typeElt
         3: .line 175
            aload 3 /* typeElt */
            ifnull 5
         4: .line 176
            aload 3 /* typeElt */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            goto 6
         5: .line 177
      StackMap locals: java.util.Set javax.lang.model.element.TypeElement
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
         6: .line 175
      StackMap locals:
      StackMap stack: java.util.Set
            areturn
        end local 3 // javax.lang.model.element.TypeElement typeElt
         7: .line 179
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            iconst_1
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 3 /* result */
        start local 3 // java.util.Set result
         8: .line 180
            aload 2 /* modules */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: javax.lang.model.util.Elements java.lang.CharSequence java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ModuleElement
            astore 4 /* module */
        start local 4 // javax.lang.model.element.ModuleElement module
        10: .line 181
            aload 0 /* this */
            aload 4 /* module */
            aload 1 /* name */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljavax/lang/model/element/ModuleElement;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 6 /* typeElt */
        start local 6 // javax.lang.model.element.TypeElement typeElt
        11: .line 182
            aload 6 /* typeElt */
            ifnull 13
        12: .line 183
            aload 3 /* result */
            aload 6 /* typeElt */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // javax.lang.model.element.TypeElement typeElt
        end local 4 // javax.lang.model.element.ModuleElement module
        13: .line 180
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 185
            aload 3 /* result */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 3 // java.util.Set result
        end local 2 // java.util.Set modules
        end local 1 // java.lang.CharSequence name
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljavax/lang/model/util/Elements;
            0   15     1     name  Ljava/lang/CharSequence;
            1   15     2  modules  Ljava/util/Set<+Ljavax/lang/model/element/ModuleElement;>;
            3    7     3  typeElt  Ljavax/lang/model/element/TypeElement;
            8   15     3   result  Ljava/util/Set<Ljavax/lang/model/element/TypeElement;>;
           10   13     4   module  Ljavax/lang/model/element/ModuleElement;
           11   13     6  typeElt  Ljavax/lang/model/element/TypeElement;
    Signature: (Ljava/lang/CharSequence;)Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
    MethodParameters:
      Name  Flags
      name  

  public javax.lang.model.element.ModuleElement getModuleElement(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljavax/lang/model/element/ModuleElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // java.lang.CharSequence name
         0: .line 209
            aconst_null
            areturn
        end local 1 // java.lang.CharSequence name
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
            0    1     1  name  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Set<? extends javax.lang.model.element.ModuleElement> getAllModuleElements();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.lang.model.util.Elements this
         0: .line 230
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
    Signature: ()Ljava/util/Set<+Ljavax/lang/model/element/ModuleElement;>;

  public abstract java.util.Map<? extends javax.lang.model.element.ExecutableElement, ? extends javax.lang.model.element.AnnotationValue> getElementValuesWithDefaults(javax.lang.model.element.AnnotationMirror);
    descriptor: (Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/AnnotationMirror;)Ljava/util/Map<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
    MethodParameters:
      Name  Flags
      a     

  public abstract java.lang.String getDocComment(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public abstract boolean isDeprecated(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public javax.lang.model.util.Elements$Origin getOrigin(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/util/Elements$Origin;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.Element e
         0: .line 298
            getstatic javax.lang.model.util.Elements$Origin.EXPLICIT:Ljavax/lang/model/util/Elements$Origin;
            areturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
            0    1     1     e  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e     

  public javax.lang.model.util.Elements$Origin getOrigin(javax.lang.model.AnnotatedConstruct, javax.lang.model.element.AnnotationMirror);
    descriptor: (Ljavax/lang/model/AnnotatedConstruct;Ljavax/lang/model/element/AnnotationMirror;)Ljavax/lang/model/util/Elements$Origin;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.AnnotatedConstruct c
        start local 2 // javax.lang.model.element.AnnotationMirror a
         0: .line 331
            getstatic javax.lang.model.util.Elements$Origin.EXPLICIT:Ljavax/lang/model/util/Elements$Origin;
            areturn
        end local 2 // javax.lang.model.element.AnnotationMirror a
        end local 1 // javax.lang.model.AnnotatedConstruct c
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
            0    1     1     c  Ljavax/lang/model/AnnotatedConstruct;
            0    1     2     a  Ljavax/lang/model/element/AnnotationMirror;
    MethodParameters:
      Name  Flags
      c     
      a     

  public javax.lang.model.util.Elements$Origin getOrigin(javax.lang.model.element.ModuleElement, javax.lang.model.element.ModuleElement$Directive);
    descriptor: (Ljavax/lang/model/element/ModuleElement;Ljavax/lang/model/element/ModuleElement$Directive;)Ljavax/lang/model/util/Elements$Origin;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.ModuleElement m
        start local 2 // javax.lang.model.element.ModuleElement$Directive directive
         0: .line 363
            getstatic javax.lang.model.util.Elements$Origin.EXPLICIT:Ljavax/lang/model/util/Elements$Origin;
            areturn
        end local 2 // javax.lang.model.element.ModuleElement$Directive directive
        end local 1 // javax.lang.model.element.ModuleElement m
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/lang/model/util/Elements;
            0    1     1          m  Ljavax/lang/model/element/ModuleElement;
            0    1     2  directive  Ljavax/lang/model/element/ModuleElement$Directive;
    MethodParameters:
           Name  Flags
      m          
      directive  

  public boolean isBridge(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.ExecutableElement e
         0: .line 436
            iconst_0
            ireturn
        end local 1 // javax.lang.model.element.ExecutableElement e
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
            0    1     1     e  Ljavax/lang/model/element/ExecutableElement;
    MethodParameters:
      Name  Flags
      e     

  public abstract javax.lang.model.element.Name getBinaryName(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljavax/lang/model/element/Name;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      type  

  public abstract javax.lang.model.element.PackageElement getPackageOf(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/PackageElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      type  

  public javax.lang.model.element.ModuleElement getModuleOf(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/ModuleElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.lang.model.util.Elements this
        start local 1 // javax.lang.model.element.Element type
         0: .line 479
            aconst_null
            areturn
        end local 1 // javax.lang.model.element.Element type
        end local 0 // javax.lang.model.util.Elements this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/util/Elements;
            0    1     1  type  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      type  

  public abstract java.util.List<? extends javax.lang.model.element.Element> getAllMembers(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/TypeElement;)Ljava/util/List<+Ljavax/lang/model/element/Element;>;
    MethodParameters:
      Name  Flags
      type  

  public abstract java.util.List<? extends javax.lang.model.element.AnnotationMirror> getAllAnnotationMirrors(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/Element;)Ljava/util/List<+Ljavax/lang/model/element/AnnotationMirror;>;
    MethodParameters:
      Name  Flags
      e     

  public abstract boolean hides(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      hider   
      hidden  

  public abstract boolean overrides(javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      overrider   
      overridden  
      type        

  public abstract java.lang.String getConstantExpression(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      value  

  public abstract void printElements(java.io.Writer, javax.lang.model.element.Element[]);
    descriptor: (Ljava/io/Writer;[Ljavax/lang/model/element/Element;)V
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      w         
      elements  

  public abstract javax.lang.model.element.Name getName(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljavax/lang/model/element/Name;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      cs    

  public abstract boolean isFunctionalInterface(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "Elements.java"
NestMembers:
  javax.lang.model.util.Elements$Origin
InnerClasses:
  public abstract Directive = javax.lang.model.element.ModuleElement$Directive of javax.lang.model.element.ModuleElement
  public final Origin = javax.lang.model.util.Elements$Origin of javax.lang.model.util.Elements