public class com.sun.tools.javac.code.Type$ArrayType extends com.sun.tools.javac.code.Type implements com.sun.tools.javac.jvm.PoolConstant$LoadableConstant, javax.lang.model.type.ArrayType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Type$ArrayType
  super_class: com.sun.tools.javac.code.Type
{
  public com.sun.tools.javac.code.Type elemtype;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
        start local 1 // com.sun.tools.javac.code.Type elemtype
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol arrayClass
         0: .line 1302
            aload 0 /* this */
            aload 1 /* elemtype */
            aload 2 /* arrayClass */
            getstatic com.sun.tools.javac.code.TypeMetadata.EMPTY:Lcom/sun/tools/javac/code/TypeMetadata;
            invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
         1: .line 1303
            return
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol arrayClass
        end local 1 // com.sun.tools.javac.code.Type elemtype
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/tools/javac/code/Type$ArrayType;
            0    2     1    elemtype  Lcom/sun/tools/javac/code/Type;
            0    2     2  arrayClass  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    MethodParameters:
            Name  Flags
      elemtype    
      arrayClass  

  public void <init>(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/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
        start local 1 // com.sun.tools.javac.code.Type elemtype
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol arrayClass
        start local 3 // com.sun.tools.javac.code.TypeMetadata metadata
         0: .line 1307
            aload 0 /* this */
            aload 2 /* arrayClass */
            aload 3 /* 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 1308
            aload 0 /* this */
            aload 1 /* elemtype */
            putfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
         2: .line 1309
            return
        end local 3 // com.sun.tools.javac.code.TypeMetadata metadata
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol arrayClass
        end local 1 // com.sun.tools.javac.code.Type elemtype
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/sun/tools/javac/code/Type$ArrayType;
            0    3     1    elemtype  Lcom/sun/tools/javac/code/Type;
            0    3     2  arrayClass  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    3     3    metadata  Lcom/sun/tools/javac/code/TypeMetadata;
    MethodParameters:
            Name  Flags
      elemtype    
      arrayClass  
      metadata    

  public void <init>(com.sun.tools.javac.code.Type$ArrayType);
    descriptor: (Lcom/sun/tools/javac/code/Type$ArrayType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
        start local 1 // com.sun.tools.javac.code.Type$ArrayType that
         0: .line 1314
            aload 0 /* this */
            aload 1 /* that */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            aload 1 /* that */
            getfield com.sun.tools.javac.code.Type$ArrayType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* that */
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
            invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
         1: .line 1315
            return
        end local 1 // com.sun.tools.javac.code.Type$ArrayType that
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            0    2     1  that  Lcom/sun/tools/javac/code/Type$ArrayType;
    MethodParameters:
      Name  Flags
      that  

  public int poolTag();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1318
            bipush 7
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  public com.sun.tools.javac.code.Type$ArrayType cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$ArrayType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
        start local 1 // com.sun.tools.javac.code.TypeMetadata md
         0: .line 1323
            new com.sun.tools.javac.code.Type$ArrayType$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* md */
            invokespecial com.sun.tools.javac.code.Type$ArrayType$1.<init>:(Lcom/sun/tools/javac/code/Type$ArrayType;Lcom/sun/tools/javac/code/Type;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$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            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$ArrayType this
         0: .line 1331
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  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$ArrayType this
        start local 1 // com.sun.tools.javac.code.Type$Visitor v
        start local 2 // java.lang.Object s
         0: .line 1335
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* s */
            invokeinterface com.sun.tools.javac.code.Type$Visitor.visitArrayType:(Lcom/sun/tools/javac/code/Type$ArrayType;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$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            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 java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1340
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 1343
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            astore 2 /* t */
        start local 2 // com.sun.tools.javac.code.Type t
         2: .line 1344
            goto 4
         3: .line 1345
      StackMap locals: java.lang.StringBuilder com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* t */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.getComponentType:()Lcom/sun/tools/javac/code/Type;
            astore 2 /* t */
         4: .line 1344
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 3
         5: .line 1346
            aload 1 /* sb */
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 1349
            aload 0 /* this */
            astore 2 /* t */
         7: .line 1351
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            aload 1 /* sb */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type.appendAnnotationsString:(Ljava/lang/StringBuilder;Z)V
         8: .line 1352
            aload 1 /* sb */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1353
            aload 2 /* t */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.getComponentType:()Lcom/sun/tools/javac/code/Type;
            astore 2 /* t */
        10: .line 1354
            aload 2 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 7
        11: .line 1356
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // com.sun.tools.javac.code.Type t
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            1   12     1    sb  Ljava/lang/StringBuilder;
            2   12     2     t  Lcom/sun/tools/javac/code/Type;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
        start local 1 // java.lang.Object obj
         0: .line 1361
            aload 1 /* obj */
            instanceof com.sun.tools.javac.code.Type$ArrayType
            ifeq 6
         1: .line 1362
            aload 1 /* obj */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            astore 2 /* that */
        start local 2 // com.sun.tools.javac.code.Type$ArrayType that
         2: .line 1363
            aload 0 /* this */
            aload 2 /* that */
            if_acmpeq 5
         3: .line 1364
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            aload 2 /* that */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 1363
            iconst_0
            ireturn
      StackMap locals: com.sun.tools.javac.code.Type$ArrayType
      StackMap stack:
         5: iconst_1
            ireturn
        end local 2 // com.sun.tools.javac.code.Type$ArrayType that
         6: .line 1367
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            0    7     1   obj  Ljava/lang/Object;
            2    6     2  that  Lcom/sun/tools/javac/code/Type$ArrayType;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1372
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_5
            ishl
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.hashCode:()I
            iadd
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

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

  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=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1379
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

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

  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$ArrayType this
         0: .line 1386
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  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$ArrayType this
         0: .line 1391
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  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$ArrayType this
         0: .line 1396
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

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

  public com.sun.tools.javac.code.Type$ArrayType makeVarargs();
    descriptor: ()Lcom/sun/tools/javac/code/Type$ArrayType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1404
            new com.sun.tools.javac.code.Type$ArrayType$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.metadata:Lcom/sun/tools/javac/code/TypeMetadata;
            invokespecial com.sun.tools.javac.code.Type$ArrayType$2.<init>:(Lcom/sun/tools/javac/code/Type$ArrayType;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  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$ArrayType this
        start local 1 // com.sun.tools.javac.code.Type elem
         0: .line 1413
            aload 1 /* elem */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type.equalsIgnoreMetadata:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype: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 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Type elem
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            0    2     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$ArrayType this
         0: .line 1417
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.complete:()V
         1: .line 1418
            return
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  public com.sun.tools.javac.code.Type getComponentType();
    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$ArrayType this
         0: .line 1422
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  public javax.lang.model.type.TypeKind getKind();
    descriptor: ()Ljavax/lang/model/type/TypeKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$ArrayType this
         0: .line 1427
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            areturn
        end local 0 // com.sun.tools.javac.code.Type$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;

  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$ArrayType this
        start local 1 // javax.lang.model.type.TypeVisitor v
        start local 2 // java.lang.Object p
         0: .line 1432
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.type.TypeVisitor.visitArray:(Ljavax/lang/model/type/ArrayType;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$ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$ArrayType;
            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$ArrayType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$ArrayType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.type.TypeMirror getComponentType();
    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$ArrayType.getComponentType:()Lcom/sun/tools/javac/code/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Type.java"
NestHost: com.sun.tools.javac.code.Type
InnerClasses:
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
  com.sun.tools.javac.code.Type$ArrayType$1
  com.sun.tools.javac.code.Type$ArrayType$2
  public abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type
  public abstract LoadableConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant of com.sun.tools.javac.jvm.PoolConstant