public class com.sun.tools.javac.code.Symbol$ClassSymbol extends com.sun.tools.javac.code.Symbol$TypeSymbol implements javax.lang.model.element.TypeElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Symbol$ClassSymbol
  super_class: com.sun.tools.javac.code.Symbol$TypeSymbol
{
  public com.sun.tools.javac.code.Scope$WriteableScope members_field;
    descriptor: Lcom/sun/tools/javac/code/Scope$WriteableScope;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.Name fullname;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.Name flatname;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileObject sourcefile;
    descriptor: Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileObject classfile;
    descriptor: Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$ClassSymbol> trans_local;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;>;

  private com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata annotationTypeMetadata;
    descriptor: Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$RecordComponent> recordComponents;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$RecordComponent;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> permitted;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;

  public boolean isPermittedExplicit;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public void <init>(long, com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // long flags
        start local 3 // com.sun.tools.javac.util.Name name
        start local 4 // com.sun.tools.javac.code.Type type
        start local 5 // com.sun.tools.javac.code.Symbol owner
         0: .line 1304
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            lload 1 /* flags */
            aload 3 /* name */
            aload 4 /* type */
            aload 5 /* owner */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.<init>:(Lcom/sun/tools/javac/code/Kinds$Kind;JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
         1: .line 1294
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
         2: .line 1301
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.isPermittedExplicit:Z
         3: .line 1305
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
         4: .line 1306
            aload 0 /* this */
            aload 3 /* name */
            aload 5 /* owner */
            invokestatic com.sun.tools.javac.code.Symbol$ClassSymbol.formFullName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
         5: .line 1307
            aload 0 /* this */
            aload 3 /* name */
            aload 5 /* owner */
            invokestatic com.sun.tools.javac.code.Symbol$ClassSymbol.formFlatName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
         6: .line 1308
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
         7: .line 1309
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
         8: .line 1310
            aload 0 /* this */
            invokestatic com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata.notAnAnnotationType:()Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.annotationTypeMetadata:Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
         9: .line 1311
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.permitted:Lcom/sun/tools/javac/util/List;
        10: .line 1312
            return
        end local 5 // com.sun.tools.javac.code.Symbol owner
        end local 4 // com.sun.tools.javac.code.Type type
        end local 3 // com.sun.tools.javac.util.Name name
        end local 1 // long flags
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   11     1  flags  J
            0   11     3   name  Lcom/sun/tools/javac/util/Name;
            0   11     4   type  Lcom/sun/tools/javac/code/Type;
            0   11     5  owner  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
       Name  Flags
      flags  
      name   
      type   
      owner  

  public void <init>(long, com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol);
    descriptor: (JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // long flags
        start local 3 // com.sun.tools.javac.util.Name name
        start local 4 // com.sun.tools.javac.code.Symbol owner
         0: .line 1315
            aload 0 /* this */
         1: .line 1316
            lload 1 /* flags */
         2: .line 1317
            aload 3 /* name */
         3: .line 1318
            new com.sun.tools.javac.code.Type$ClassType
            dup
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            aconst_null
            aconst_null
            invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
         4: .line 1319
            aload 4 /* owner */
            invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
         5: .line 1320
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            putfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
         6: .line 1321
            return
        end local 4 // com.sun.tools.javac.code.Symbol owner
        end local 3 // com.sun.tools.javac.util.Name name
        end local 1 // long flags
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    7     1  flags  J
            0    7     3   name  Lcom/sun/tools/javac/util/Name;
            0    7     4  owner  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
       Name  Flags
      flags  
      name   
      owner  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1326
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.className:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public long flags();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1330
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.complete:()V
         1: .line 1331
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
            lreturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.code.Scope$WriteableScope members();
    descriptor: ()Lcom/sun/tools/javac/code/Scope$WriteableScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1335
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.complete:()V
         1: .line 1336
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Attribute$Compound> getRawAttributes();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1341
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.complete:()V
         1: .line 1342
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.getRawAttributes:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute$Compound;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Attribute$TypeCompound> getRawTypeAttributes();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1347
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.complete:()V
         1: .line 1348
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.getRawTypeAttributes:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute$TypeCompound;>;

  public com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 1352
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
            ifnonnull 5
         1: .line 1353
            aload 0 /* this */
            new com.sun.tools.javac.code.Type$ClassType
            dup
            aload 1 /* types */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
         2: .line 1354
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
         3: .line 1355
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
            invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
         4: .line 1353
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
         5: .line 1356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    6     1  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      types  

  public java.lang.String className();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1360
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 3
         1: .line 1362
            ldc "anonymous.class"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
            aastore
            invokestatic com.sun.tools.javac.util.Log.getLocalizedString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         2: .line 1361
            areturn
         3: .line 1364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.util.Name getQualifiedName();
    descriptor: ()Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1369
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> getEnclosedElements();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1374
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.getEnclosedElements:()Lcom/sun/tools/javac/util/List;
            astore 1 /* result */
        start local 1 // com.sun.tools.javac.util.List result
         1: .line 1375
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 7
         2: .line 1376
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            astore 2 /* reversed */
        start local 2 // com.sun.tools.javac.util.List reversed
         3: .line 1377
            aload 2 /* reversed */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$RecordComponent
            astore 3 /* rc */
        start local 3 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         5: .line 1378
            aload 1 /* result */
            aload 3 /* rc */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 1 /* result */
        end local 3 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         6: .line 1377
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // com.sun.tools.javac.util.List reversed
         7: .line 1381
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.List
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // com.sun.tools.javac.util.List result
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            1    8     1    result  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
            3    7     2  reversed  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$RecordComponent;>;
            5    6     3        rc  Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;

  public com.sun.tools.javac.util.Name flatName();
    descriptor: ()Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1385
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public boolean isSubClass(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol base
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 1389
            aload 0 /* this */
            aload 1 /* base */
            if_acmpne 2
         1: .line 1390
            iconst_1
            ireturn
         2: .line 1391
      StackMap locals:
      StackMap stack:
            aload 1 /* base */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifeq 13
         3: .line 1392
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
         4: goto 11
         5: .line 1393
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* types */
            aload 3 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 4 /* is */
        start local 4 // com.sun.tools.javac.util.List is
         6: .line 1394
            goto 9
         7: .line 1396
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* is */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* base */
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSubClass:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
            ifeq 8
            iconst_1
            ireturn
         8: .line 1395
      StackMap locals:
      StackMap stack:
            aload 4 /* is */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* is */
         9: .line 1394
      StackMap locals:
      StackMap stack:
            aload 4 /* is */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 7
        end local 4 // com.sun.tools.javac.util.List is
        10: .line 1392
            aload 2 /* types */
            aload 3 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* t */
      StackMap locals:
      StackMap stack:
        11: aload 3 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 5
        end local 3 // com.sun.tools.javac.code.Type t
        12: .line 1397
            goto 18
        13: .line 1398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
        14: goto 17
        15: .line 1399
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 3 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* base */
            if_acmpne 16
            iconst_1
            ireturn
        16: .line 1398
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            aload 3 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* t */
      StackMap locals:
      StackMap stack:
        17: aload 3 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 15
        end local 3 // com.sun.tools.javac.code.Type t
        18: .line 1401
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Symbol base
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   19     1   base  Lcom/sun/tools/javac/code/Symbol;
            0   19     2  types  Lcom/sun/tools/javac/code/Types;
            4   12     3      t  Lcom/sun/tools/javac/code/Type;
            6   10     4     is  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           14   18     3      t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      base   
      types  

  public void complete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1407
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
            astore 1 /* origCompleter */
        start local 1 // com.sun.tools.javac.code.Symbol$Completer origCompleter
         1: .line 1409
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.complete:()V
         2: .line 1410
            goto 8
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$Completer
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
         3: astore 2 /* ex */
        start local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
         4: .line 1411
            aload 2 /* ex */
            getfield com.sun.tools.javac.code.Symbol$CompletionFailure.dcfh:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            aload 0 /* this */
            aload 1 /* origCompleter */
            invokevirtual com.sun.tools.javac.code.DeferredCompletionFailureHandler.classSymbolCompleteFailed:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$Completer;)V
         5: .line 1413
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
            ldc 9
            lor
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
         6: .line 1414
            aload 0 /* this */
            new com.sun.tools.javac.code.Type$ErrorType
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Type;)V
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
         7: .line 1415
            aload 2 /* ex */
            athrow
        end local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
         8: .line 1417
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.code.Symbol$Completer origCompleter
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            1    9     1  origCompleter  Lcom/sun/tools/javac/code/Symbol$Completer;
            4    8     2             ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
           1     2       3  Class com.sun.tools.javac.code.Symbol$CompletionFailure
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getInterfaces();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1421
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.apiComplete:()V
         1: .line 1422
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            instanceof com.sun.tools.javac.code.Type$ClassType
            ifeq 8
         2: .line 1423
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 1 /* t */
        start local 1 // com.sun.tools.javac.code.Type$ClassType t
         3: .line 1424
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            ifnonnull 5
         4: .line 1425
            aload 1 /* t */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
         5: .line 1426
      StackMap locals: com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.all_interfaces_field:Lcom/sun/tools/javac/util/List;
            ifnull 7
         6: .line 1427
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.all_interfaces_field:Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.code.Type.getModelTypes:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            areturn
         7: .line 1428
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.code.Type$ClassType t
         8: .line 1430
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            3    8     1     t  Lcom/sun/tools/javac/code/Type$ClassType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public com.sun.tools.javac.code.Type getSuperclass();
    descriptor: ()Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1436
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.apiComplete:()V
         1: .line 1437
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            instanceof com.sun.tools.javac.code.Type$ClassType
            ifeq 9
         2: .line 1438
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 1 /* t */
        start local 1 // com.sun.tools.javac.code.Type$ClassType t
         3: .line 1439
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
            ifnonnull 5
         4: .line 1440
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
         5: .line 1442
      StackMap locals: com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isInterface:()Z
            ifeq 7
         6: .line 1443
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            goto 8
         7: .line 1444
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getModelType:()Lcom/sun/tools/javac/code/Type;
         8: .line 1442
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.tools.javac.code.Type$ClassType t
         9: .line 1446
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            3    9     1     t  Lcom/sun/tools/javac/code/Type$ClassType;

  private com.sun.tools.javac.code.Symbol$ClassSymbol getSuperClassToSearchForAnnotations();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1456
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getSuperclass:()Lcom/sun/tools/javac/code/Type;
            astore 1 /* sup */
        start local 1 // com.sun.tools.javac.code.Type sup
         1: .line 1458
            aload 1 /* sup */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
            aload 1 /* sup */
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 3
         2: .line 1459
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aconst_null
            areturn
         3: .line 1461
      StackMap locals:
      StackMap stack:
            aload 1 /* sup */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            areturn
        end local 1 // com.sun.tools.javac.code.Type sup
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            1    4     1   sup  Lcom/sun/tools/javac/code/Type;

  protected <A extends java.lang.annotation.Annotation> A[] getInheritedAnnotations(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // java.lang.Class annoType
         0: .line 1468
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getSuperClassToSearchForAnnotations:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            astore 2 /* sup */
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol sup
         1: .line 1470
            aload 2 /* sup */
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* annoType */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.getInheritedAnnotations:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            goto 3
         2: .line 1471
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
            aload 2 /* sup */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
         3: .line 1470
      StackMap locals:
      StackMap stack: java.lang.annotation.Annotation[]
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol sup
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    4     1  annoType  Ljava/lang/Class<TA;>;
            1    4     2       sup  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)[TA;
    MethodParameters:
          Name  Flags
      annoType  

  public javax.lang.model.element.ElementKind getKind();
    descriptor: ()Ljavax/lang/model/element/ElementKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1478
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.apiComplete:()V
         1: .line 1479
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
            lstore 1 /* flags */
        start local 1 // long flags
         2: .line 1480
            lload 1 /* flags */
            ldc 8192
            land
            lconst_0
            lcmp
            ifeq 4
         3: .line 1481
            getstatic javax.lang.model.element.ElementKind.ANNOTATION_TYPE:Ljavax/lang/model/element/ElementKind;
            areturn
         4: .line 1482
      StackMap locals: long
      StackMap stack:
            lload 1 /* flags */
            ldc 512
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 1483
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            areturn
         6: .line 1484
      StackMap locals:
      StackMap stack:
            lload 1 /* flags */
            ldc 16384
            land
            lconst_0
            lcmp
            ifeq 8
         7: .line 1485
            getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
            areturn
         8: .line 1486
      StackMap locals:
      StackMap stack:
            lload 1 /* flags */
            ldc 2305843009213693952
            land
            lconst_0
            lcmp
            ifeq 10
         9: .line 1487
            getstatic javax.lang.model.element.ElementKind.RECORD:Ljavax/lang/model/element/ElementKind;
            areturn
        10: .line 1489
      StackMap locals:
      StackMap stack:
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            areturn
        end local 1 // long flags
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            2   11     1  flags  J

  public java.util.Set<javax.lang.model.element.Modifier> getModifiers();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1494
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.apiComplete:()V
         1: .line 1495
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
            lstore 1 /* flags */
        start local 1 // long flags
         2: .line 1496
            lload 1 /* flags */
            ldc -8796093022209
            land
            invokestatic com.sun.tools.javac.code.Flags.asModifierSet:(J)Ljava/util/Set;
            areturn
        end local 1 // long flags
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            2    3     1  flags  J
    Signature: ()Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;

  public com.sun.tools.javac.code.Symbol$RecordComponent getRecordComponent(com.sun.tools.javac.code.Symbol$VarSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$VarSymbol;)Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol$VarSymbol field
         0: .line 1500
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$VarSymbol top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$RecordComponent
            astore 2 /* rc */
        start local 2 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         2: .line 1501
            aload 2 /* rc */
            getfield com.sun.tools.javac.code.Symbol$RecordComponent.name:Lcom/sun/tools/javac/util/Name;
            aload 1 /* field */
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
            if_acmpne 4
         3: .line 1502
            aload 2 /* rc */
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         4: .line 1500
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1505
            aconst_null
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$VarSymbol field
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    6     1  field  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            2    4     2     rc  Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    MethodParameters:
       Name  Flags
      field  

  public com.sun.tools.javac.code.Symbol$RecordComponent getRecordComponent(com.sun.tools.javac.tree.JCTree$JCVariableDecl, boolean, com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCAnnotation>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;ZLcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl var
        start local 2 // boolean addIfMissing
        start local 3 // com.sun.tools.javac.util.List annotations
         0: .line 1509
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCVariableDecl int com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$RecordComponent
            astore 4 /* rc */
        start local 4 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         2: .line 1513
            aload 4 /* rc */
            getfield com.sun.tools.javac.code.Symbol$RecordComponent.name:Lcom/sun/tools/javac/util/Name;
            aload 1 /* var */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.name:Lcom/sun/tools/javac/util/Name;
            if_acmpne 4
            aload 1 /* var */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.pos:I
            aload 4 /* rc */
            getfield com.sun.tools.javac.code.Symbol$RecordComponent.pos:I
            if_icmpne 4
         3: .line 1514
            aload 4 /* rc */
            areturn
        end local 4 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         4: .line 1509
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1517
            aconst_null
            astore 4 /* rc */
        start local 4 // com.sun.tools.javac.code.Symbol$RecordComponent rc
         6: .line 1518
            iload 2 /* addIfMissing */
            ifeq 8
         7: .line 1519
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            new com.sun.tools.javac.code.Symbol$RecordComponent
            dup
            aload 1 /* var */
            aload 3 /* annotations */
            invokespecial com.sun.tools.javac.code.Symbol$RecordComponent.<init>:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;Lcom/sun/tools/javac/util/List;)V
            dup
            astore 4 /* rc */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
         8: .line 1521
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCVariableDecl int com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$RecordComponent
      StackMap stack:
            aload 4 /* rc */
            areturn
        end local 4 // com.sun.tools.javac.code.Symbol$RecordComponent rc
        end local 3 // com.sun.tools.javac.util.List annotations
        end local 2 // boolean addIfMissing
        end local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl var
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    9     1           var  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            0    9     2  addIfMissing  Z
            0    9     3   annotations  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;>;
            2    4     4            rc  Lcom/sun/tools/javac/code/Symbol$RecordComponent;
            6    9     4            rc  Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;ZLcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;>;)Lcom/sun/tools/javac/code/Symbol$RecordComponent;
    MethodParameters:
              Name  Flags
      var           
      addIfMissing  
      annotations   

  public com.sun.tools.javac.util.List<? extends com.sun.tools.javac.code.Symbol$RecordComponent> getRecordComponents();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1527
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.recordComponents:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: ()Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/code/Symbol$RecordComponent;>;

  public javax.lang.model.element.NestingKind getNestingKind();
    descriptor: ()Ljavax/lang/model/element/NestingKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1532
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.apiComplete:()V
         1: .line 1533
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.PCK:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 3
         2: .line 1534
            getstatic javax.lang.model.element.NestingKind.TOP_LEVEL:Ljavax/lang/model/element/NestingKind;
            areturn
         3: .line 1535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 5
         4: .line 1536
            getstatic javax.lang.model.element.NestingKind.ANONYMOUS:Ljavax/lang/model/element/NestingKind;
            areturn
         5: .line 1537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 7
         6: .line 1538
            getstatic javax.lang.model.element.NestingKind.LOCAL:Ljavax/lang/model/element/NestingKind;
            areturn
         7: .line 1540
      StackMap locals:
      StackMap stack:
            getstatic javax.lang.model.element.NestingKind.MEMBER:Ljavax/lang/model/element/NestingKind;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  protected <A extends java.lang.annotation.Annotation> com.sun.tools.javac.code.Attribute$Compound getAttribute(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // java.lang.Class annoType
         0: .line 1546
            aload 0 /* this */
            aload 1 /* annoType */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.getAttribute:(Ljava/lang/Class;)Lcom/sun/tools/javac/code/Attribute$Compound;
            astore 2 /* attrib */
        start local 2 // com.sun.tools.javac.code.Attribute$Compound attrib
         1: .line 1548
            aload 1 /* annoType */
            ldc Ljava/lang/annotation/Inherited;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            istore 3 /* inherited */
        start local 3 // boolean inherited
         2: .line 1549
            aload 2 /* attrib */
            ifnonnull 3
            iload 3 /* inherited */
            ifne 4
         3: .line 1550
      StackMap locals: com.sun.tools.javac.code.Attribute$Compound int
      StackMap stack:
            aload 2 /* attrib */
            areturn
         4: .line 1553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getSuperClassToSearchForAnnotations:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            astore 4 /* superType */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol superType
         5: .line 1554
            aload 4 /* superType */
            ifnonnull 6
            aconst_null
            goto 7
         6: .line 1555
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
            aload 4 /* superType */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getAttribute:(Ljava/lang/Class;)Lcom/sun/tools/javac/code/Attribute$Compound;
         7: .line 1554
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Attribute$Compound
            areturn
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol superType
        end local 3 // boolean inherited
        end local 2 // com.sun.tools.javac.code.Attribute$Compound attrib
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    8     1   annoType  Ljava/lang/Class<TA;>;
            1    8     2     attrib  Lcom/sun/tools/javac/code/Attribute$Compound;
            2    8     3  inherited  Z
            5    8     4  superType  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Lcom/sun/tools/javac/code/Attribute$Compound;
    MethodParameters:
          Name  Flags
      annoType  final

  public <R, P> R accept(javax.lang.model.element.ElementVisitor<R, P>, );
    descriptor: (Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // javax.lang.model.element.ElementVisitor v
        start local 2 // java.lang.Object p
         0: .line 1560
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ElementVisitor.visitType:(Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ElementVisitor v
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    1     1     v  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/element/ElementVisitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public <R, P> R accept(com.sun.tools.javac.code.Symbol$Visitor<R, P>, );
    descriptor: (Lcom/sun/tools/javac/code/Symbol$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol$Visitor v
        start local 2 // java.lang.Object p
         0: .line 1564
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface com.sun.tools.javac.code.Symbol$Visitor.visitClassSymbol:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.tools.javac.code.Symbol$Visitor v
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    1     1     v  Lcom/sun/tools/javac/code/Symbol$Visitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Lcom/sun/tools/javac/code/Symbol$Visitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public void markAbstractIfNeeded(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 1568
            aload 1 /* types */
            getfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            ifnull 5
         1: .line 1569
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
            ldc 16384
            land
            lconst_0
            lcmp
            ifeq 5
            aload 1 /* types */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* types */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.enumSym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 5
         2: .line 1570
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
            ldc 1040
            land
            lconst_0
            lcmp
            ifne 5
         3: .line 1571
            aload 1 /* types */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstract:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            ifnull 5
         4: .line 1573
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
            ldc 1024
            lor
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
         5: .line 1575
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    6     1  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      types  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1579
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
         1: .line 1580
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
         2: .line 1581
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
         3: .line 1582
            aload 0 /* this */
            lconst_0
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
         4: .line 1583
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            instanceof com.sun.tools.javac.code.Type$ClassType
            ifeq 13
         5: .line 1584
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 1 /* t */
        start local 1 // com.sun.tools.javac.code.Type$ClassType t
         6: .line 1585
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            invokevirtual com.sun.tools.javac.code.Type$ClassType.setEnclosingType:(Lcom/sun/tools/javac/code/Type;)V
         7: .line 1586
            aload 1 /* t */
            iconst_m1
            putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
         8: .line 1587
            aload 1 /* t */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
         9: .line 1588
            aload 1 /* t */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
        10: .line 1589
            aload 1 /* t */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
        11: .line 1590
            aload 1 /* t */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
        12: .line 1591
            aload 1 /* t */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.all_interfaces_field:Lcom/sun/tools/javac/util/List;
        end local 1 // com.sun.tools.javac.code.Type$ClassType t
        13: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.clearAnnotationMetadata:()V
        14: .line 1594
            return
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            6   13     1     t  Lcom/sun/tools/javac/code/Type$ClassType;

  public void clearAnnotationMetadata();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1597
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.metadata:Lcom/sun/tools/javac/code/SymbolMetadata;
         1: .line 1598
            aload 0 /* this */
            invokestatic com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata.notAnAnnotationType:()Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.annotationTypeMetadata:Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
         2: .line 1599
            return
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata getAnnotationTypeMetadata();
    descriptor: ()Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1603
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.annotationTypeMetadata:Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public boolean isAnnotationType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1608
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
            ldc 8192
            land
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public void setAnnotationTypeMetadata(com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata);
    descriptor: (Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
        start local 1 // com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata a
         0: .line 1612
            aload 1 /* a */
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1613
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.annotationTypeMetadata:Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
            invokevirtual com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata.isMetadataForAnnotationType:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         4: .line 1614
            aload 0 /* this */
            aload 1 /* a */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.annotationTypeMetadata:Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
         5: .line 1615
            return
        end local 1 // com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata a
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    6     1     a  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
    MethodParameters:
      Name  Flags
      a     

  public boolean isRecord();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1618
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
            ldc 2305843009213693952
            land
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getPermittedSubclasses();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
         0: .line 1623
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.permitted:Lcom/sun/tools/javac/util/List;
            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/sun/tools/javac/code/Symbol$ClassSymbol.lambda$0(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type; (6)
                  (Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ClassSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public java.util.List getPermittedSubclasses();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getPermittedSubclasses:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.type.TypeMirror getSuperclass();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getSuperclass:()Lcom/sun/tools/javac/code/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getInterfaces();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getInterfaces:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.type.TypeMirror asType();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.asType:()Lcom/sun/tools/javac/code/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Element getEnclosingElement();
    descriptor: ()Ljavax/lang/model/element/Element;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getEnclosingElement:()Lcom/sun/tools/javac/code/Symbol;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Name getSimpleName();
    descriptor: ()Ljavax/lang/model/element/Name;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getEnclosedElements();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getEnclosedElements:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getTypeParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getTypeParameters:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getRecordComponents();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getRecordComponents:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Name getQualifiedName();
    descriptor: ()Ljavax/lang/model/element/Name;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static com.sun.tools.javac.code.Type lambda$0(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol s
         0: .line 1623
            aload 0 /* s */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lcom/sun/tools/javac/code/Symbol;
}
SourceFile: "Symbol.java"
NestHost: com.sun.tools.javac.code.Symbol
InnerClasses:
  public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
  public TypeCompound = com.sun.tools.javac.code.Attribute$TypeCompound of com.sun.tools.javac.code.Attribute
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public RecordComponent = com.sun.tools.javac.code.Symbol$RecordComponent of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public TypeVariableSymbol = com.sun.tools.javac.code.Symbol$TypeVariableSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  public abstract Visitor = com.sun.tools.javac.code.Symbol$Visitor of com.sun.tools.javac.code.Symbol
  public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
  public ErrorType = com.sun.tools.javac.code.Type$ErrorType of com.sun.tools.javac.code.Type
  public AnnotationTypeMetadata = com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata of com.sun.tools.javac.comp.Annotate
  public JCAnnotation = com.sun.tools.javac.tree.JCTree$JCAnnotation of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles