public class com.sun.tools.javac.code.Type$ClassType extends com.sun.tools.javac.code.Type implements javax.lang.model.type.DeclaredType, javax.lang.model.type.ErrorType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Type$ClassType
  super_class: com.sun.tools.javac.code.Type
{
  private com.sun.tools.javac.code.Type outer_field;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE

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

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

  public com.sun.tools.javac.code.Type supertype_field;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC

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

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

  int rank_field;
    descriptor: I
    flags: (0x0000) 

  public void <init>(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Type outer
        start local 2 // com.sun.tools.javac.util.List typarams
        start local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
         0: .line 965
            aload 0 /* this */
            aload 1 /* outer */
            aload 2 /* typarams */
            aload 3 /* tsym */
            getstatic com.sun.tools.javac.code.TypeMetadata.EMPTY: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
         1: .line 966
            return
        end local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        end local 2 // com.sun.tools.javac.util.List typarams
        end local 1 // com.sun.tools.javac.code.Type outer
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    2     1     outer  Lcom/sun/tools/javac/code/Type;
            0    2     2  typarams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    2     3      tsym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
    MethodParameters:
          Name  Flags
      outer     
      typarams  
      tsym      

  public void <init>(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.TypeMetadata);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Type outer
        start local 2 // com.sun.tools.javac.util.List typarams
        start local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        start local 4 // com.sun.tools.javac.code.TypeMetadata metadata
         0: .line 970
            aload 0 /* this */
            aload 3 /* tsym */
            aload 4 /* metadata */
            invokespecial com.sun.tools.javac.code.Type.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
         1: .line 1116
            aload 0 /* this */
            iconst_m1
            putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
         2: .line 971
            aload 0 /* this */
            aload 1 /* outer */
            putfield com.sun.tools.javac.code.Type$ClassType.outer_field:Lcom/sun/tools/javac/code/Type;
         3: .line 972
            aload 0 /* this */
            aload 2 /* typarams */
            putfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
         4: .line 973
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
         5: .line 974
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
         6: .line 975
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
         7: .line 976
            return
        end local 4 // com.sun.tools.javac.code.TypeMetadata metadata
        end local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        end local 2 // com.sun.tools.javac.util.List typarams
        end local 1 // com.sun.tools.javac.code.Type outer
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    8     1     outer  Lcom/sun/tools/javac/code/Type;
            0    8     2  typarams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    8     3      tsym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    8     4  metadata  Lcom/sun/tools/javac/code/TypeMetadata;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
    MethodParameters:
          Name  Flags
      outer     
      typarams  
      tsym      
      metadata  

  public com.sun.tools.javac.code.Type$ClassType cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$ClassType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.TypeMetadata md
         0: .line 980
            new com.sun.tools.javac.code.Type$ClassType$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.outer_field:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* md */
            invokespecial com.sun.tools.javac.code.Type$ClassType$1.<init>:(Lcom/sun/tools/javac/code/Type$ClassType;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
            areturn
        end local 1 // com.sun.tools.javac.code.TypeMetadata md
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    1     1    md  Lcom/sun/tools/javac/code/TypeMetadata;
    MethodParameters:
      Name  Flags
      md    

  public com.sun.tools.javac.code.TypeTag getTag();
    descriptor: ()Lcom/sun/tools/javac/code/TypeTag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 988
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public <R, S> R accept(com.sun.tools.javac.code.Type$Visitor<R, S>, );
    descriptor: (Lcom/sun/tools/javac/code/Type$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.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Type$Visitor v
        start local 2 // java.lang.Object s
         0: .line 993
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* s */
            invokeinterface com.sun.tools.javac.code.Type$Visitor.visitClassType:(Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object s
        end local 1 // com.sun.tools.javac.code.Type$Visitor v
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    1     1     v  Lcom/sun/tools/javac/code/Type$Visitor<TR;TS;>;
            0    1     2     s  TS;
    Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Lcom/sun/tools/javac/code/Type$Visitor<TR;TS;>;TS;)TR;
    MethodParameters:
      Name  Flags
      v     
      s     

  public com.sun.tools.javac.code.Type constType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // java.lang.Object constValue
         0: .line 997
            aload 1 /* constValue */
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 998
            new com.sun.tools.javac.code.Type$ClassType$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.metadata:Lcom/sun/tools/javac/code/TypeMetadata;
            aload 2 /* value */
            invokespecial com.sun.tools.javac.code.Type$ClassType$2.<init>:(Lcom/sun/tools/javac/code/Type$ClassType;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;Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object constValue
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    2     1  constValue  Ljava/lang/Object;
            1    2     2       value  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      constValue  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1014
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 1015
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            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 7
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.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.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 7
         2: .line 1016
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1017
            aload 1 /* buf */
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1018
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.appendAnnotationsString:(Ljava/lang/StringBuilder;)V
         5: .line 1019
            aload 1 /* buf */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            iconst_0
            invokevirtual com.sun.tools.javac.code.Type$ClassType.className:(Lcom/sun/tools/javac/code/Symbol;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1020
            goto 9
         7: .line 1021
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.appendAnnotationsString:(Ljava/lang/StringBuilder;)V
         8: .line 1022
            aload 1 /* buf */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$ClassType.className:(Lcom/sun/tools/javac/code/Symbol;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 13
        10: .line 1026
            aload 1 /* buf */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 1027
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1028
            aload 1 /* buf */
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1030
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
            1   14     1   buf  Ljava/lang/StringBuilder;

  private java.lang.String className(com.sun.tools.javac.code.Symbol, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Symbol sym
        start local 2 // boolean longform
         0: .line 1034
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 9
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 16777216
            land
            lconst_0
            lcmp
            ifeq 9
         1: .line 1035
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* s */
        start local 3 // java.lang.StringBuilder s
         2: .line 1036
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            astore 4 /* is */
        start local 4 // com.sun.tools.javac.util.List is
         3: goto 7
         4: .line 1037
      StackMap locals: java.lang.StringBuilder com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* s */
            ldc "&"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1038
            aload 3 /* s */
            aload 4 /* is */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1036
            aload 4 /* is */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* is */
      StackMap locals:
      StackMap stack:
         7: aload 4 /* is */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 4
        end local 4 // com.sun.tools.javac.util.List is
         8: .line 1040
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder s
         9: .line 1041
      StackMap locals:
      StackMap stack:
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 25
        10: .line 1043
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 4 /* norm */
        start local 4 // com.sun.tools.javac.code.Type$ClassType norm
        11: .line 1044
            aload 4 /* norm */
            ifnonnull 14
        12: .line 1045
            ldc "anonymous.class"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            invokestatic com.sun.tools.javac.util.Log.getLocalizedString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        13: .line 1046
            goto 22
        end local 3 // java.lang.String s
      StackMap locals: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Symbol int top com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
        14: aload 4 /* norm */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            ifnull 19
            aload 4 /* norm */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 19
        15: .line 1047
            ldc "anonymous.class"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 1048
            aload 4 /* norm */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            aastore
        17: .line 1047
            invokestatic com.sun.tools.javac.util.Log.getLocalizedString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        18: .line 1049
            goto 22
        end local 3 // java.lang.String s
        19: .line 1050
      StackMap locals:
      StackMap stack:
            ldc "anonymous.class"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 1051
            aload 4 /* norm */
            getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
            aastore
        21: .line 1050
            invokestatic com.sun.tools.javac.util.Log.getLocalizedString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        22: .line 1053
      StackMap locals: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Symbol int java.lang.String com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
            getstatic com.sun.tools.javac.code.Type$ClassType.moreInfo:Z
            ifeq 24
        23: .line 1054
            new java.lang.StringBuilder
            dup
            aload 3 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sym */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* s */
        24: .line 1055
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 4 // com.sun.tools.javac.code.Type$ClassType norm
        end local 3 // java.lang.String s
        25: .line 1056
      StackMap locals:
      StackMap stack:
            iload 2 /* longform */
            ifeq 27
        26: .line 1057
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            areturn
        27: .line 1059
      StackMap locals:
      StackMap stack:
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            areturn
        end local 2 // boolean longform
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lcom/sun/tools/javac/code/Type$ClassType;
            0   28     1       sym  Lcom/sun/tools/javac/code/Symbol;
            0   28     2  longform  Z
            2    9     3         s  Ljava/lang/StringBuilder;
            3    8     4        is  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           13   14     3         s  Ljava/lang/String;
           18   19     3         s  Ljava/lang/String;
           22   25     3         s  Ljava/lang/String;
           11   25     4      norm  Lcom/sun/tools/javac/code/Type$ClassType;
    MethodParameters:
          Name  Flags
      sym       
      longform  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getTypeArguments();
    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.Type$ClassType this
         0: .line 1065
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
            ifnonnull 4
         1: .line 1066
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.complete:()V
         2: .line 1067
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
            ifnonnull 4
         3: .line 1068
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
         4: .line 1070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public boolean hasErasedSupertypes();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1074
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isRaw:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public com.sun.tools.javac.code.Type getEnclosingType();
    descriptor: ()Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1079
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.outer_field:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public void setEnclosingType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Type outer
         0: .line 1083
            aload 0 /* this */
            aload 1 /* outer */
            putfield com.sun.tools.javac.code.Type$ClassType.outer_field:Lcom/sun/tools/javac/code/Type;
         1: .line 1084
            return
        end local 1 // com.sun.tools.javac.code.Type outer
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    2     1  outer  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      outer  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> allparams();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1087
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
            ifnonnull 2
         1: .line 1088
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.prependList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
         2: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public boolean isErroneous();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1095
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifne 4
         1: .line 1096
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.code.Type$ClassType.isErroneous:(Lcom/sun/tools/javac/util/List;)Z
            ifne 4
         2: .line 1097
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            if_acmpeq 3
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifne 4
         3: .line 1094
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public boolean isParameterized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1101
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.allparams:()Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public boolean isReference();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1107
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public boolean isNullOrReference();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1112
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public boolean isRaw();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1125
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            if_acmpeq 4
         1: .line 1126
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 4
         2: .line 1127
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.allparams:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 1124
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public boolean contains(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
        start local 1 // com.sun.tools.javac.code.Type elem
         0: .line 1132
            aload 1 /* elem */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type.equalsIgnoreMetadata:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
         1: .line 1133
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isParameterized:()Z
            ifeq 3
         2: .line 1134
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* elem */
            invokevirtual com.sun.tools.javac.code.Type.contains:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 1 /* elem */
            invokestatic com.sun.tools.javac.code.Type$ClassType.contains:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
         3: .line 1135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isCompound:()Z
            ifeq 5
         4: .line 1136
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
            aload 1 /* elem */
            invokevirtual com.sun.tools.javac.code.Type.contains:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
            aload 1 /* elem */
            invokestatic com.sun.tools.javac.code.Type$ClassType.contains:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
         5: .line 1131
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Type elem
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    7     1  elem  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      elem  

  public void complete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1140
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.complete:()V
         1: .line 1141
            return
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public javax.lang.model.type.TypeKind getKind();
    descriptor: ()Ljavax/lang/model/type/TypeKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ClassType this
         0: .line 1145
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.apiComplete:()V
         1: .line 1146
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 2
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic javax.lang.model.type.TypeKind.ERROR:Ljavax/lang/model/type/TypeKind;
      StackMap locals:
      StackMap stack: javax.lang.model.type.TypeKind
         3: areturn
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Type$ClassType;

  public <R, P> R accept(javax.lang.model.type.TypeVisitor<R, P>, );
    descriptor: (Ljavax/lang/model/type/TypeVisitor;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.Type$ClassType this
        start local 1 // javax.lang.model.type.TypeVisitor v
        start local 2 // java.lang.Object p
         0: .line 1151
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.type.TypeVisitor.visitDeclared:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.type.TypeVisitor v
        end local 0 // com.sun.tools.javac.code.Type$ClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ClassType;
            0    1     1     v  Ljavax/lang/model/type/TypeVisitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/type/TypeVisitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public com.sun.tools.javac.code.Type cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.sun.tools.javac.code.Type$ClassType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$ClassType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.type.TypeMirror getEnclosingType();
    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.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Element asElement();
    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.Type$ClassType.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getTypeArguments();
    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.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Type.java"
NestHost: com.sun.tools.javac.code.Type
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
  com.sun.tools.javac.code.Type$ClassType$1
  com.sun.tools.javac.code.Type$ClassType$2
  public abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type