class com.sun.tools.javac.jvm.ClassReader$1 extends com.sun.tools.javac.code.Type$ClassType
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.ClassReader$1
  super_class: com.sun.tools.javac.code.Type$ClassType
{
  boolean completed;
    descriptor: Z
    flags: (0x0000) 

  final com.sun.tools.javac.jvm.ClassReader this$0;
    descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.jvm.ClassReader$1 this
        start local 2 // com.sun.tools.javac.code.Type $anonymous0
        start local 3 // com.sun.tools.javac.util.List $anonymous1
        start local 4 // com.sun.tools.javac.code.Symbol$TypeSymbol $anonymous2
         0: .line 561
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.jvm.ClassReader$1.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            aload 2 /* $anonymous0 */
            aload 3 /* $anonymous1 */
            aload 4 /* $anonymous2 */
            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
         1: .line 562
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.jvm.ClassReader$1.completed:Z
         2: .line 561
            return
        end local 4 // com.sun.tools.javac.code.Symbol$TypeSymbol $anonymous2
        end local 3 // com.sun.tools.javac.util.List $anonymous1
        end local 2 // com.sun.tools.javac.code.Type $anonymous0
        end local 0 // com.sun.tools.javac.jvm.ClassReader$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/sun/tools/javac/jvm/ClassReader$1;
            0    3     2  $anonymous0  Lcom/sun/tools/javac/code/Type;
            0    3     3  $anonymous1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    3     4  $anonymous2  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    MethodParameters:
             Name  Flags
      this$0       final
      $anonymous0  
      $anonymous1  
      $anonymous2  

  public com.sun.tools.javac.code.Type getEnclosingType();
    descriptor: ()Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.tools.javac.jvm.ClassReader$1 this
         0: .line 565
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$1.completed:Z
            ifne 18
         1: .line 566
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.jvm.ClassReader$1.completed:Z
         2: .line 567
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$1.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.complete:()V
         3: .line 568
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$1.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.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            astore 1 /* enclosingType */
        start local 1 // com.sun.tools.javac.code.Type enclosingType
         4: .line 569
            aload 1 /* enclosingType */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            if_acmpeq 17
         5: .line 571
            aload 0 /* this */
            invokespecial 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;
         6: .line 570
            astore 2 /* typeArgs */
        start local 2 // com.sun.tools.javac.util.List typeArgs
         7: .line 573
            aload 1 /* enclosingType */
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
         8: .line 572
            astore 3 /* typeParams */
        start local 3 // com.sun.tools.javac.util.List typeParams
         9: .line 574
            aload 3 /* typeParams */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            aload 2 /* typeArgs */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            if_icmpeq 12
        10: .line 576
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$1.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* enclosingType */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokespecial com.sun.tools.javac.code.Type$ClassType.setEnclosingType:(Lcom/sun/tools/javac/code/Type;)V
        11: .line 577
            goto 18
        12: .line 578
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$1.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* enclosingType */
        13: .line 579
            aload 3 /* typeParams */
        14: .line 580
            aload 2 /* typeArgs */
        15: .line 578
            invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            invokespecial com.sun.tools.javac.code.Type$ClassType.setEnclosingType:(Lcom/sun/tools/javac/code/Type;)V
        end local 3 // com.sun.tools.javac.util.List typeParams
        end local 2 // com.sun.tools.javac.util.List typeArgs
        16: .line 582
            goto 18
        17: .line 583
      StackMap locals:
      StackMap stack:
            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$ClassType.setEnclosingType:(Lcom/sun/tools/javac/code/Type;)V
        end local 1 // com.sun.tools.javac.code.Type enclosingType
        18: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            areturn
        end local 0 // com.sun.tools.javac.jvm.ClassReader$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/sun/tools/javac/jvm/ClassReader$1;
            4   18     1  enclosingType  Lcom/sun/tools/javac/code/Type;
            7   16     2       typeArgs  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            9   16     3     typeParams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  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.jvm.ClassReader$1 this
        start local 1 // com.sun.tools.javac.code.Type outer
         0: .line 590
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Type outer
        end local 0 // com.sun.tools.javac.jvm.ClassReader$1 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/jvm/ClassReader$1;
            0    1     1  outer  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      outer  

  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.jvm.ClassReader$1.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ClassReader.java"
EnclosingMethod: com.sun.tools.javac.jvm.ClassReader.classSigToType:()Lcom/sun/tools/javac/code/Type;
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
  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.jvm.ClassReader$1