public interface javax.lang.model.element.TypeElement extends javax.lang.model.element.Element, javax.lang.model.element.Parameterizable, javax.lang.model.element.QualifiedNameable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: javax.lang.model.element.TypeElement
  super_class: java.lang.Object
{
  public abstract javax.lang.model.type.TypeMirror asType();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

  public abstract javax.lang.model.element.NestingKind getNestingKind();
    descriptor: ()Ljavax/lang/model/element/NestingKind;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.lang.model.element.Name getQualifiedName();
    descriptor: ()Ljavax/lang/model/element/Name;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.lang.model.element.Name getSimpleName();
    descriptor: ()Ljavax/lang/model/element/Name;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.lang.model.type.TypeMirror getSuperclass();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.List<? extends javax.lang.model.type.TypeMirror> getInterfaces();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;

  public abstract java.util.List<? extends javax.lang.model.element.TypeParameterElement> getTypeParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<+Ljavax/lang/model/element/TypeParameterElement;>;

  public java.util.List<? extends javax.lang.model.element.RecordComponentElement> getRecordComponents();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.lang.model.element.TypeElement this
         0: .line 198
            invokestatic java.util.List.of:()Ljava/util/List;
            areturn
        end local 0 // javax.lang.model.element.TypeElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/TypeElement;
    Signature: ()Ljava/util/List<+Ljavax/lang/model/element/RecordComponentElement;>;

  public java.util.List<? extends javax.lang.model.type.TypeMirror> getPermittedSubclasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.lang.model.element.TypeElement this
         0: .line 215
            invokestatic java.util.List.of:()Ljava/util/List;
            areturn
        end local 0 // javax.lang.model.element.TypeElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/TypeElement;
    Signature: ()Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
    RuntimeInvisibleAnnotations: 
      jdk.internal.javac.PreviewFeature(feature = jdk.internal.javac.PreviewFeature$Feature.SEALED_CLASSES:Ljdk/internal/javac/PreviewFeature$Feature;, reflective = true)

  public abstract javax.lang.model.element.Element getEnclosingElement();
    descriptor: ()Ljavax/lang/model/element/Element;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "TypeElement.java"
InnerClasses:
  public final Feature = jdk.internal.javac.PreviewFeature$Feature of jdk.internal.javac.PreviewFeature