public class com.sun.tools.javac.code.Type$UndetVar extends com.sun.tools.javac.code.Type$DelegatedType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Type$UndetVar
  super_class: com.sun.tools.javac.code.Type$DelegatedType
{
  public java.util.ArrayDeque<com.sun.tools.javac.comp.Infer$IncorporationAction> incorporationActions;
    descriptor: Ljava/util/ArrayDeque;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/ArrayDeque<Lcom/sun/tools/javac/comp/Infer$IncorporationAction;>;

  protected java.util.Map<com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> bounds;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  private com.sun.tools.javac.code.Type inst;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE

  public int declaredCount;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.code.Type$UndetVar$UndetVarListener listener;
    descriptor: Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
    flags: (0x0001) ACC_PUBLIC

  com.sun.tools.javac.code.Type$UndetVar$Kind kind;
    descriptor: Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
    flags: (0x0000) 

  com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> toTypeVarMap;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;

  private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$Visitor v
        start local 2 // java.lang.Object s
         0: .line 1968
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* s */
            invokeinterface com.sun.tools.javac.code.Type$Visitor.visitUndetVar:(Lcom/sun/tools/javac/code/Type$UndetVar;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$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;
            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 void <init>(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.code.Type$UndetVar$UndetVarListener, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar origin
        start local 2 // com.sun.tools.javac.code.Type$UndetVar$UndetVarListener listener
        start local 3 // com.sun.tools.javac.code.Types types
         0: .line 1973
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
            aload 1 /* origin */
            invokespecial com.sun.tools.javac.code.Type$DelegatedType.<init>:(Lcom/sun/tools/javac/code/TypeTag;Lcom/sun/tools/javac/code/Type;)V
         1: .line 1950
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
         2: .line 1956
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
         3: .line 1962
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
         4: .line 2154
            aload 0 /* this */
            new com.sun.tools.javac.code.Type$UndetVar$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Type$UndetVar$1.<init>:(Lcom/sun/tools/javac/code/Type$UndetVar;)V
            putfield com.sun.tools.javac.code.Type$UndetVar.toTypeVarMap:Lcom/sun/tools/javac/code/Types$TypeMapping;
         5: .line 1974
            aload 0 /* this */
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifeq 7
         6: .line 1975
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.CAPTURED:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            goto 8
         7: .line 1976
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type$UndetVar$UndetVarListener com.sun.tools.javac.code.Types
      StackMap stack: com.sun.tools.javac.code.Type$UndetVar
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.NORMAL:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
         8: .line 1974
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type$UndetVar$UndetVarListener com.sun.tools.javac.code.Types
      StackMap stack: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar$Kind
            putfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
         9: .line 1977
            aload 0 /* this */
            aload 2 /* listener */
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
        10: .line 1978
            aload 0 /* this */
            new java.util.EnumMap
            dup
            ldc Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            putfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
        11: .line 1979
            aload 3 /* types */
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Types.getBounds:(Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List;
            astore 4 /* declaredBounds */
        start local 4 // com.sun.tools.javac.util.List declaredBounds
        12: .line 1980
            aload 0 /* this */
            aload 4 /* declaredBounds */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            putfield com.sun.tools.javac.code.Type$UndetVar.declaredCount:I
        13: .line 1981
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1982
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1983
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1984
            aload 4 /* declaredBounds */
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 19
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type$UndetVar$UndetVarListener com.sun.tools.javac.code.Types com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        17: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
        18: .line 1986
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 5 /* t */
            aload 3 /* types */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
        end local 5 // com.sun.tools.javac.code.Type t
        19: .line 1984
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 1988
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifeq 22
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 22
        21: .line 1990
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Type$TypeVar.lower:Lcom/sun/tools/javac/code/Type;
            aload 3 /* types */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
        22: .line 1992
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type$UndetVar$UndetVarListener com.sun.tools.javac.code.Types com.sun.tools.javac.util.List
      StackMap stack:
            return
        end local 4 // com.sun.tools.javac.util.List declaredBounds
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.code.Type$UndetVar$UndetVarListener listener
        end local 1 // com.sun.tools.javac.code.Type$TypeVar origin
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   23     1          origin  Lcom/sun/tools/javac/code/Type$TypeVar;
            0   23     2        listener  Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            0   23     3           types  Lcom/sun/tools/javac/code/Types;
           12   23     4  declaredBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           18   19     5               t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
          Name  Flags
      origin    
      listener  
      types     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 1996
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 1997
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.appendAnnotationsString:(Ljava/lang/StringBuilder;)V
         2: .line 1998
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            ifnonnull 6
         3: .line 1999
            aload 1 /* sb */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 2000
            aload 1 /* sb */
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 2001
            goto 7
         6: .line 2002
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         7: .line 2004
      StackMap locals:
      StackMap stack:
            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$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;
            1    8     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String debugString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 2008
            new java.lang.StringBuilder
            dup
            ldc "inference var = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 2009
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            ifnull 3
         2: .line 2010
            new java.lang.StringBuilder
            dup
            aload 1 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "inst = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* result */
         3: .line 2012
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.values:()[Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar java.lang.String top int int com.sun.tools.javac.code.Type$UndetVar$InferenceBound[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* bound */
        start local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound bound
         5: .line 2013
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 2 /* bound */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 6 /* aboundList */
        start local 6 // com.sun.tools.javac.util.List aboundList
         6: .line 2014
            aload 6 /* aboundList */
            ifnull 8
            aload 6 /* aboundList */
            invokevirtual com.sun.tools.javac.util.List.size:()I
            ifle 8
         7: .line 2015
            new java.lang.StringBuilder
            dup
            aload 1 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* bound */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* aboundList */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* result */
        end local 6 // com.sun.tools.javac.util.List aboundList
        end local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound bound
         8: .line 2012
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 2018
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/sun/tools/javac/code/Type$UndetVar;
            1   11     1      result  Ljava/lang/String;
            5    8     2       bound  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            6    8     6  aboundList  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public void setThrow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 2022
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.CAPTURED:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            if_acmpne 2
         1: .line 2024
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         2: .line 2026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.THROWS:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            putfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
         3: .line 2027
            return
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;

  public com.sun.tools.javac.code.Type$UndetVar dup(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type$UndetVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 2033
            new com.sun.tools.javac.code.Type$UndetVar
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$TypeVar
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            aload 1 /* types */
            invokespecial com.sun.tools.javac.code.Type$UndetVar.<init>:(Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;Lcom/sun/tools/javac/code/Types;)V
            astore 2 /* uv2 */
        start local 2 // com.sun.tools.javac.code.Type$UndetVar uv2
         1: .line 2034
            aload 0 /* this */
            aload 2 /* uv2 */
            aload 1 /* types */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.dupTo:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Types;)V
         2: .line 2035
            aload 2 /* uv2 */
            areturn
        end local 2 // com.sun.tools.javac.code.Type$UndetVar uv2
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    3     1  types  Lcom/sun/tools/javac/code/Types;
            1    3     2    uv2  Lcom/sun/tools/javac/code/Type$UndetVar;
    MethodParameters:
       Name  Flags
      types  

  public void dupTo(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar uv2
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 2042
            aload 1 /* uv2 */
            aconst_null
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
         1: .line 2043
            aload 1 /* uv2 */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 2044
            invokestatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.values:()[Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Types top int int com.sun.tools.javac.code.Type$UndetVar$InferenceBound[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* ib */
        start local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         4: .line 2045
            aload 1 /* uv2 */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 3 /* ib */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2046
            aload 0 /* this */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 3 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 8
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$UndetVar$InferenceBound int int com.sun.tools.javac.code.Type$UndetVar$InferenceBound[] top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 7 /* t */
        start local 7 // com.sun.tools.javac.code.Type t
         7: .line 2047
            aload 1 /* uv2 */
            aload 3 /* ib */
            aload 7 /* t */
            aload 2 /* types */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
        end local 7 // com.sun.tools.javac.code.Type t
         8: .line 2046
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         9: .line 2044
            iinc 4 1
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Types top int int com.sun.tools.javac.code.Type$UndetVar$InferenceBound[]
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 3
        11: .line 2050
            aload 1 /* uv2 */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
        12: .line 2051
            aload 1 /* uv2 */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
        13: .line 2052
            aload 1 /* uv2 */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
        14: .line 2053
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Types top java.util.Iterator
      StackMap stack:
        15: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Infer$IncorporationAction
            astore 3 /* action */
        start local 3 // com.sun.tools.javac.comp.Infer$IncorporationAction action
        16: .line 2054
            aload 1 /* uv2 */
            getfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
            aload 3 /* action */
            aload 1 /* uv2 */
            invokevirtual com.sun.tools.javac.comp.Infer$IncorporationAction.dup:(Lcom/sun/tools/javac/code/Type$UndetVar;)Lcom/sun/tools/javac/comp/Infer$IncorporationAction;
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.sun.tools.javac.comp.Infer$IncorporationAction action
        17: .line 2053
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 2056
            aload 1 /* uv2 */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            putfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
        19: .line 2057
            return
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Type$UndetVar uv2
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   20     1     uv2  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   20     2   types  Lcom/sun/tools/javac/code/Types;
            4    9     3      ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            7    8     7       t  Lcom/sun/tools/javac/code/Type;
           16   17     3  action  Lcom/sun/tools/javac/comp/Infer$IncorporationAction;
    MethodParameters:
       Name  Flags
      uv2    
      types  

  public com.sun.tools.javac.code.Type$UndetVar cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
    descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$UndetVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.TypeMetadata md
         0: .line 2061
            new java.lang.AssertionError
            dup
            ldc "Cannot add metadata to an UndetVar type"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // com.sun.tools.javac.code.TypeMetadata md
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    1     1    md  Lcom/sun/tools/javac/code/TypeMetadata;
    MethodParameters:
      Name  Flags
      md    

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

  public com.sun.tools.javac.code.Type baseType();
    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$UndetVar this
         0: .line 2071
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            ifnonnull 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.baseType:()Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         2: areturn
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;

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

  public void setInst(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$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type inst
         0: .line 2079
            aload 0 /* this */
            aload 1 /* inst */
            putfield com.sun.tools.javac.code.Type$UndetVar.inst:Lcom/sun/tools/javac/code/Type;
         1: .line 2080
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            ifnull 3
         2: .line 2081
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            aload 0 /* this */
            invokeinterface com.sun.tools.javac.code.Type$UndetVar$UndetVarListener.varInstantiated:(Lcom/sun/tools/javac/code/Type$UndetVar;)V
         3: .line 2083
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.code.Type inst
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    4     1  inst  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      inst  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getBounds(com.sun.tools.javac.code.Type$UndetVar$InferenceBound[]);
    descriptor: ([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound[] ibs
         0: .line 2087
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // com.sun.tools.javac.util.ListBuffer buf
         1: .line 2088
            aload 1 /* ibs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar$InferenceBound[] com.sun.tools.javac.util.ListBuffer top int int com.sun.tools.javac.code.Type$UndetVar$InferenceBound[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* ib */
        start local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         3: .line 2089
            aload 2 /* buf */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 3 /* ib */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            invokevirtual com.sun.tools.javac.util.ListBuffer.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         4: .line 2088
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 2091
            aload 2 /* buf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer buf
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound[] ibs
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    7     1   ibs  [Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            1    7     2   buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3    4     3    ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
    Signature: ([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      ibs   

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getDeclaredBounds();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 2096
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.sun.tools.javac.util.ListBuffer buf
         1: .line 2097
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         2: .line 2098
            aload 0 /* this */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* b */
        start local 3 // com.sun.tools.javac.code.Type b
         4: .line 2099
            iload 2 /* count */
            iinc 2 /* count */ 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.declaredCount:I
            if_icmpne 5
            goto 7
         5: .line 2100
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            aload 1 /* buf */
            aload 3 /* b */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 3 // com.sun.tools.javac.code.Type b
         6: .line 2098
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 2102
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.ListBuffer int
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // int count
        end local 1 // com.sun.tools.javac.util.ListBuffer buf
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/sun/tools/javac/code/Type$UndetVar;
            1    8     1    buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            2    8     2  count  I
            4    6     3      b  Lcom/sun/tools/javac/code/Type;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  public void setBounds(com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 2 // com.sun.tools.javac.util.List newBounds
         0: .line 2107
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 1 /* ib */
            aload 2 /* newBounds */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2108
            return
        end local 2 // com.sun.tools.javac.util.List newBounds
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    2     1         ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    2     2  newBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
           Name  Flags
      ib         
      newBounds  

  public final void addBound(com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 2 // com.sun.tools.javac.code.Type bound
        start local 3 // com.sun.tools.javac.code.Types types
         0: .line 2116
            aload 3 /* types */
            getfield com.sun.tools.javac.code.Types.mapCapturesToBounds:Z
            ifeq 6
         1: .line 2117
            invokestatic com.sun.tools.javac.code.Type$UndetVar.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:()[I
            aload 1 /* ib */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 6
                    3: 4
              default: 6
          }
         2: .line 2119
      StackMap locals:
      StackMap stack:
            aload 3 /* types */
            aload 2 /* bound */
            invokevirtual com.sun.tools.javac.code.Types.cvarUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* bound */
         3: .line 2120
            goto 6
         4: .line 2122
      StackMap locals:
      StackMap stack:
            aload 3 /* types */
            aload 2 /* bound */
            invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* altBound */
        start local 4 // com.sun.tools.javac.code.Type altBound
         5: .line 2123
            aload 4 /* altBound */
            getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 6
            aload 4 /* altBound */
            astore 2 /* bound */
        end local 4 // com.sun.tools.javac.code.Type altBound
         6: .line 2127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ib */
            aload 2 /* bound */
            aload 3 /* types */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
         7: .line 2128
            return
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.code.Type bound
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    8     1        ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    8     2     bound  Lcom/sun/tools/javac/code/Type;
            0    8     3     types  Lcom/sun/tools/javac/code/Types;
            5    6     4  altBound  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      ib     
      bound  
      types  

  private void addBound(com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 2 // com.sun.tools.javac.code.Type bound
        start local 3 // com.sun.tools.javac.code.Types types
        start local 4 // boolean update
         0: .line 2132
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.CAPTURED:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            if_acmpne 4
            iload 4 /* update */
            ifne 4
         1: .line 2136
            aload 2 /* bound */
            getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 13
            aload 2 /* bound */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.isCaptured:()Z
            ifne 13
         2: .line 2139
            aload 2 /* bound */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            aload 1 /* ib */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.complement:()Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 0 /* this */
            aload 3 /* types */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
         3: .line 2141
            goto 13
         4: .line 2142
      StackMap locals:
      StackMap stack:
            aload 2 /* bound */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.toTypeVarMap:Lcom/sun/tools/javac/code/Types$TypeMapping;
            invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.baseType:()Lcom/sun/tools/javac/code/Type;
            astore 5 /* bound2 */
        start local 5 // com.sun.tools.javac.code.Type bound2
         5: .line 2143
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 1 /* ib */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 6 /* prevBounds */
        start local 6 // com.sun.tools.javac.util.List prevBounds
         6: .line 2144
            aload 2 /* bound */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            if_acmpne 7
            return
         7: .line 2145
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.util.List
      StackMap stack:
            aload 6 /* prevBounds */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 10
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar$InferenceBound com.sun.tools.javac.code.Type com.sun.tools.javac.code.Types int com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 7 /* b */
        start local 7 // com.sun.tools.javac.code.Type b
         9: .line 2147
            aload 3 /* types */
            aload 7 /* b */
            aload 5 /* bound2 */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 10
            return
        end local 7 // com.sun.tools.javac.code.Type b
        10: .line 2145
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 2149
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 1 /* ib */
            aload 6 /* prevBounds */
            aload 5 /* bound2 */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 2150
            aload 0 /* this */
            aload 1 /* ib */
            aload 5 /* bound2 */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.notifyBoundChange:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
        end local 6 // com.sun.tools.javac.util.List prevBounds
        end local 5 // com.sun.tools.javac.code.Type bound2
        13: .line 2152
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$UndetVar$InferenceBound com.sun.tools.javac.code.Type com.sun.tools.javac.code.Types int
      StackMap stack:
            return
        end local 4 // boolean update
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.code.Type bound
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   14     1          ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0   14     2       bound  Lcom/sun/tools/javac/code/Type;
            0   14     3       types  Lcom/sun/tools/javac/code/Types;
            0   14     4      update  Z
            5   13     5      bound2  Lcom/sun/tools/javac/code/Type;
            6   13     6  prevBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            9   10     7           b  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
        Name  Flags
      ib      
      bound   
      types   
      update  

  public void substBounds(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.util.List from
        start local 2 // com.sun.tools.javac.util.List to
        start local 3 // com.sun.tools.javac.code.Types types
         0: .line 2163
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 4 /* boundsChanged */
        start local 4 // com.sun.tools.javac.util.ListBuffer boundsChanged
         1: .line 2164
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            astore 5 /* prevListener */
        start local 5 // com.sun.tools.javac.code.Type$UndetVar$UndetVarListener prevListener
         2: .line 2167
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* boundsChanged */
            invokedynamic varBoundChanged(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
                  com/sun/tools/javac/code/Type$UndetVar.lambda$0(Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V (7)
                  (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
         3: .line 2171
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 21
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* _entry */
        start local 6 // java.util.Map$Entry _entry
         5: .line 2172
            aload 6 /* _entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            astore 8 /* ib */
        start local 8 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         6: .line 2173
            aload 6 /* _entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 9 /* prevBounds */
        start local 9 // com.sun.tools.javac.util.List prevBounds
         7: .line 2174
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 10 /* newBounds */
        start local 10 // com.sun.tools.javac.util.ListBuffer newBounds
         8: .line 2175
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 11 /* deps */
        start local 11 // com.sun.tools.javac.util.ListBuffer deps
         9: .line 2177
            aload 9 /* prevBounds */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 15
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener java.util.Map$Entry java.util.Iterator com.sun.tools.javac.code.Type$UndetVar$InferenceBound com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
        10: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 12 /* t */
        start local 12 // com.sun.tools.javac.code.Type t
        11: .line 2178
            aload 12 /* t */
            aload 1 /* from */
            invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
            ifne 14
        12: .line 2179
            aload 10 /* newBounds */
            aload 12 /* t */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        13: .line 2180
            goto 15
        14: .line 2181
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener java.util.Map$Entry java.util.Iterator com.sun.tools.javac.code.Type$UndetVar$InferenceBound com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            aload 11 /* deps */
            aload 12 /* t */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 12 // com.sun.tools.javac.code.Type t
        15: .line 2177
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener java.util.Map$Entry java.util.Iterator com.sun.tools.javac.code.Type$UndetVar$InferenceBound com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 2185
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.bounds:Ljava/util/Map;
            aload 8 /* ib */
            aload 10 /* newBounds */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 2187
            aload 11 /* deps */
            invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
            astore 13
            goto 20
      StackMap locals:
      StackMap stack:
        18: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 12 /* dep */
        start local 12 // com.sun.tools.javac.code.Type dep
        19: .line 2188
            aload 0 /* this */
            aload 8 /* ib */
            aload 3 /* types */
            aload 12 /* dep */
            aload 1 /* from */
            aload 2 /* to */
            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;
            aload 3 /* types */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.addBound:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;Z)V
        end local 12 // com.sun.tools.javac.code.Type dep
        20: .line 2187
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 11 // com.sun.tools.javac.util.ListBuffer deps
        end local 10 // com.sun.tools.javac.util.ListBuffer newBounds
        end local 9 // com.sun.tools.javac.util.List prevBounds
        end local 8 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 6 // java.util.Map$Entry _entry
        21: .line 2171
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        22: .line 2191
            goto 30
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener
      StackMap stack: java.lang.Throwable
        23: astore 14
        24: .line 2192
            aload 0 /* this */
            aload 5 /* prevListener */
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
        25: .line 2193
            aload 4 /* boundsChanged */
            invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
            astore 16
            goto 28
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener top top top top top top top top java.lang.Throwable top java.util.Iterator
      StackMap stack:
        26: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Pair
            astore 15 /* boundUpdate */
        start local 15 // com.sun.tools.javac.util.Pair boundUpdate
        27: .line 2194
            aload 0 /* this */
            aload 15 /* boundUpdate */
            getfield com.sun.tools.javac.util.Pair.fst:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            aload 15 /* boundUpdate */
            getfield com.sun.tools.javac.util.Pair.snd:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.notifyBoundChange:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
        end local 15 // com.sun.tools.javac.util.Pair boundUpdate
        28: .line 2193
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        29: .line 2196
            aload 14
            athrow
        30: .line 2192
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener
      StackMap stack:
            aload 0 /* this */
            aload 5 /* prevListener */
            putfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
        31: .line 2193
            aload 4 /* boundsChanged */
            invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
            astore 16
            goto 34
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Types com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type$UndetVar$UndetVarListener top top top top top top top top top top java.util.Iterator
      StackMap stack:
        32: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Pair
            astore 15 /* boundUpdate */
        start local 15 // com.sun.tools.javac.util.Pair boundUpdate
        33: .line 2194
            aload 0 /* this */
            aload 15 /* boundUpdate */
            getfield com.sun.tools.javac.util.Pair.fst:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            aload 15 /* boundUpdate */
            getfield com.sun.tools.javac.util.Pair.snd:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            iconst_1
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.notifyBoundChange:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
        end local 15 // com.sun.tools.javac.util.Pair boundUpdate
        34: .line 2193
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        35: .line 2197
            return
        end local 5 // com.sun.tools.javac.code.Type$UndetVar$UndetVarListener prevListener
        end local 4 // com.sun.tools.javac.util.ListBuffer boundsChanged
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.util.List to
        end local 1 // com.sun.tools.javac.util.List from
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0           this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   36     1           from  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   36     2             to  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   36     3          types  Lcom/sun/tools/javac/code/Types;
            1   36     4  boundsChanged  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;>;>;
            2   36     5   prevListener  Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            5   21     6         _entry  Ljava/util/Map$Entry<Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
            6   21     8             ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            7   21     9     prevBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            8   21    10      newBounds  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            9   21    11           deps  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
           11   15    12              t  Lcom/sun/tools/javac/code/Type;
           19   20    12            dep  Lcom/sun/tools/javac/code/Type;
           27   28    15    boundUpdate  Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;>;
           33   34    15    boundUpdate  Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;>;
      Exception table:
        from    to  target  type
           2    23      23  any
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Types;)V
    MethodParameters:
       Name  Flags
      from   
      to     
      types  

  private void notifyBoundChange(com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 2 // com.sun.tools.javac.code.Type bound
        start local 3 // boolean update
         0: .line 2200
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            ifnull 2
         1: .line 2201
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.listener:Lcom/sun/tools/javac/code/Type$UndetVar$UndetVarListener;
            aload 0 /* this */
            aload 1 /* ib */
            aload 2 /* bound */
            iload 3 /* update */
            invokeinterface com.sun.tools.javac.code.Type$UndetVar$UndetVarListener.varBoundChanged:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
         2: .line 2203
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean update
        end local 2 // com.sun.tools.javac.code.Type bound
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    3     1      ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    3     2   bound  Lcom/sun/tools/javac/code/Type;
            0    3     3  update  Z
    MethodParameters:
        Name  Flags
      ib      
      bound   
      update  

  public final boolean isCaptured();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 2206
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.CAPTURED:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;

  public final boolean isThrows();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
         0: .line 2210
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Type$UndetVar.kind:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            getstatic com.sun.tools.javac.code.Type$UndetVar$Kind.THROWS:Lcom/sun/tools/javac/code/Type$UndetVar$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Type$UndetVar;

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

  static int[] $SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 1896
            getstatic com.sun.tools.javac.code.Type$UndetVar.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.values:()[Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic com.sun.tools.javac.code.Type$UndetVar.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  private void lambda$0(com.sun.tools.javac.util.ListBuffer, com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type;Z)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.code.Type$UndetVar this
        start local 2 // com.sun.tools.javac.code.Type$UndetVar uv
        start local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 4 // com.sun.tools.javac.code.Type t
        start local 5 // boolean _ignored
         0: .line 2168
            aload 2 /* uv */
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         3: .line 2169
            aload 1
            new com.sun.tools.javac.util.Pair
            dup
            aload 3 /* ib */
            aload 4 /* t */
            invokespecial com.sun.tools.javac.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
         4: .line 2170
            return
        end local 5 // boolean _ignored
        end local 4 // com.sun.tools.javac.code.Type t
        end local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 2 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 0 // com.sun.tools.javac.code.Type$UndetVar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    5     2        uv  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    5     3        ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    5     4         t  Lcom/sun/tools/javac/code/Type;
            0    5     5  _ignored  Z
}
SourceFile: "Type.java"
NestHost: com.sun.tools.javac.code.Type
InnerClasses:
  public abstract DelegatedType = com.sun.tools.javac.code.Type$DelegatedType of com.sun.tools.javac.code.Type
  public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
  public UndetVar = com.sun.tools.javac.code.Type$UndetVar of com.sun.tools.javac.code.Type
  com.sun.tools.javac.code.Type$UndetVar$1
  public abstract InferenceBound = com.sun.tools.javac.code.Type$UndetVar$InferenceBound of com.sun.tools.javac.code.Type$UndetVar
  final Kind = com.sun.tools.javac.code.Type$UndetVar$Kind of com.sun.tools.javac.code.Type$UndetVar
  public abstract UndetVarListener = com.sun.tools.javac.code.Type$UndetVar$UndetVarListener of com.sun.tools.javac.code.Type$UndetVar
  public abstract Visitor = com.sun.tools.javac.code.Type$Visitor of com.sun.tools.javac.code.Type
  public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
  public abstract IncorporationAction = com.sun.tools.javac.comp.Infer$IncorporationAction of com.sun.tools.javac.comp.Infer
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map