public class com.sun.tools.javac.code.Type$CapturedType extends com.sun.tools.javac.code.Type$TypeVar
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Type$CapturedType
  super_class: com.sun.tools.javac.code.Type$TypeVar
{
  public com.sun.tools.javac.code.Type$WildcardType wildcard;
    descriptor: Lcom/sun/tools/javac/code/Type$WildcardType;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$WildcardType);
    descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.code.Type$CapturedType this
        start local 1 // com.sun.tools.javac.util.Name name
        start local 2 // com.sun.tools.javac.code.Symbol owner
        start local 3 // com.sun.tools.javac.code.Type upper
        start local 4 // com.sun.tools.javac.code.Type lower
        start local 5 // com.sun.tools.javac.code.Type$WildcardType wildcard
         0: .line 1712
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* owner */
            aload 4 /* lower */
            invokespecial com.sun.tools.javac.code.Type$TypeVar.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;)V
         1: .line 1713
            aload 0 /* this */
            aload 4 /* lower */
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
         2: .line 1714
            aload 0 /* this */
            aload 3 /* upper */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
         3: .line 1715
            aload 0 /* this */
            aload 5 /* wildcard */
            putfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
         4: .line 1716
            return
        end local 5 // com.sun.tools.javac.code.Type$WildcardType wildcard
        end local 4 // com.sun.tools.javac.code.Type lower
        end local 3 // com.sun.tools.javac.code.Type upper
        end local 2 // com.sun.tools.javac.code.Symbol owner
        end local 1 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.code.Type$CapturedType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/code/Type$CapturedType;
            0    5     1      name  Lcom/sun/tools/javac/util/Name;
            0    5     2     owner  Lcom/sun/tools/javac/code/Symbol;
            0    5     3     upper  Lcom/sun/tools/javac/code/Type;
            0    5     4     lower  Lcom/sun/tools/javac/code/Type;
            0    5     5  wildcard  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
          Name  Flags
      name      
      owner     
      upper     
      lower     
      wildcard  

  public void <init>(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$WildcardType, com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/TypeMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // com.sun.tools.javac.code.Type$CapturedType this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        start local 2 // com.sun.tools.javac.code.Type bound
        start local 3 // com.sun.tools.javac.code.Type upper
        start local 4 // com.sun.tools.javac.code.Type lower
        start local 5 // com.sun.tools.javac.code.Type$WildcardType wildcard
        start local 6 // com.sun.tools.javac.code.TypeMetadata metadata
         0: .line 1724
            aload 0 /* this */
            aload 1 /* tsym */
            aload 2 /* bound */
            aload 4 /* lower */
            aload 6 /* metadata */
            invokespecial com.sun.tools.javac.code.Type$TypeVar.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/TypeMetadata;)V
         1: .line 1725
            aload 0 /* this */
            aload 5 /* wildcard */
            putfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
         2: .line 1726
            return
        end local 6 // com.sun.tools.javac.code.TypeMetadata metadata
        end local 5 // com.sun.tools.javac.code.Type$WildcardType wildcard
        end local 4 // com.sun.tools.javac.code.Type lower
        end local 3 // com.sun.tools.javac.code.Type upper
        end local 2 // com.sun.tools.javac.code.Type bound
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        end local 0 // com.sun.tools.javac.code.Type$CapturedType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/tools/javac/code/Type$CapturedType;
            0    3     1      tsym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    3     2     bound  Lcom/sun/tools/javac/code/Type;
            0    3     3     upper  Lcom/sun/tools/javac/code/Type;
            0    3     4     lower  Lcom/sun/tools/javac/code/Type;
            0    3     5  wildcard  Lcom/sun/tools/javac/code/Type$WildcardType;
            0    3     6  metadata  Lcom/sun/tools/javac/code/TypeMetadata;
    MethodParameters:
          Name  Flags
      tsym      
      bound     
      upper     
      lower     
      wildcard  
      metadata  

  public com.sun.tools.javac.code.Type$CapturedType cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$CapturedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$CapturedType this
        start local 1 // com.sun.tools.javac.code.TypeMetadata md
         0: .line 1730
            new com.sun.tools.javac.code.Type$CapturedType$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$CapturedType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
            aload 1 /* md */
            invokespecial com.sun.tools.javac.code.Type$CapturedType$1.<init>:(Lcom/sun/tools/javac/code/Type$CapturedType;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;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$CapturedType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$CapturedType;
            0    1     1    md  Lcom/sun/tools/javac/code/TypeMetadata;
    MethodParameters:
      Name  Flags
      md    

  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$CapturedType this
        start local 1 // com.sun.tools.javac.code.Type$Visitor v
        start local 2 // java.lang.Object s
         0: .line 1743
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* s */
            invokeinterface com.sun.tools.javac.code.Type$Visitor.visitCapturedType:(Lcom/sun/tools/javac/code/Type$CapturedType;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$CapturedType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$CapturedType;
            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 boolean isCaptured();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$CapturedType this
         0: .line 1748
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$CapturedType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$CapturedType;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$CapturedType this
         0: .line 1753
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 1754
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.appendAnnotationsString:(Ljava/lang/StringBuilder;)V
         2: .line 1755
            aload 1 /* sb */
            ldc "capture#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1756
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.hashCode:()I
            i2l
            ldc 4294967295
            land
            ldc 997
            lrem
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         4: .line 1757
            aload 1 /* sb */
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1758
            aload 1 /* sb */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 1759
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.sun.tools.javac.code.Type$CapturedType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Type$CapturedType;
            1    7     1    sb  Ljava/lang/StringBuilder;

  public com.sun.tools.javac.code.Type$TypeVar cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$TypeVar;
    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$CapturedType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$CapturedType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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$CapturedType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$CapturedType;
            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 CapturedType = com.sun.tools.javac.code.Type$CapturedType of com.sun.tools.javac.code.Type
  com.sun.tools.javac.code.Type$CapturedType$1
  public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
  public abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type
  public WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type