public class com.sun.tools.javac.code.Types
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Types
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.Types> typesKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/Types;>;

  final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.util.JavacMessages messages;
    descriptor: Lcom/sun/tools/javac/util/JavacMessages;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    flags: (0x0010) ACC_FINAL

  final boolean allowDefaultMethods;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final boolean mapCapturesToBounds;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.comp.Check chk;
    descriptor: Lcom/sun/tools/javac/comp/Check;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.comp.Enter enter;
    descriptor: Lcom/sun/tools/javac/comp/Enter;
    flags: (0x0010) ACC_FINAL

  com.sun.tools.javac.util.JCDiagnostic$Factory diags;
    descriptor: Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
    flags: (0x0000) 

  com.sun.tools.javac.util.List<com.sun.tools.javac.util.Warner> warnStack;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/util/Warner;>;

  final com.sun.tools.javac.util.Name capturedName;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0010) ACC_FINAL

  public final com.sun.tools.javac.util.Warner noWarnings;
    descriptor: Lcom/sun/tools/javac/util/Warner;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final com.sun.tools.javac.code.Types$UnaryVisitor<java.lang.Boolean> isUnbounded;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Ljava/lang/Boolean;>;

  private final com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> asSub;
    descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;

  private com.sun.tools.javac.code.Types$DescriptorCache descCache;
    descriptor: Lcom/sun/tools/javac/code/Types$DescriptorCache;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.util.Filter<com.sun.tools.javac.code.Symbol> bridgeFilter;
    descriptor: Lcom/sun/tools/javac/util/Filter;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;

  private com.sun.tools.javac.code.Types$TypeRelation isSubtype;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0002) ACC_PRIVATE

  com.sun.tools.javac.code.Types$TypeRelation isSameTypeVisitor;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0000) 

  private com.sun.tools.javac.code.Types$TypeRelation containsType;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.code.Types$TypeRelation isCastable;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.code.Types$TypeRelation disjointType;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> cvarLowerBoundMapping;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;

  private com.sun.tools.javac.code.Types$UnaryVisitor<java.lang.Boolean> isReifiable;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Ljava/lang/Boolean;>;

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

  private com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> asSuper;
    descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;

  private com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol> memberType;
    descriptor: Lcom/sun/tools/javac/code/Types$SimpleVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;>;

  private com.sun.tools.javac.code.Types$TypeMapping<java.lang.Boolean> erasure;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Boolean;>;

  private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.code.Type> supertype;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/code/Type;>;

  private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> interfaces;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  private final com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> directSupertypes;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  java.util.Map<com.sun.tools.javac.code.Type, java.lang.Boolean> isDerivedRawCache;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Type;Ljava/lang/Boolean;>;

  private com.sun.tools.javac.code.Types$UnaryVisitor<com.sun.tools.javac.code.Type> classBound;
    descriptor: Lcom/sun/tools/javac/code/Types$UnaryVisitor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/code/Types$UnaryVisitor<Lcom/sun/tools/javac/code/Type;>;

  private com.sun.tools.javac.code.Types$ImplementationCache implCache;
    descriptor: Lcom/sun/tools/javac/code/Types$ImplementationCache;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.code.Types$MembersClosureCache membersCache;
    descriptor: Lcom/sun/tools/javac/code/Types$MembersClosureCache;
    flags: (0x0002) ACC_PRIVATE

  public com.sun.tools.javac.code.Types$CandidatesCache candidatesCache;
    descriptor: Lcom/sun/tools/javac/code/Types$CandidatesCache;
    flags: (0x0001) ACC_PUBLIC

  com.sun.tools.javac.code.Types$TypeRelation hasSameArgs_strict;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0000) 

  com.sun.tools.javac.code.Types$TypeRelation hasSameArgs_nonstrict;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeRelation;
    flags: (0x0000) 

  private static final com.sun.tools.javac.code.Types$TypeMapping<java.lang.Void> newInstanceFun;
    descriptor: Lcom/sun/tools/javac/code/Types$TypeMapping;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$TypeMapping<Ljava/lang/Void;>;

  private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> methodWithParameters;
    descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> methodWithThrown;
    descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  private final com.sun.tools.javac.code.Types$MapVisitor<com.sun.tools.javac.code.Type> methodWithReturn;
    descriptor: Lcom/sun/tools/javac/code/Types$MapVisitor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/code/Types$MapVisitor<Lcom/sun/tools/javac/code/Type;>;

  private java.util.Map<com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> closureCache;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type> basicClosureSkip;
    descriptor: Ljava/util/function/BiPredicate;
    flags: (0x0000) 
    Signature: Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;

  java.util.Set<com.sun.tools.javac.code.Types$TypePair> mergeCache;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Types$TypePair;>;

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

  private static final com.sun.tools.javac.code.Types$HashCodeVisitor hashCodeVisitor;
    descriptor: Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.tools.javac.code.Types$HashCodeVisitor hashCodeStrictVisitor;
    descriptor: Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
         1: .line 3444
            new com.sun.tools.javac.code.Types$19
            dup
            invokespecial com.sun.tools.javac.code.Types$19.<init>:()V
            putstatic com.sun.tools.javac.code.Types.newInstanceFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
         2: .line 4128
            new com.sun.tools.javac.code.Types$HashCodeVisitor
            dup
            invokespecial com.sun.tools.javac.code.Types$HashCodeVisitor.<init>:()V
            putstatic com.sun.tools.javac.code.Types.hashCodeVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
         3: .line 4129
            new com.sun.tools.javac.code.Types$23
            dup
            invokespecial com.sun.tools.javac.code.Types$23.<init>:()V
            putstatic com.sun.tools.javac.code.Types.hashCodeStrictVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
         4: .line 4134
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.code.Types instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 106
            aload 0 /* context */
            getstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Types
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.code.Types instance
         1: .line 107
            aload 1 /* instance */
            ifnonnull 3
         2: .line 108
            new com.sun.tools.javac.code.Types
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.code.Types.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 109
      StackMap locals: com.sun.tools.javac.code.Types
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.code.Types instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 99
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
         2: .line 501
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$1.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.isUnbounded:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
         3: .line 542
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$2
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$2.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.asSub:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
         4: .line 812
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$DescriptorCache
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$DescriptorCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
         5: .line 947
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$3
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$3.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.bridgeFilter:Lcom/sun/tools/javac/util/Filter;
         6: .line 1099
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$4
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$4.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.isSubtype:Lcom/sun/tools/javac/code/Types$TypeRelation;
         7: .line 1344
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$5
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$5.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.isSameTypeVisitor:Lcom/sun/tools/javac/code/Types$TypeRelation;
         8: .line 1552
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$6
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$6.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.containsType:Lcom/sun/tools/javac/code/Types$TypeRelation;
         9: .line 1658
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$7
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$7.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
        10: .line 1867
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$8
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$8.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.disjointType:Lcom/sun/tools/javac/code/Types$TypeRelation;
        11: .line 1938
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$9
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$9.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.cvarLowerBoundMapping:Lcom/sun/tools/javac/code/Types$TypeMapping;
        12: .line 1981
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$10
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$10.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.isReifiable:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
        13: .line 2050
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$11
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$11.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.elemTypeFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
        14: .line 2116
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$12
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$12.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.asSuper:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
        15: .line 2235
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$13
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$13.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.memberType:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
        16: .line 2347
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$14
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$14.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
        17: .line 2464
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$15
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$15.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.supertype:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
        18: .line 2534
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$16
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$16.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.interfaces:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
        19: .line 2592
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$17
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$17.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.directSupertypes:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
        20: .line 2615
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
        21: .line 2702
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$18
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$18.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.classBound:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
        22: .line 2948
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$ImplementationCache
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$ImplementationCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
        23: .line 3036
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$MembersClosureCache
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$MembersClosureCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
        24: .line 3134
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$CandidatesCache
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$CandidatesCache.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
        25: .line 3249
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$HasSameArgs
            dup
            aload 0 /* this */
            iconst_1
            invokespecial com.sun.tools.javac.code.Types$HasSameArgs.<init>:(Lcom/sun/tools/javac/code/Types;Z)V
            putfield com.sun.tools.javac.code.Types.hasSameArgs_strict:Lcom/sun/tools/javac/code/Types$TypeRelation;
        26: .line 3250
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$HasSameArgs
            dup
            aload 0 /* this */
            iconst_0
            invokespecial com.sun.tools.javac.code.Types$HasSameArgs.<init>:(Lcom/sun/tools/javac/code/Types;Z)V
            putfield com.sun.tools.javac.code.Types.hasSameArgs_nonstrict:Lcom/sun/tools/javac/code/Types$TypeRelation;
        27: .line 3456
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$20
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$20.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.methodWithParameters:Lcom/sun/tools/javac/code/Types$MapVisitor;
        28: .line 3472
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$21
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$21.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.methodWithThrown:Lcom/sun/tools/javac/code/Types$MapVisitor;
        29: .line 3488
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$22
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$22.<init>:(Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.code.Types.methodWithReturn:Lcom/sun/tools/javac/code/Types$MapVisitor;
        30: .line 3654
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
        31: .line 3716
            aload 0 /* this */
            invokedynamic test()Ljava/util/function/BiPredicate;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)Z
                  com/sun/tools/javac/code/Types.lambda$0(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z (6)
                  (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            putfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
        32: .line 3806
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
        33: .line 4030
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
        34: .line 113
            aload 1 /* context */
            getstatic com.sun.tools.javac.code.Types.typesKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
        35: .line 114
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
        36: .line 115
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
            putfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
        37: .line 116
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Source.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Source;
            astore 2 /* source */
        start local 2 // com.sun.tools.javac.code.Source source
        38: .line 117
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Source$Feature.DEFAULT_METHODS:Lcom/sun/tools/javac/code/Source$Feature;
            aload 2 /* source */
            invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
            putfield com.sun.tools.javac.code.Types.allowDefaultMethods:Z
        39: .line 118
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Source$Feature.MAP_CAPTURES_TO_BOUNDS:Lcom/sun/tools/javac/code/Source$Feature;
            aload 2 /* source */
            invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
            putfield com.sun.tools.javac.code.Types.mapCapturesToBounds:Z
        40: .line 119
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Check.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Check;
            putfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
        41: .line 120
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Enter.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Enter;
            putfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
        42: .line 121
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            ldc "<captured wildcard>"
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.code.Types.capturedName:Lcom/sun/tools/javac/util/Name;
        43: .line 122
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.JavacMessages.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JavacMessages;
            putfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
        44: .line 123
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.JCDiagnostic$Factory.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            putfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
        45: .line 124
            aload 0 /* this */
            new com.sun.tools.javac.util.Warner
            dup
            aconst_null
            invokespecial com.sun.tools.javac.util.Warner.<init>:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)V
            putfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
        46: .line 125
            return
        end local 2 // com.sun.tools.javac.code.Source source
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   47     0     this  Lcom/sun/tools/javac/code/Types;
            0   47     1  context  Lcom/sun/tools/javac/util/Context;
           38   47     2   source  Lcom/sun/tools/javac/code/Source;
    MethodParameters:
         Name  Flags
      context  

  public com.sun.tools.javac.code.Type wildUpperBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 134
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 7
         1: .line 135
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 2 /* w */
        start local 2 // com.sun.tools.javac.code.Type$WildcardType w
         2: .line 136
            aload 2 /* w */
            invokevirtual com.sun.tools.javac.code.Type$WildcardType.isSuperBound:()Z
            ifeq 6
         3: .line 137
            aload 2 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.bound:Lcom/sun/tools/javac/code/Type$TypeVar;
            ifnonnull 4
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            goto 5
      StackMap locals: com.sun.tools.javac.code.Type$WildcardType
      StackMap stack:
         4: aload 2 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.bound:Lcom/sun/tools/javac/code/Type$TypeVar;
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         5: areturn
         6: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 2 // com.sun.tools.javac.code.Type$WildcardType w
         7: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/code/Types;
            0    8     1     t  Lcom/sun/tools/javac/code/Type;
            2    7     2     w  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type cvarUpperBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 149
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 5
         1: .line 150
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 2 /* v */
        start local 2 // com.sun.tools.javac.code.Type$TypeVar v
         2: .line 151
            aload 2 /* v */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifeq 3
            aload 0 /* this */
            aload 2 /* v */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.cvarUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            goto 4
      StackMap locals: com.sun.tools.javac.code.Type$TypeVar
      StackMap stack:
         3: aload 2 /* v */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         4: areturn
        end local 2 // com.sun.tools.javac.code.Type$TypeVar v
         5: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1     t  Lcom/sun/tools/javac/code/Type;
            2    5     2     v  Lcom/sun/tools/javac/code/Type$TypeVar;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type wildLowerBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 161
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 5
         1: .line 162
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 2 /* w */
        start local 2 // com.sun.tools.javac.code.Type$WildcardType w
         2: .line 163
            aload 2 /* w */
            invokevirtual com.sun.tools.javac.code.Type$WildcardType.isExtendsBound:()Z
            ifeq 3
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            goto 4
      StackMap locals: com.sun.tools.javac.code.Type$WildcardType
      StackMap stack:
         3: aload 0 /* this */
            aload 2 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         4: areturn
        end local 2 // com.sun.tools.javac.code.Type$WildcardType w
         5: .line 165
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1     t  Lcom/sun/tools/javac/code/Type;
            2    5     2     w  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type cvarLowerBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 173
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifeq 2
         1: .line 174
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getLowerBound:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
         2: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Types;
            0    3     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type skipTypeVars(com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type site
        start local 2 // boolean capture
         0: .line 185
            goto 2
         1: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* site */
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            astore 1 /* site */
         2: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* site */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 1
         3: .line 188
            iload 2 /* capture */
            ifeq 4
            aload 0 /* this */
            aload 1 /* site */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* site */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         5: areturn
        end local 2 // boolean capture
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/sun/tools/javac/code/Types;
            0    6     1     site  Lcom/sun/tools/javac/code/Type;
            0    6     2  capture  Z
    MethodParameters:
         Name  Flags
      site     
      capture  

  public com.sun.tools.javac.code.Type upward(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.util.List vars
         0: .line 419
            aload 1 /* t */
            new com.sun.tools.javac.code.Types$TypeProjection
            dup
            aload 0 /* this */
            aload 2 /* vars */
            invokespecial com.sun.tools.javac.code.Types$TypeProjection.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;)V
            getstatic com.sun.tools.javac.code.Types$ProjectionKind.UPWARDS:Lcom/sun/tools/javac/code/Types$ProjectionKind;
            invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 2 // com.sun.tools.javac.util.List vars
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2  vars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      vars  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> captures(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 431
            new com.sun.tools.javac.code.Types$CaptureScanner
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Types$CaptureScanner.<init>:(Lcom/sun/tools/javac/code/Types;)V
            astore 2 /* cs */
        start local 2 // com.sun.tools.javac.code.Types$CaptureScanner cs
         1: .line 432
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* captures */
        start local 3 // java.util.Set captures
         2: .line 433
            aload 2 /* cs */
            aload 1 /* t */
            aload 3 /* captures */
            invokevirtual com.sun.tools.javac.code.Types$CaptureScanner.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 434
            aload 3 /* captures */
            invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // java.util.Set captures
        end local 2 // com.sun.tools.javac.code.Types$CaptureScanner cs
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/javac/code/Types;
            0    4     1         t  Lcom/sun/tools/javac/code/Type;
            1    4     2        cs  Lcom/sun/tools/javac/code/Types$CaptureScanner;
            2    4     3  captures  Ljava/util/Set<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public boolean isUnbounded(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 498
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isUnbounded:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type asSub(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 539
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.asSub:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2   sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      t     
      sym   

  public boolean isConvertible(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 601
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 602
            iconst_1
            ireturn
         2: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            istore 4 /* tPrimitive */
        start local 4 // boolean tPrimitive
         3: .line 605
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            istore 5 /* sPrimitive */
        start local 5 // boolean sPrimitive
         4: .line 606
            iload 4 /* tPrimitive */
            iload 5 /* sPrimitive */
            if_icmpne 6
         5: .line 607
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
         6: .line 609
      StackMap locals: int int
      StackMap stack:
            aload 1 /* t */
            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
            istore 6 /* tUndet */
        start local 6 // boolean tUndet
         7: .line 610
            aload 2 /* s */
            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
            istore 7 /* sUndet */
        start local 7 // boolean sUndet
         8: .line 612
            iload 6 /* tUndet */
            ifne 9
            iload 7 /* sUndet */
            ifeq 13
         9: .line 613
      StackMap locals: int int
      StackMap stack:
            iload 6 /* tUndet */
            ifeq 11
        10: .line 614
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.boxedTypeOrType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            goto 12
        11: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.boxedTypeOrType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
        12: .line 613
      StackMap locals:
      StackMap stack: int
            ireturn
        13: .line 618
      StackMap locals:
      StackMap stack:
            iload 4 /* tPrimitive */
            ifeq 15
        14: .line 619
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            goto 16
        15: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
        16: .line 618
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 7 // boolean sUndet
        end local 6 // boolean tUndet
        end local 5 // boolean sPrimitive
        end local 4 // boolean tPrimitive
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/sun/tools/javac/code/Types;
            0   17     1           t  Lcom/sun/tools/javac/code/Type;
            0   17     2           s  Lcom/sun/tools/javac/code/Type;
            0   17     3        warn  Lcom/sun/tools/javac/util/Warner;
            3   17     4  tPrimitive  Z
            4   17     5  sPrimitive  Z
            7   17     6      tUndet  Z
            8   17     7      sUndet  Z
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  public boolean isConvertible(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 628
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public com.sun.tools.javac.code.Symbol findDescriptorSymbol(com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
         0: .line 819
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
            invokevirtual com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor.getSymbol:()Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/code/Types;
            0    1     1  origin  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    Exceptions:
      throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
    MethodParameters:
        Name  Flags
      origin  

  public com.sun.tools.javac.code.Type findDescriptorType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type origin
         0: .line 827
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor.getType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.code.Type origin
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/code/Types;
            0    1     1  origin  Lcom/sun/tools/javac/code/Type;
    Exceptions:
      throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
    MethodParameters:
        Name  Flags
      origin  

  public boolean isFunctionalInterface(com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
         0: .line 835
            aload 0 /* this */
            aload 1 /* tsym */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
            pop
         1: .line 836
            iconst_1
            ireturn
         2: .line 837
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
            pop
         3: .line 838
            iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1  tsym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
      Exception table:
        from    to  target  type
           0     1       2  Class com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
    MethodParameters:
      Name  Flags
      tsym  

  public boolean isFunctionalInterface(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type site
         0: .line 844
            aload 0 /* this */
            aload 1 /* site */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            pop
         1: .line 845
            iconst_1
            ireturn
         2: .line 846
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
            pop
         3: .line 847
            iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1  site  Lcom/sun/tools/javac/code/Type;
      Exception table:
        from    to  target  type
           0     1       2  Class com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
    MethodParameters:
      Name  Flags
      site  

  public com.sun.tools.javac.code.Type removeWildcards(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type site
         0: .line 852
            aload 1 /* site */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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:
                  (Ljava/lang/Object;)Z
                  com/sun/tools/javac/code/Types.lambda$1(Lcom/sun/tools/javac/code/Type;)Z (6)
                  (Lcom/sun/tools/javac/code/Type;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifeq 26
         1: .line 854
            aload 1 /* site */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 2 /* actuals */
        start local 2 // com.sun.tools.javac.util.List actuals
         2: .line 855
            aload 1 /* site */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 3 /* formals */
        start local 3 // com.sun.tools.javac.util.List formals
         3: .line 856
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 4 /* targs */
        start local 4 // com.sun.tools.javac.util.ListBuffer targs
         4: .line 857
            aload 3 /* formals */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* formal */
        start local 5 // com.sun.tools.javac.code.Type formal
         6: .line 858
            aload 2 /* actuals */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 7 /* actual */
        start local 7 // com.sun.tools.javac.code.Type actual
         7: .line 859
            aload 5 /* formal */
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            astore 8 /* bound */
        start local 8 // com.sun.tools.javac.code.Type bound
         8: .line 860
            aload 2 /* actuals */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 22
         9: .line 861
            aload 7 /* actual */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 9 /* wt */
        start local 9 // com.sun.tools.javac.code.Type$WildcardType wt
        10: .line 863
            aload 8 /* bound */
            aload 3 /* formals */
            invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
            ifeq 13
        11: .line 864
            aload 4 /* targs */
            aload 9 /* wt */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        12: .line 865
            goto 23
        13: .line 867
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$WildcardType
      StackMap stack:
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
            aload 9 /* wt */
            getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 16
                    2: 18
                    3: 14
              default: 20
          }
        14: .line 869
      StackMap locals:
      StackMap stack:
            aload 4 /* targs */
            aload 8 /* bound */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        15: .line 870
            goto 23
        16: .line 872
      StackMap locals:
      StackMap stack:
            aload 4 /* targs */
            aload 0 /* this */
            aload 8 /* bound */
            aload 9 /* wt */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        17: .line 873
            goto 23
        18: .line 875
      StackMap locals:
      StackMap stack:
            aload 4 /* targs */
            aload 9 /* wt */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        19: .line 876
            goto 23
        20: .line 878
      StackMap locals:
      StackMap stack:
            ldc "Cannot get here!"
            invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
        end local 9 // com.sun.tools.javac.code.Type$WildcardType wt
        21: .line 881
            goto 23
        22: .line 883
      StackMap locals:
      StackMap stack:
            aload 4 /* targs */
            aload 7 /* actual */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        23: .line 885
      StackMap locals:
      StackMap stack:
            aload 2 /* actuals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* actuals */
        end local 8 // com.sun.tools.javac.code.Type bound
        end local 7 // com.sun.tools.javac.code.Type actual
        end local 5 // com.sun.tools.javac.code.Type formal
        24: .line 857
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        25: .line 887
            aload 0 /* this */
            aload 1 /* site */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 3 /* formals */
            aload 4 /* targs */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            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;
            areturn
        end local 4 // com.sun.tools.javac.util.ListBuffer targs
        end local 3 // com.sun.tools.javac.util.List formals
        end local 2 // com.sun.tools.javac.util.List actuals
        26: .line 889
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* site */
            areturn
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0     this  Lcom/sun/tools/javac/code/Types;
            0   27     1     site  Lcom/sun/tools/javac/code/Type;
            2   26     2  actuals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   26     3  formals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4   26     4    targs  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            6   24     5   formal  Lcom/sun/tools/javac/code/Type;
            7   24     7   actual  Lcom/sun/tools/javac/code/Type;
            8   24     8    bound  Lcom/sun/tools/javac/code/Type;
           10   21     9       wt  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
      Name  Flags
      site  

  public com.sun.tools.javac.code.Symbol$ClassSymbol makeFunctionalInterfaceClass(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Type, long);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;J)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.util.Name name
        start local 3 // com.sun.tools.javac.code.Type target
        start local 4 // long cflags
         0: .line 900
            aload 3 /* target */
            ifnull 1
            aload 3 /* target */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unknownType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 2
         1: .line 901
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* target */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
            astore 6 /* descSym */
        start local 6 // com.sun.tools.javac.code.Symbol descSym
         3: .line 904
            aload 0 /* this */
            aload 3 /* target */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* descType */
        start local 7 // com.sun.tools.javac.code.Type descType
         4: .line 905
            new com.sun.tools.javac.code.Symbol$ClassSymbol
            dup
            lload 4 /* cflags */
            aload 2 /* name */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.enclClass:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
            astore 8 /* csym */
        start local 8 // com.sun.tools.javac.code.Symbol$ClassSymbol csym
         5: .line 906
            aload 8 /* csym */
            getstatic com.sun.tools.javac.code.Symbol$Completer.NULL_COMPLETER:Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
         6: .line 907
            aload 8 /* csym */
            aload 8 /* csym */
            invokestatic com.sun.tools.javac.code.Scope$WriteableScope.create:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Scope$WriteableScope;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
         7: .line 908
            new com.sun.tools.javac.code.Symbol$MethodSymbol
            dup
            aload 6 /* descSym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            aload 6 /* descSym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 7 /* descType */
            aload 8 /* csym */
            invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
            astore 9 /* instDescSym */
        start local 9 // com.sun.tools.javac.code.Symbol$MethodSymbol instDescSym
         8: .line 909
            aload 8 /* csym */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
            aload 9 /* instDescSym */
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.enter:(Lcom/sun/tools/javac/code/Symbol;)V
         9: .line 910
            new com.sun.tools.javac.code.Type$ClassType
            dup
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            aload 8 /* csym */
            invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 10 /* ctype */
        start local 10 // com.sun.tools.javac.code.Type$ClassType ctype
        10: .line 911
            aload 10 /* ctype */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
        11: .line 912
            aload 10 /* ctype */
            aload 3 /* target */
            invokevirtual com.sun.tools.javac.code.Type.isIntersection:()Z
            ifeq 13
        12: .line 913
            aload 0 /* this */
            aload 3 /* target */
            invokevirtual com.sun.tools.javac.code.Types.directSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            goto 14
        13: .line 914
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.comp.Env com.sun.tools.javac.util.Name com.sun.tools.javac.code.Type long com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Type$ClassType
      StackMap stack: com.sun.tools.javac.code.Type$ClassType
            aload 3 /* target */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
        14: .line 912
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.comp.Env com.sun.tools.javac.util.Name com.sun.tools.javac.code.Type long com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Type$ClassType
      StackMap stack: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List
            putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
        15: .line 915
            aload 8 /* csym */
            aload 10 /* ctype */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
        16: .line 916
            aload 8 /* csym */
            aload 8 /* csym */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
        17: .line 917
            aload 8 /* csym */
            areturn
        end local 10 // com.sun.tools.javac.code.Type$ClassType ctype
        end local 9 // com.sun.tools.javac.code.Symbol$MethodSymbol instDescSym
        end local 8 // com.sun.tools.javac.code.Symbol$ClassSymbol csym
        end local 7 // com.sun.tools.javac.code.Type descType
        end local 6 // com.sun.tools.javac.code.Symbol descSym
        end local 4 // long cflags
        end local 3 // com.sun.tools.javac.code.Type target
        end local 2 // com.sun.tools.javac.util.Name name
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/sun/tools/javac/code/Types;
            0   18     1          env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0   18     2         name  Lcom/sun/tools/javac/util/Name;
            0   18     3       target  Lcom/sun/tools/javac/code/Type;
            0   18     4       cflags  J
            3   18     6      descSym  Lcom/sun/tools/javac/code/Symbol;
            4   18     7     descType  Lcom/sun/tools/javac/code/Type;
            5   18     8         csym  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            8   18     9  instDescSym  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
           10   18    10        ctype  Lcom/sun/tools/javac/code/Type$ClassType;
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;J)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
        Name  Flags
      env     
      name    
      target  
      cflags  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> functionalInterfaceBridges(com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
         0: .line 926
            aload 0 /* this */
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Types.isFunctionalInterface:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         1: .line 927
            aload 0 /* this */
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorSymbol:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Symbol;
            astore 2 /* descSym */
        start local 2 // com.sun.tools.javac.code.Symbol descSym
         2: .line 928
            aload 0 /* this */
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.membersClosure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
            astore 3 /* members */
        start local 3 // com.sun.tools.javac.code.Scope$CompoundScope members
         3: .line 929
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 4 /* overridden */
        start local 4 // com.sun.tools.javac.util.ListBuffer overridden
         4: .line 930
            aload 3 /* members */
            aload 2 /* descSym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.bridgeFilter:Lcom/sun/tools/javac/util/Filter;
            invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 5 /* m2 */
        start local 5 // com.sun.tools.javac.code.Symbol m2
         6: .line 931
            aload 5 /* m2 */
            aload 2 /* descSym */
            if_acmpne 7
            goto 17
         7: .line 932
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator
      StackMap stack:
            aload 2 /* descSym */
            aload 5 /* m2 */
            aload 1 /* origin */
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
            ifeq 17
         8: .line 933
            aload 4 /* overridden */
            invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
            astore 8
            goto 15
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 7 /* m3 */
        start local 7 // com.sun.tools.javac.code.Symbol m3
        10: .line 934
            aload 0 /* this */
            aload 7 /* m3 */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            aload 5 /* m2 */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 17
        11: .line 935
            aload 7 /* m3 */
            aload 5 /* m2 */
            aload 1 /* origin */
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
            ifeq 15
        12: .line 936
            aload 0 /* this */
            aload 1 /* origin */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 7 /* m3 */
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.Types.pendingBridges:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
            ifne 17
        13: .line 937
            aload 5 /* m2 */
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            aload 7 /* m3 */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.binaryImplementation:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            ifnull 15
        14: .line 938
            goto 17
        end local 7 // com.sun.tools.javac.code.Symbol m3
        15: .line 933
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        16: .line 941
            aload 4 /* overridden */
            aload 5 /* m2 */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // com.sun.tools.javac.code.Symbol m2
        17: .line 930
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        18: .line 944
            aload 4 /* overridden */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 4 // com.sun.tools.javac.util.ListBuffer overridden
        end local 3 // com.sun.tools.javac.code.Scope$CompoundScope members
        end local 2 // com.sun.tools.javac.code.Symbol descSym
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/sun/tools/javac/code/Types;
            0   19     1      origin  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            2   19     2     descSym  Lcom/sun/tools/javac/code/Symbol;
            3   19     3     members  Lcom/sun/tools/javac/code/Scope$CompoundScope;
            4   19     4  overridden  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol;>;
            6   17     5          m2  Lcom/sun/tools/javac/code/Symbol;
           10   15     7          m3  Lcom/sun/tools/javac/code/Symbol;
    Signature: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
    MethodParameters:
        Name  Flags
      origin  

  private boolean pendingBridges(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol origin
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol s
         0: .line 959
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            ifnull 4
         1: .line 960
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            if_acmpne 4
         2: .line 961
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
            aload 1 /* origin */
            invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            ifnonnull 4
         3: .line 962
            iconst_0
            ireturn
         4: .line 964
      StackMap locals:
      StackMap stack:
            aload 1 /* origin */
            aload 2 /* s */
            if_acmpne 6
         5: .line 965
            iconst_1
            ireturn
         6: .line 967
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* origin */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$TypeSymbol top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
         8: .line 968
            aload 0 /* this */
            aload 3 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.pendingBridges:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
            ifeq 10
         9: .line 969
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.code.Type t
        10: .line 967
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 972
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol s
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol origin
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/tools/javac/code/Types;
            0   12     1  origin  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   12     2       s  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            8   10     3       t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
        Name  Flags
      origin  
      s       

  public boolean isSubtypeUnchecked(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1002
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isSubtypeUnchecked(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 1008
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iconst_1
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
            istore 4 /* result */
        start local 4 // boolean result
         1: .line 1009
            iload 4 /* result */
            ifeq 3
         2: .line 1010
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.checkUnsafeVarargsConversion:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
         3: .line 1012
      StackMap locals: int
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/javac/code/Types;
            0    4     1       t  Lcom/sun/tools/javac/code/Type;
            0    4     2       s  Lcom/sun/tools/javac/code/Type;
            0    4     3    warn  Lcom/sun/tools/javac/util/Warner;
            1    4     4  result  Z
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  private boolean isSubtypeUncheckedInternal(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // boolean capture
        start local 4 // com.sun.tools.javac.util.Warner warn
         0: .line 1016
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 4
            aload 2 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 4
         1: .line 1017
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 3
         2: .line 1018
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
         3: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            iconst_0
            aload 4 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
            ireturn
         4: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iload 3 /* capture */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ifeq 6
         5: .line 1023
            iconst_1
            ireturn
         6: .line 1024
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 8
         7: .line 1025
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            iconst_0
            aload 4 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUncheckedInternal:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;ZLcom/sun/tools/javac/util/Warner;)Z
            ireturn
         8: .line 1026
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifne 16
         9: .line 1027
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* t2 */
        start local 5 // com.sun.tools.javac.code.Type t2
        10: .line 1028
            aload 5 /* t2 */
            ifnull 16
            aload 5 /* t2 */
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifeq 16
        11: .line 1029
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 14
        12: .line 1030
            aload 4 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.silentWarn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        13: .line 1031
            goto 15
        14: .line 1032
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        15: .line 1034
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // com.sun.tools.javac.code.Type t2
        16: .line 1037
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // com.sun.tools.javac.util.Warner warn
        end local 3 // boolean capture
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/sun/tools/javac/code/Types;
            0   17     1        t  Lcom/sun/tools/javac/code/Type;
            0   17     2        s  Lcom/sun/tools/javac/code/Type;
            0   17     3  capture  Z
            0   17     4     warn  Lcom/sun/tools/javac/util/Warner;
           10   16     5       t2  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
         Name  Flags
      t        
      s        
      capture  
      warn     

  private void checkUnsafeVarargsConversion(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 1041
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         1: .line 1042
      StackMap locals:
      StackMap stack:
            return
         2: .line 1044
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            astore 4 /* from */
        start local 4 // com.sun.tools.javac.code.Type$ArrayType from
         3: .line 1045
            iconst_0
            istore 5 /* shouldWarn */
        start local 5 // boolean shouldWarn
         4: .line 1046
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 10 - 11
                   10: 13
                   11: 5
              default: 14
          }
         5: .line 1048
      StackMap locals: com.sun.tools.javac.code.Type$ArrayType int
      StackMap stack:
            aload 2 /* s */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            astore 6 /* to */
        start local 6 // com.sun.tools.javac.code.Type$ArrayType to
         6: .line 1049
            aload 4 /* from */
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
            ifeq 10
         7: .line 1050
            aload 6 /* to */
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
            ifne 10
         8: .line 1051
            aload 0 /* this */
            aload 4 /* from */
            invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 10
         9: .line 1049
            iconst_1
            goto 11
      StackMap locals: com.sun.tools.javac.code.Type$ArrayType
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* shouldWarn */
        12: .line 1052
            goto 14
        end local 6 // com.sun.tools.javac.code.Type$ArrayType to
        13: .line 1054
      StackMap locals:
      StackMap stack:
            aload 4 /* from */
            invokevirtual com.sun.tools.javac.code.Type$ArrayType.isVarargs:()Z
            istore 5 /* shouldWarn */
        14: .line 1057
      StackMap locals:
      StackMap stack:
            iload 5 /* shouldWarn */
            ifeq 16
        15: .line 1058
            aload 3 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.VARARGS:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        16: .line 1060
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean shouldWarn
        end local 4 // com.sun.tools.javac.code.Type$ArrayType from
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/sun/tools/javac/code/Types;
            0   17     1           t  Lcom/sun/tools/javac/code/Type;
            0   17     2           s  Lcom/sun/tools/javac/code/Type;
            0   17     3        warn  Lcom/sun/tools/javac/util/Warner;
            3   17     4        from  Lcom/sun/tools/javac/code/Type$ArrayType;
            4   17     5  shouldWarn  Z
            6   13     6          to  Lcom/sun/tools/javac/code/Type$ArrayType;
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  public final boolean isSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1067
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public final boolean isSubtypeNoCapture(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1070
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // boolean capture
         0: .line 1073
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.equalsIgnoreMetadata:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         1: .line 1074
            iconst_1
            ireturn
         2: .line 1075
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPartial:()Z
            ifeq 4
         3: .line 1076
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isSuperType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
         4: .line 1078
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifeq 11
         5: .line 1079
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 4 /* s2 */
        start local 4 // com.sun.tools.javac.code.Type s2
         7: .line 1080
            aload 0 /* this */
            aload 1 /* t */
            aload 4 /* s2 */
            iload 3 /* capture */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ifne 9
         8: .line 1081
            iconst_0
            ireturn
        end local 4 // com.sun.tools.javac.code.Type s2
         9: .line 1079
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 1083
            iconst_1
            ireturn
        11: .line 1089
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
      StackMap stack:
            aload 1 /* t */
            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
            ifne 17
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 17
        12: .line 1091
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* lower */
        start local 4 // com.sun.tools.javac.code.Type lower
        13: .line 1092
            aload 2 /* s */
            aload 4 /* lower */
            if_acmpeq 17
            aload 4 /* lower */
            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 17
        14: .line 1093
            aload 0 /* this */
            iload 3 /* capture */
            ifeq 15
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            goto 16
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.code.Types
        15: aload 1 /* t */
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
        16: aload 4 /* lower */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ireturn
        end local 4 // com.sun.tools.javac.code.Type lower
        17: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isSubtype:Lcom/sun/tools/javac/code/Types$TypeRelation;
            iload 3 /* capture */
            ifeq 18
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            goto 19
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types$TypeRelation
        18: aload 1 /* t */
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
      StackMap stack: com.sun.tools.javac.code.Types$TypeRelation com.sun.tools.javac.code.Type
        19: aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 3 // boolean capture
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lcom/sun/tools/javac/code/Types;
            0   20     1        t  Lcom/sun/tools/javac/code/Type;
            0   20     2        s  Lcom/sun/tools/javac/code/Type;
            0   20     3  capture  Z
            7    9     4       s2  Lcom/sun/tools/javac/code/Type;
           13   17     4    lower  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
         Name  Flags
      t        
      s        
      capture  

  public boolean isSubtypeUnchecked(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.util.List ts
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 1236
            aload 2 /* ts */
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
         1: goto 5
         2: .line 1237
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifne 4
         3: .line 1238
            iconst_0
            ireturn
         4: .line 1236
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
      StackMap locals:
      StackMap stack:
         5: aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 2
        end local 4 // com.sun.tools.javac.util.List l
         6: .line 1239
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.util.List ts
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1     t  Lcom/sun/tools/javac/code/Type;
            0    7     2    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     3  warn  Lcom/sun/tools/javac/util/Warner;
            1    6     4     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/Warner;)Z
    MethodParameters:
      Name  Flags
      t     
      ts    
      warn  

  public boolean isSubtypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
         0: .line 1247
            goto 3
         1: .line 1250
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         2: .line 1251
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         3: .line 1247
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
         4: .line 1249
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 1
         5: .line 1253
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    

  public boolean isSubtypesUnchecked(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.util.Warner);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 1263
            goto 3
         1: .line 1266
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         2: .line 1267
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         3: .line 1263
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
         4: .line 1265
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifne 1
         5: .line 1269
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     3  warn  Lcom/sun/tools/javac/util/Warner;
    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/util/Warner;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    
      warn  

  public boolean isSuperType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1279
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 21 - 23
                   21: 1
                   22: 10
                   23: 2
              default: 10
          }
         1: .line 1281
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1283
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 3 /* undet */
        start local 3 // com.sun.tools.javac.code.Type$UndetVar undet
         3: .line 1284
            aload 1 /* t */
            aload 2 /* s */
            if_acmpeq 7
         4: .line 1285
            aload 3 /* undet */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            if_acmpeq 7
         5: .line 1286
            aload 2 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 7
         6: .line 1287
            aload 2 /* s */
            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
            ifeq 8
         7: .line 1288
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar
      StackMap stack:
            iconst_1
            ireturn
         8: .line 1290
      StackMap locals:
      StackMap stack:
            aload 3 /* undet */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 2 /* s */
            aload 0 /* this */
            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;)V
         9: .line 1291
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.code.Type$UndetVar undet
        10: .line 1294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/tools/javac/code/Types;
            0   11     1      t  Lcom/sun/tools/javac/code/Type;
            0   11     2      s  Lcom/sun/tools/javac/code/Type;
            3   10     3  undet  Lcom/sun/tools/javac/code/Type$UndetVar;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isSameTypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
         0: .line 1305
            goto 3
         1: .line 1308
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         2: .line 1309
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         3: .line 1305
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
         4: .line 1307
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 1
         5: .line 1311
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    

  public boolean isSignaturePolymorphic(com.sun.tools.javac.code.Symbol$MethodSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$MethodSymbol msym
         0: .line 1324
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            astore 2 /* argtypes */
        start local 2 // com.sun.tools.javac.util.List argtypes
         1: .line 1325
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.flags_field:J
            ldc 256
            land
            lconst_0
            lcmp
            ifeq 7
         2: .line 1326
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.methodHandleType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpeq 3
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.varHandleType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 7
         3: .line 1327
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 2 /* argtypes */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            iconst_1
            if_icmpne 7
         4: .line 1328
            aload 2 /* argtypes */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 7
         5: .line 1329
            aload 2 /* argtypes */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$ArrayType
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 7
         6: .line 1325
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List argtypes
        end local 1 // com.sun.tools.javac.code.Symbol$MethodSymbol msym
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/code/Types;
            0    8     1      msym  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            1    8     2  argtypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      msym  

  public boolean isSameType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1336
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isSameTypeVisitor:Lcom/sun/tools/javac/code/Types$TypeRelation;
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean containedBy(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1484
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 21 - 23
                   21: 13
                   22: 14
                   23: 1
              default: 14
          }
         1: .line 1486
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 12
         2: .line 1487
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 3 /* undetvar */
        start local 3 // com.sun.tools.javac.code.Type$UndetVar undetvar
         3: .line 1488
            aload 2 /* s */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 4 /* wt */
        start local 4 // com.sun.tools.javac.code.Type$WildcardType wt
         4: .line 1489
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
            aload 4 /* wt */
            getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 6
                    2: 9
                    3: 5
              default: 11
          }
         5: .line 1491
      StackMap locals: com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$WildcardType
      StackMap stack:
            goto 11
         6: .line 1493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* bound */
        start local 5 // com.sun.tools.javac.code.Type bound
         7: .line 1494
            aload 3 /* undetvar */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 5 /* bound */
            aload 0 /* this */
            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;)V
         8: .line 1495
            goto 11
        end local 5 // com.sun.tools.javac.code.Type bound
         9: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.wildLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* bound */
        start local 5 // com.sun.tools.javac.code.Type bound
        10: .line 1499
            aload 3 /* undetvar */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aload 5 /* bound */
            aload 0 /* this */
            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;)V
        end local 5 // com.sun.tools.javac.code.Type bound
        11: .line 1503
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // com.sun.tools.javac.code.Type$WildcardType wt
        end local 3 // com.sun.tools.javac.code.Type$UndetVar undetvar
        12: .line 1505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
        13: .line 1508
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        14: .line 1510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lcom/sun/tools/javac/code/Types;
            0   15     1         t  Lcom/sun/tools/javac/code/Type;
            0   15     2         s  Lcom/sun/tools/javac/code/Type;
            3   12     3  undetvar  Lcom/sun/tools/javac/code/Type$UndetVar;
            4   12     4        wt  Lcom/sun/tools/javac/code/Type$WildcardType;
            7    9     5     bound  Lcom/sun/tools/javac/code/Type;
           10   11     5     bound  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  boolean containsType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
         0: .line 1515
            goto 3
         1: .line 1517
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         2: .line 1518
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         3: .line 1515
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 5
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 5
         4: .line 1516
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 1
         5: .line 1520
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 6
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    

  public boolean containsType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1549
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.containsType:Lcom/sun/tools/javac/code/Types$TypeRelation;
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isCaptureOf(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$WildcardType);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$WildcardType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type s
        start local 2 // com.sun.tools.javac.code.Type$WildcardType t
         0: .line 1604
            aload 1 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 1
            aload 1 /* s */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifne 2
         1: .line 1605
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            aload 1 /* s */
            checkcast com.sun.tools.javac.code.Type$CapturedType
            getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
            invokevirtual com.sun.tools.javac.code.Types.isSameWildcard:(Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Type;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type$WildcardType t
        end local 1 // com.sun.tools.javac.code.Type s
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Types;
            0    3     1     s  Lcom/sun/tools/javac/code/Type;
            0    3     2     t  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
      Name  Flags
      s     
      t     

  public boolean isSameWildcard(com.sun.tools.javac.code.Type$WildcardType, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$WildcardType t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1610
            aload 2 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 2
         1: .line 1611
            iconst_0
            ireturn
         2: .line 1612
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 3 /* w */
        start local 3 // com.sun.tools.javac.code.Type$WildcardType w
         3: .line 1613
            aload 3 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
            if_acmpne 4
            aload 3 /* w */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
            if_acmpne 4
            iconst_1
            ireturn
      StackMap locals: com.sun.tools.javac.code.Type$WildcardType
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // com.sun.tools.javac.code.Type$WildcardType w
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type$WildcardType t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Types;
            0    5     1     t  Lcom/sun/tools/javac/code/Type$WildcardType;
            0    5     2     s  Lcom/sun/tools/javac/code/Type;
            3    5     3     w  Lcom/sun/tools/javac/code/Type$WildcardType;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean containsTypeEquivalent(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
         0: .line 1617
            goto 3
         1: .line 1619
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         2: .line 1620
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         3: .line 1617
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 5
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 5
         4: .line 1618
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.containsTypeEquivalent:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 1
         5: .line 1622
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 6
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    

  public boolean isCastable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1628
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokevirtual com.sun.tools.javac.code.Types.isCastable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isCastable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 1637
            aload 1 /* t */
            aload 2 /* s */
            if_acmpne 2
         1: .line 1638
            iconst_1
            ireturn
         2: .line 1639
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            if_icmpeq 9
         3: .line 1640
            aload 0 /* this */
            aload 1 /* t */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.skipTypeVars:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
            astore 1 /* t */
         4: .line 1641
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifne 8
         5: .line 1642
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 7
         6: .line 1643
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 8
         7: .line 1641
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
         9: .line 1645
      StackMap locals:
      StackMap stack:
            aload 3 /* warn */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            if_acmpeq 18
        10: .line 1647
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
        11: .line 1648
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.checkUnsafeVarargsConversion:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)V
        12: .line 1649
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 5
        13: .line 1651
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
        14: .line 1649
            iload 5
            ireturn
        15: .line 1650
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 1651
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Types.warnStack:Lcom/sun/tools/javac/util/List;
        17: .line 1652
            aload 4
            athrow
        18: .line 1654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isCastable:Lcom/sun/tools/javac/code/Types$TypeRelation;
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/sun/tools/javac/code/Types;
            0   19     1     t  Lcom/sun/tools/javac/code/Type;
            0   19     2     s  Lcom/sun/tools/javac/code/Type;
            0   19     3  warn  Lcom/sun/tools/javac/util/Warner;
      Exception table:
        from    to  target  type
          10    13      15  any
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  public boolean disjointTypes(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List ss
         0: .line 1846
            goto 4
         1: .line 1847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.disjointType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 1848
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* ts */
         3: .line 1849
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         4: .line 1846
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnull 5
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            ifnonnull 1
         5: .line 1851
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.util.List ss
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    6     2    ss  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;)Z
    MethodParameters:
      Name  Flags
      ts    
      ss    

  public boolean disjointType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1864
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.disjointType:Lcom/sun/tools/javac/code/Types$TypeRelation;
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> cvarLowerBounds(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 1936
            aload 1 /* ts */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.cvarLowerBoundMapping:Lcom/sun/tools/javac/code/Types$TypeMapping;
            invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;
    MethodParameters:
      Name  Flags
      ts    

  public boolean notSoftSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1956
            aload 1 /* t */
            aload 2 /* s */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1957
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 11
         2: .line 1958
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 3 /* tv */
        start local 3 // com.sun.tools.javac.code.Type$TypeVar tv
         3: .line 1959
            aload 0 /* this */
            aload 3 /* tv */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
         4: .line 1960
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.relaxBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
         5: .line 1961
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
         6: .line 1959
            invokevirtual com.sun.tools.javac.code.Types.isCastable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
         7: .line 1961
            ifeq 9
         8: .line 1959
            iconst_0
            goto 10
      StackMap locals: com.sun.tools.javac.code.Type$TypeVar
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 3 // com.sun.tools.javac.code.Type$TypeVar tv
        11: .line 1963
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 13
        12: .line 1964
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.cvarUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* s */
        13: .line 1966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.relaxBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/sun/tools/javac/code/Types;
            0   16     1     t  Lcom/sun/tools/javac/code/Type;
            0   16     2     s  Lcom/sun/tools/javac/code/Type;
            3   11     3    tv  Lcom/sun/tools/javac/code/Type$TypeVar;
    MethodParameters:
      Name  Flags
      t     
      s     

  private com.sun.tools.javac.code.Type relaxBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 1970
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 1971
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.skipTypeVars:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
            iconst_1
            iconst_1
            invokevirtual com.sun.tools.javac.code.Types.rewriteQuantifiers:(Lcom/sun/tools/javac/code/Type;ZZ)Lcom/sun/tools/javac/code/Type;
            goto 3
         2: .line 1972
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
         3: .line 1970
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public boolean isReifiable(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 1978
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isReifiable:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public boolean isArray(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2017
            goto 2
         1: .line 2018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 1 /* t */
         2: .line 2017
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 1
         3: .line 2019
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type elemtype(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2026
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            lookupswitch { // 4
                   11: 2
                   16: 1
                   17: 3
                   21: 4
              default: 5
          }
         1: .line 2028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
         2: .line 2030
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ArrayType
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
            areturn
         3: .line 2032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ForAll
            getfield com.sun.tools.javac.code.Type$ForAll.qtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
         4: .line 2034
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
         5: .line 2036
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type elemtypeOrType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2041
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* elemtype */
        start local 2 // com.sun.tools.javac.code.Type elemtype
         1: .line 2042
            aload 2 /* elemtype */
            ifnull 3
         2: .line 2043
            aload 2 /* elemtype */
            goto 4
         3: .line 2044
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* t */
         4: .line 2042
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Type elemtype
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/code/Types;
            0    5     1         t  Lcom/sun/tools/javac/code/Type;
            1    5     2  elemtype  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public int dimensions(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2066
            iconst_0
            istore 2 /* result */
        start local 2 // int result
         1: .line 2067
            goto 4
         2: .line 2068
      StackMap locals: int
      StackMap stack:
            iinc 2 /* result */ 1
         3: .line 2069
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 1 /* t */
         4: .line 2067
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 2
         5: .line 2071
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/javac/code/Types;
            0    6     1       t  Lcom/sun/tools/javac/code/Type;
            1    6     2  result  I
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type$ArrayType makeArrayType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type$ArrayType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2081
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 1
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.PACKAGE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 2082
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Type t must not be a VOID or PACKAGE type, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
         2: .line 2084
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Type$ArrayType
            dup
            aload 1 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.arrayClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Types;
            0    3     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type asSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 2110
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 2
         1: .line 2111
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            areturn
         2: .line 2113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.asSuper:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Types;
            0    3     1     t  Lcom/sun/tools/javac/code/Type;
            0    3     2   sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      t     
      sym   

  public com.sun.tools.javac.code.Type asOuterSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 2172
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            lookupswitch { // 4
                   10: 1
                   11: 6
                   15: 9
                   21: 10
              default: 11
          }
         1: .line 2175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* s */
        start local 3 // com.sun.tools.javac.code.Type s
         2: .line 2176
            aload 3 /* s */
            ifnull 3
            aload 3 /* s */
            areturn
         3: .line 2177
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            astore 1 /* t */
        end local 3 // com.sun.tools.javac.code.Type s
         4: .line 2178
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 1
         5: .line 2179
            aconst_null
            areturn
         6: .line 2181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 7
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         8: areturn
         9: .line 2183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            areturn
        10: .line 2185
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        11: .line 2187
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/tools/javac/code/Types;
            0   12     1     t  Lcom/sun/tools/javac/code/Type;
            0   12     2   sym  Lcom/sun/tools/javac/code/Symbol;
            2    4     3     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      sym   

  public com.sun.tools.javac.code.Type asEnclosingSuper(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 2199
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            lookupswitch { // 4
                   10: 1
                   11: 10
                   15: 13
                   21: 14
              default: 15
          }
         1: .line 2202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* s */
        start local 3 // com.sun.tools.javac.code.Type s
         2: .line 2203
            aload 3 /* s */
            ifnull 3
            aload 3 /* s */
            areturn
         3: .line 2204
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            astore 4 /* outer */
        start local 4 // com.sun.tools.javac.code.Type outer
         4: .line 2205
            aload 4 /* outer */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 5
            aload 4 /* outer */
            goto 7
         5: .line 2206
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            ifnull 6
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            goto 7
         6: .line 2207
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
         7: .line 2205
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 1 /* t */
        end local 4 // com.sun.tools.javac.code.Type outer
        end local 3 // com.sun.tools.javac.code.Type s
         8: .line 2208
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 1
         9: .line 2209
            aconst_null
            areturn
        10: .line 2211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 11
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
        12: areturn
        13: .line 2213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            areturn
        14: .line 2215
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        15: .line 2217
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lcom/sun/tools/javac/code/Types;
            0   16     1      t  Lcom/sun/tools/javac/code/Type;
            0   16     2    sym  Lcom/sun/tools/javac/code/Symbol;
            2    8     3      s  Lcom/sun/tools/javac/code/Type;
            4    8     4  outer  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      sym   

  public com.sun.tools.javac.code.Type memberType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 2230
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 8
            land
            lconst_0
            lcmp
            ifeq 2
         1: .line 2231
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            goto 3
         2: .line 2232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.memberType:Lcom/sun/tools/javac/code/Types$SimpleVisitor;
            aload 1 /* t */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Types$SimpleVisitor.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
         3: .line 2230
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
            0    4     2   sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      t     
      sym   

  public boolean isAssignable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 2286
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isAssignable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 2296
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 2297
            iconst_1
            ireturn
         2: .line 2298
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            getstatic com.sun.tools.javac.code.TypeTag.INT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.isSubRangeOf:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 9
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.constValue:()Ljava/lang/Object;
            ifnull 9
         3: .line 2299
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.constValue:()Ljava/lang/Object;
            checkcast java.lang.Number
            invokevirtual java.lang.Number.intValue:()I
            istore 4 /* value */
        start local 4 // int value
         4: .line 2300
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 5
                    2: 5
                    3: 5
                    4: 9
                    5: 9
                    6: 5
                    7: 9
                    8: 9
                    9: 9
                   10: 7
              default: 9
          }
         5: .line 2305
      StackMap locals: int
      StackMap stack:
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            iload 4 /* value */
            invokevirtual com.sun.tools.javac.code.TypeTag.checkRange:(I)Z
            ifeq 9
         6: .line 2306
            iconst_1
            ireturn
         7: .line 2309
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 8
                    2: 8
                    3: 8
              default: 9
          }
         8: .line 2313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 4 // int value
         9: .line 2318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warn */
            invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/sun/tools/javac/code/Types;
            0   10     1      t  Lcom/sun/tools/javac/code/Type;
            0   10     2      s  Lcom/sun/tools/javac/code/Type;
            0   10     3   warn  Lcom/sun/tools/javac/util/Warner;
            4    9     4  value  I
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  public com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2328
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.eraseNotNeeded:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 1
            aload 1 /* t */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* t */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         2: areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Types;
            0    3     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  private boolean eraseNotNeeded(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2335
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.stringType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Types;
            0    2     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  private com.sun.tools.javac.code.Type erasure(com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // boolean recurse
         0: .line 2339
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 2
         1: .line 2340
            aload 1 /* t */
            areturn
         2: .line 2342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
            aload 1 /* t */
            iload 2 /* recurse */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* out */
        start local 3 // com.sun.tools.javac.code.Type out
         3: .line 2343
            aload 3 /* out */
            areturn
        end local 3 // com.sun.tools.javac.code.Type out
        end local 2 // boolean recurse
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/sun/tools/javac/code/Types;
            0    4     1        t  Lcom/sun/tools/javac/code/Type;
            0    4     2  recurse  Z
            3    4     3      out  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
         Name  Flags
      t        
      recurse  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasure(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 2403
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
            aload 1 /* ts */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;
    MethodParameters:
      Name  Flags
      ts    

  public com.sun.tools.javac.code.Type erasureRecursive(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2407
            aload 0 /* this */
            aload 1 /* t */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasureRecursive(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 2411
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.erasure:Lcom/sun/tools/javac/code/Types$TypeMapping;
            aload 1 /* ts */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.sun.tools.javac.code.Types$TypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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;>;
    MethodParameters:
      Name  Flags
      ts    

  public com.sun.tools.javac.code.Type$IntersectionClassType makeIntersectionType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List bounds
         0: .line 2424
            aload 0 /* this */
            aload 1 /* bounds */
            aload 1 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
            areturn
        end local 1 // com.sun.tools.javac.util.List bounds
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/code/Types;
            0    1     1  bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
    MethodParameters:
        Name  Flags
      bounds  

  public com.sun.tools.javac.code.Type$IntersectionClassType makeIntersectionType(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, boolean);
    descriptor: (Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List bounds
        start local 2 // boolean allInterfaces
         0: .line 2437
            aload 1 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         1: .line 2438
            aload 1 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* firstExplicitBound */
        start local 3 // com.sun.tools.javac.code.Type firstExplicitBound
         2: .line 2439
            iload 2 /* allInterfaces */
            ifeq 4
         3: .line 2440
            aload 1 /* bounds */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 1 /* bounds */
         4: .line 2443
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            new com.sun.tools.javac.code.Symbol$ClassSymbol
            dup
            ldc 1090524161
         5: .line 2444
            getstatic com.sun.tools.javac.code.Type.moreInfo:Z
            ifeq 7
         6: .line 2445
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            aload 1 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            goto 8
         7: .line 2446
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
      StackMap stack: new 4 new 4 long
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
         8: .line 2447
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
      StackMap stack: new 4 new 4 long com.sun.tools.javac.util.Name
            aconst_null
         9: .line 2448
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.noSymbol:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
        10: .line 2443
            invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
        11: .line 2442
            astore 4 /* bc */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol bc
        12: .line 2449
            new com.sun.tools.javac.code.Type$IntersectionClassType
            dup
            aload 1 /* bounds */
            aload 4 /* bc */
            iload 2 /* allInterfaces */
            invokespecial com.sun.tools.javac.code.Type$IntersectionClassType.<init>:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Z)V
            astore 5 /* intersectionType */
        start local 5 // com.sun.tools.javac.code.Type$IntersectionClassType intersectionType
        13: .line 2450
            aload 4 /* bc */
            aload 5 /* intersectionType */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
        14: .line 2451
            aload 4 /* bc */
            aload 1 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 16
        15: .line 2452
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            goto 17
        16: .line 2453
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$IntersectionClassType
      StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 0 /* this */
            aload 3 /* firstExplicitBound */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
        17: .line 2451
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$IntersectionClassType
      StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.erasure_field:Lcom/sun/tools/javac/code/Type;
        18: .line 2454
            aload 4 /* bc */
            aload 4 /* bc */
            invokestatic com.sun.tools.javac.code.Scope$WriteableScope.create:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Scope$WriteableScope;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
        19: .line 2455
            aload 5 /* intersectionType */
            areturn
        end local 5 // com.sun.tools.javac.code.Type$IntersectionClassType intersectionType
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol bc
        end local 3 // com.sun.tools.javac.code.Type firstExplicitBound
        end local 2 // boolean allInterfaces
        end local 1 // com.sun.tools.javac.util.List bounds
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0                this  Lcom/sun/tools/javac/code/Types;
            0   20     1              bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   20     2       allInterfaces  Z
            2   20     3  firstExplicitBound  Lcom/sun/tools/javac/code/Type;
           12   20     4                  bc  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
           13   20     5    intersectionType  Lcom/sun/tools/javac/code/Type$IntersectionClassType;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
    MethodParameters:
               Name  Flags
      bounds         
      allInterfaces  

  public com.sun.tools.javac.code.Type supertype(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2461
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.supertype:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> interfaces(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2531
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.interfaces:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> directSupertypes(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2589
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.directSupertypes:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public boolean isDirectSuperInterface(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol isym
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
         0: .line 2607
            aload 0 /* this */
            aload 2 /* origin */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol$TypeSymbol top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* i2 */
        start local 3 // com.sun.tools.javac.code.Type i2
         2: .line 2608
            aload 1 /* isym */
            aload 3 /* i2 */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 3
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.code.Type i2
         3: .line 2607
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 2610
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol isym
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/tools/javac/code/Types;
            0    5     1    isym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    5     2  origin  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            2    3     3      i2  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
        Name  Flags
      isym    
      origin  

  public boolean isDerivedRaw(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2618
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
            aload 1 /* t */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* result */
        start local 2 // java.lang.Boolean result
         1: .line 2619
            aload 2 /* result */
            ifnonnull 4
         2: .line 2620
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isDerivedRawInternal:(Lcom/sun/tools/javac/code/Type;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 2 /* result */
         3: .line 2621
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
            aload 1 /* t */
            aload 2 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2623
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 2 // java.lang.Boolean result
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/tools/javac/code/Types;
            0    5     1       t  Lcom/sun/tools/javac/code/Type;
            1    5     2  result  Ljava/lang/Boolean;
    MethodParameters:
      Name  Flags
      t     

  public boolean isDerivedRawInternal(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2627
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 2
         1: .line 2628
            iconst_0
            ireturn
         2: .line 2630
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifne 6
         3: .line 2631
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            if_acmpeq 4
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 6
         4: .line 2632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/util/List;)Z
            ifne 6
         5: .line 2629
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public boolean isDerivedRaw(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 2636
            aload 1 /* ts */
            astore 2 /* l */
        start local 2 // com.sun.tools.javac.util.List l
         1: .line 2637
            goto 3
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
         2: aload 2 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* l */
      StackMap locals:
      StackMap stack:
         3: aload 2 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 4
            aload 0 /* this */
            aload 2 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.isDerivedRaw:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         4: .line 2638
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ireturn
        end local 2 // com.sun.tools.javac.util.List l
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Types;
            0    5     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1    5     2     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Z
    MethodParameters:
      Name  Flags
      ts    

  public void setBounds(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar t
        start local 2 // com.sun.tools.javac.util.List bounds
         0: .line 2654
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* bounds */
            aload 2 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
            invokevirtual com.sun.tools.javac.code.Types.setBounds:(Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Z)V
         1: .line 2655
            return
        end local 2 // com.sun.tools.javac.util.List bounds
        end local 1 // com.sun.tools.javac.code.Type$TypeVar t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/code/Types;
            0    2     1       t  Lcom/sun/tools/javac/code/Type$TypeVar;
            0    2     2  bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
        Name  Flags
      t       
      bounds  

  public void setBounds(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, );
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar t
        start local 2 // com.sun.tools.javac.util.List bounds
        start local 3 // boolean allInterfaces
         0: .line 2667
            aload 1 /* t */
            aload 2 /* bounds */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 2668
            aload 2 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            goto 3
         2: .line 2669
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type$TypeVar
            aload 0 /* this */
            aload 2 /* bounds */
            iload 3 /* allInterfaces */
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
         3: .line 2667
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.util.List int
      StackMap stack: com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
         4: .line 2670
            aload 1 /* t */
            iconst_m1
            putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
         5: .line 2671
            return
        end local 3 // boolean allInterfaces
        end local 2 // com.sun.tools.javac.util.List bounds
        end local 1 // com.sun.tools.javac.code.Type$TypeVar t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/sun/tools/javac/code/Types;
            0    6     1              t  Lcom/sun/tools/javac/code/Type$TypeVar;
            0    6     2         bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    6     3  allInterfaces  Z
    Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Z)V
    MethodParameters:
               Name  Flags
      t              
      bounds         
      allInterfaces  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> getBounds(com.sun.tools.javac.code.Type$TypeVar);
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar t
         0: .line 2679
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 2680
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         2: .line 2681
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifne 3
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 4
         3: .line 2682
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         4: .line 2683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifne 6
         5: .line 2684
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         6: .line 2688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.code.Type$TypeVar t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Types;
            0    7     1     t  Lcom/sun/tools/javac/code/Type$TypeVar;
    Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type classBound(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2699
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.classBound:Lcom/sun/tools/javac/code/Types$UnaryVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$UnaryVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public boolean isSubSignature(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 2743
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Types.isSubSignature:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean isSubSignature(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // boolean strict
         0: .line 2747
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iload 3 /* strict */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ifne 1
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            iload 3 /* strict */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 3 // boolean strict
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/code/Types;
            0    2     1       t  Lcom/sun/tools/javac/code/Type;
            0    2     2       s  Lcom/sun/tools/javac/code/Type;
            0    2     3  strict  Z
    MethodParameters:
        Name  Flags
      t       
      s       
      strict  

  public boolean overrideEquivalent(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 2764
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 3
         1: .line 2765
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 3
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 3
         2: .line 2764
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
            0    4     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean overridesObjectMethod(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        start local 2 // com.sun.tools.javac.code.Symbol msym
         0: .line 2769
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 3 /* sym */
        start local 3 // com.sun.tools.javac.code.Symbol sym
         2: .line 2770
            aload 2 /* msym */
            aload 3 /* sym */
            aload 1 /* origin */
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Symbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
            ifeq 4
         3: .line 2771
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.code.Symbol sym
         4: .line 2769
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 2774
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol msym
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/javac/code/Types;
            0    6     1  origin  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    6     2    msym  Lcom/sun/tools/javac/code/Symbol;
            2    4     3     sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
        Name  Flags
      origin  
      msym    

  public java.util.Optional<com.sun.tools.javac.code.Symbol> mergeAbstracts(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol>, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Z)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=18, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ambiguousInOrder
        start local 2 // com.sun.tools.javac.code.Type site
        start local 3 // boolean sigCheck
         0: .line 2823
            iconst_0
            istore 4 /* shouldErase */
        start local 4 // boolean shouldErase
         1: .line 2824
            aload 1 /* ambiguousInOrder */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            astore 5 /* erasedParams */
        start local 5 // com.sun.tools.javac.util.List erasedParams
         2: .line 2825
            aload 1 /* ambiguousInOrder */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 6 /* s */
        start local 6 // com.sun.tools.javac.code.Symbol s
         4: .line 2826
            aload 6 /* s */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 1024
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 2827
            iload 3 /* sigCheck */
            ifeq 7
            aload 0 /* this */
            aload 5 /* erasedParams */
            aload 6 /* s */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.isSameTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
            ifne 7
         6: .line 2828
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator
      StackMap stack:
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
         7: .line 2829
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 9
         8: .line 2830
            iconst_1
            istore 4 /* shouldErase */
        end local 6 // com.sun.tools.javac.code.Symbol s
         9: .line 2825
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 2834
            invokestatic com.sun.tools.javac.code.Types$MostSpecificReturnCheck.values:()[Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 43
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[]
      StackMap stack:
        11: aload 9
            iload 7
            aaload
            astore 6 /* mostSpecificReturnCheck */
        start local 6 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck mostSpecificReturnCheck
        12: .line 2835
            aload 1 /* ambiguousInOrder */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 41
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] top java.util.Iterator
      StackMap stack:
        13: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 10 /* s */
        start local 10 // com.sun.tools.javac.code.Symbol s
        14: .line 2836
            aload 0 /* this */
            aload 2 /* site */
            aload 10 /* s */
            invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 12 /* mt */
        start local 12 // com.sun.tools.javac.code.Type mt
        15: .line 2837
            aload 12 /* mt */
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 13 /* allThrown */
        start local 13 // com.sun.tools.javac.util.List allThrown
        16: .line 2838
            aload 1 /* ambiguousInOrder */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 31
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        17: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 14 /* s2 */
        start local 14 // com.sun.tools.javac.code.Symbol s2
        18: .line 2839
            aload 10 /* s */
            aload 14 /* s2 */
            if_acmpeq 31
        19: .line 2840
            aload 0 /* this */
            aload 2 /* site */
            aload 14 /* s2 */
            invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 16 /* mt2 */
        start local 16 // com.sun.tools.javac.code.Type mt2
        20: .line 2841
            aload 0 /* this */
            aload 12 /* mt */
            aload 16 /* mt2 */
            invokevirtual com.sun.tools.javac.code.Types.isSubSignature:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 41
        21: .line 2842
            aload 6 /* mostSpecificReturnCheck */
            aload 12 /* mt */
            aload 16 /* mt2 */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Types$MostSpecificReturnCheck.test:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Z
            ifne 23
        22: .line 2844
            goto 41
        23: .line 2846
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type
      StackMap stack:
            aload 16 /* mt2 */
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 17 /* thrownTypes2 */
        start local 17 // com.sun.tools.javac.util.List thrownTypes2
        24: .line 2847
            aload 12 /* mt */
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 27
            iload 4 /* shouldErase */
            ifeq 27
        25: .line 2848
            aload 0 /* this */
            aload 17 /* thrownTypes2 */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 17 /* thrownTypes2 */
        26: .line 2849
            goto 30
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
        27: aload 12 /* mt */
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 30
        28: .line 2852
            aload 16 /* mt2 */
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        29: .line 2854
            aload 0 /* this */
            aload 17 /* thrownTypes2 */
            aload 16 /* mt2 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 12 /* mt */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 17 /* thrownTypes2 */
        30: .line 2856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
            aload 13 /* allThrown */
            aload 17 /* thrownTypes2 */
            invokevirtual com.sun.tools.javac.comp.Check.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 13 /* allThrown */
        end local 17 // com.sun.tools.javac.util.List thrownTypes2
        end local 16 // com.sun.tools.javac.code.Type mt2
        end local 14 // com.sun.tools.javac.code.Symbol s2
        31: .line 2838
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        32: .line 2860
            aload 13 /* allThrown */
            aload 12 /* mt */
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            if_acmpne 34
        33: .line 2861
            aload 10 /* s */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 40
        34: .line 2862
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type com.sun.tools.javac.util.List
      StackMap stack:
            new com.sun.tools.javac.code.Types$24
            dup
            aload 0 /* this */
        35: .line 2863
            aload 10 /* s */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
        36: .line 2864
            aload 10 /* s */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
        37: .line 2865
            aload 0 /* this */
            aload 10 /* s */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 13 /* allThrown */
            invokevirtual com.sun.tools.javac.code.Types.createMethodTypeWithThrown:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
        38: .line 2866
            aload 10 /* s */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
        39: .line 2862
            aload 10 /* s */
            invokespecial com.sun.tools.javac.code.Types$24.<init>:(Lcom/sun/tools/javac/code/Types;JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)V
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
        40: .line 2860
      StackMap locals:
      StackMap stack: java.util.Optional
            areturn
        end local 13 // com.sun.tools.javac.util.List allThrown
        end local 12 // com.sun.tools.javac.code.Type mt
        end local 10 // com.sun.tools.javac.code.Symbol s
        41: .line 2835
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List com.sun.tools.javac.code.Types$MostSpecificReturnCheck int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[] top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 6 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck mostSpecificReturnCheck
        42: .line 2834
            iinc 7 1
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type int int com.sun.tools.javac.util.List top int int com.sun.tools.javac.code.Types$MostSpecificReturnCheck[]
      StackMap stack:
        43: iload 7
            iload 8
            if_icmplt 11
        44: .line 2874
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 5 // com.sun.tools.javac.util.List erasedParams
        end local 4 // boolean shouldErase
        end local 3 // boolean sigCheck
        end local 2 // com.sun.tools.javac.code.Type site
        end local 1 // com.sun.tools.javac.util.List ambiguousInOrder
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   45     0                     this  Lcom/sun/tools/javac/code/Types;
            0   45     1         ambiguousInOrder  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
            0   45     2                     site  Lcom/sun/tools/javac/code/Type;
            0   45     3                 sigCheck  Z
            1   45     4              shouldErase  Z
            2   45     5             erasedParams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4    9     6                        s  Lcom/sun/tools/javac/code/Symbol;
           12   42     6  mostSpecificReturnCheck  Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck;
           14   41    10                        s  Lcom/sun/tools/javac/code/Symbol;
           15   41    12                       mt  Lcom/sun/tools/javac/code/Type;
           16   41    13                allThrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           18   31    14                       s2  Lcom/sun/tools/javac/code/Symbol;
           20   31    16                      mt2  Lcom/sun/tools/javac/code/Type;
           24   31    17             thrownTypes2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;Lcom/sun/tools/javac/code/Type;Z)Ljava/util/Optional<Lcom/sun/tools/javac/code/Symbol;>;
    MethodParameters:
                  Name  Flags
      ambiguousInOrder  
      site              
      sigCheck          

  public com.sun.tools.javac.code.Symbol$MethodSymbol implementation(com.sun.tools.javac.code.Symbol$MethodSymbol, com.sun.tools.javac.code.Symbol$TypeSymbol, boolean, com.sun.tools.javac.util.Filter<com.sun.tools.javac.code.Symbol>);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$MethodSymbol ms
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        start local 3 // boolean checkResult
        start local 4 // com.sun.tools.javac.util.Filter implFilter
         0: .line 2951
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
            aload 1 /* ms */
            aload 2 /* origin */
            iload 3 /* checkResult */
            aload 4 /* implFilter */
            invokevirtual com.sun.tools.javac.code.Types$ImplementationCache.get:(Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            areturn
        end local 4 // com.sun.tools.javac.util.Filter implFilter
        end local 3 // boolean checkResult
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol origin
        end local 1 // com.sun.tools.javac.code.Symbol$MethodSymbol ms
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/code/Types;
            0    1     1           ms  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            0    1     2       origin  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    1     3  checkResult  Z
            0    1     4   implFilter  Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
    Signature: (Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;ZLcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    MethodParameters:
             Name  Flags
      ms           
      origin       
      checkResult  
      implFilter   

  public com.sun.tools.javac.code.Scope$CompoundScope membersClosure(com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type site
        start local 2 // boolean skipInterface
         0: .line 3039
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
            aload 1 /* site */
            aconst_null
            invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Scope$CompoundScope
            astore 3 /* cs */
        start local 3 // com.sun.tools.javac.code.Scope$CompoundScope cs
         1: .line 3040
            aload 3 /* cs */
            aload 1 /* site */
            invokedynamic get(Lcom/sun/tools/javac/code/Type;)Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  com/sun/tools/javac/code/Types.lambda$2(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
            pop
         2: .line 3041
            iload 2 /* skipInterface */
            ifeq 3
            new com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 3 /* cs */
            invokespecial com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope.<init>:(Lcom/sun/tools/javac/code/Types$MembersClosureCache;Lcom/sun/tools/javac/code/Scope$CompoundScope;)V
            goto 4
      StackMap locals: com.sun.tools.javac.code.Scope$CompoundScope
      StackMap stack:
         3: aload 3 /* cs */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Scope$CompoundScope
         4: areturn
        end local 3 // com.sun.tools.javac.code.Scope$CompoundScope cs
        end local 2 // boolean skipInterface
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/sun/tools/javac/code/Types;
            0    5     1           site  Lcom/sun/tools/javac/code/Type;
            0    5     2  skipInterface  Z
            1    5     3             cs  Lcom/sun/tools/javac/code/Scope$CompoundScope;
    MethodParameters:
               Name  Flags
      site           
      skipInterface  

  public com.sun.tools.javac.code.Symbol$MethodSymbol firstUnimplementedAbstract(com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
         0: .line 3050
            aload 0 /* this */
            aload 1 /* sym */
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         1: areturn
         2: .line 3051
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
            astore 2 /* ex */
        start local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
         3: .line 3052
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.enter:Lcom/sun/tools/javac/comp/Enter;
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 2 /* ex */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
         4: .line 3053
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Types;
            0    5     1   sym  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            3    5     2    ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
           0     1       2  Class com.sun.tools.javac.code.Symbol$CompletionFailure
    MethodParameters:
      Name  Flags
      sym   

  private com.sun.tools.javac.code.Symbol$MethodSymbol firstUnimplementedAbstractImpl(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol impl
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 3058
            aconst_null
            astore 3 /* undef */
        start local 3 // com.sun.tools.javac.code.Symbol$MethodSymbol undef
         1: .line 3061
            aload 2 /* c */
            aload 1 /* impl */
            if_acmpeq 2
            aload 2 /* c */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
            ldc 1536
            land
            lconst_0
            lcmp
            ifeq 27
         2: .line 3062
      StackMap locals: com.sun.tools.javac.code.Symbol$MethodSymbol
      StackMap stack:
            aload 2 /* c */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            astore 4 /* s */
        start local 4 // com.sun.tools.javac.code.Scope s
         3: .line 3063
            aload 4 /* s */
            getstatic com.sun.tools.javac.code.Scope$LookupKind.NON_RECURSIVE:Lcom/sun/tools/javac/code/Scope$LookupKind;
            invokevirtual com.sun.tools.javac.code.Scope.getSymbols:(Lcom/sun/tools/javac/code/Scope$LookupKind;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 5 /* sym */
        start local 5 // com.sun.tools.javac.code.Symbol sym
         5: .line 3064
            aload 5 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 17
         6: .line 3065
            aload 5 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 8796093023234
            land
            ldc 1024
            lcmp
            ifne 17
         7: .line 3066
            aload 5 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            astore 7 /* absmeth */
        start local 7 // com.sun.tools.javac.code.Symbol$MethodSymbol absmeth
         8: .line 3067
            aload 7 /* absmeth */
            aload 1 /* impl */
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.implementation:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            astore 8 /* implmeth */
        start local 8 // com.sun.tools.javac.code.Symbol$MethodSymbol implmeth
         9: .line 3068
            aload 8 /* implmeth */
            ifnull 10
            aload 8 /* implmeth */
            aload 7 /* absmeth */
            if_acmpne 14
        10: .line 3070
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Symbol$MethodSymbol
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.allowDefaultMethods:Z
            ifeq 14
        11: .line 3071
            aload 0 /* this */
            aload 1 /* impl */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 7 /* absmeth */
            invokevirtual com.sun.tools.javac.code.Types.interfaceCandidates:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            astore 9 /* prov */
        start local 9 // com.sun.tools.javac.code.Symbol$MethodSymbol prov
        12: .line 3072
            aload 9 /* prov */
            ifnull 14
            aload 9 /* prov */
            aload 7 /* absmeth */
            aload 1 /* impl */
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.overrides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;Z)Z
            ifeq 14
        13: .line 3073
            aload 9 /* prov */
            astore 8 /* implmeth */
        end local 9 // com.sun.tools.javac.code.Symbol$MethodSymbol prov
        14: .line 3077
      StackMap locals:
      StackMap stack:
            aload 8 /* implmeth */
            ifnull 15
            aload 8 /* implmeth */
            aload 7 /* absmeth */
            if_acmpne 17
        15: .line 3078
      StackMap locals:
      StackMap stack:
            aload 7 /* absmeth */
            astore 3 /* undef */
        16: .line 3079
            goto 18
        end local 8 // com.sun.tools.javac.code.Symbol$MethodSymbol implmeth
        end local 7 // com.sun.tools.javac.code.Symbol$MethodSymbol absmeth
        end local 5 // com.sun.tools.javac.code.Symbol sym
        17: .line 3063
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        18: .line 3083
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Scope
      StackMap stack:
            aload 3 /* undef */
            ifnonnull 22
        19: .line 3084
            aload 0 /* this */
            aload 2 /* c */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* st */
        start local 5 // com.sun.tools.javac.code.Type st
        20: .line 3085
            aload 5 /* st */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 22
        21: .line 3086
            aload 0 /* this */
            aload 1 /* impl */
            aload 5 /* st */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            astore 3 /* undef */
        end local 5 // com.sun.tools.javac.code.Type st
        22: .line 3088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* c */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        start local 5 // com.sun.tools.javac.util.List l
        23: .line 3089
            goto 26
        24: .line 3091
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* impl */
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            invokevirtual com.sun.tools.javac.code.Types.firstUnimplementedAbstractImpl:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            astore 3 /* undef */
        25: .line 3090
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        26: .line 3089
      StackMap locals:
      StackMap stack:
            aload 3 /* undef */
            ifnonnull 27
            aload 5 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 24
        end local 5 // com.sun.tools.javac.util.List l
        end local 4 // com.sun.tools.javac.code.Scope s
        27: .line 3094
      StackMap locals:
      StackMap stack:
            aload 3 /* undef */
            areturn
        end local 3 // com.sun.tools.javac.code.Symbol$MethodSymbol undef
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol impl
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lcom/sun/tools/javac/code/Types;
            0   28     1      impl  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   28     2         c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            1   28     3     undef  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            3   27     4         s  Lcom/sun/tools/javac/code/Scope;
            5   17     5       sym  Lcom/sun/tools/javac/code/Symbol;
            8   17     7   absmeth  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            9   17     8  implmeth  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
           12   14     9      prov  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
           20   22     5        st  Lcom/sun/tools/javac/code/Type;
           23   27     5         l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      impl  
      c     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol> interfaceCandidates(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol$MethodSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type site
        start local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol ms
         0: .line 3138
            new com.sun.tools.javac.code.Types$CandidatesCache$Entry
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* site */
            aload 2 /* ms */
            invokespecial com.sun.tools.javac.code.Types$CandidatesCache$Entry.<init>:(Lcom/sun/tools/javac/code/Types$CandidatesCache;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)V
            astore 3 /* e */
        start local 3 // com.sun.tools.javac.code.Types$CandidatesCache$Entry e
         1: .line 3139
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
            aload 3 /* e */
            invokevirtual com.sun.tools.javac.code.Types$CandidatesCache.get:(Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;)Lcom/sun/tools/javac/util/List;
            astore 4 /* candidates */
        start local 4 // com.sun.tools.javac.util.List candidates
         2: .line 3140
            aload 4 /* candidates */
            ifnonnull 14
         3: .line 3141
            new com.sun.tools.javac.code.Types$MethodFilter
            dup
            aload 0 /* this */
            aload 2 /* ms */
            aload 1 /* site */
            invokespecial com.sun.tools.javac.code.Types$MethodFilter.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;)V
            astore 5 /* filter */
        start local 5 // com.sun.tools.javac.util.Filter filter
         4: .line 3142
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 6 /* candidates2 */
        start local 6 // com.sun.tools.javac.util.List candidates2
         5: .line 3143
            aload 0 /* this */
            aload 1 /* site */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.membersClosure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
            aload 5 /* filter */
            invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getSymbols:(Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 11
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 7 /* s */
        start local 7 // com.sun.tools.javac.code.Symbol s
         7: .line 3144
            aload 1 /* site */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
            ifne 9
            aload 7 /* s */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isInterface:()Z
            ifne 9
         8: .line 3145
            aload 7 /* s */
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         9: .line 3146
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.util.Iterator
      StackMap stack:
            aload 6 /* candidates2 */
            aload 7 /* s */
            invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 3147
            aload 6 /* candidates2 */
            aload 7 /* s */
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 6 /* candidates2 */
        end local 7 // com.sun.tools.javac.code.Symbol s
        11: .line 3143
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List com.sun.tools.javac.util.Filter com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 3150
            aload 0 /* this */
            aload 6 /* candidates2 */
            invokevirtual com.sun.tools.javac.code.Types.prune:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 4 /* candidates */
        13: .line 3151
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.candidatesCache:Lcom/sun/tools/javac/code/Types$CandidatesCache;
            aload 3 /* e */
            aload 4 /* candidates */
            invokevirtual com.sun.tools.javac.code.Types$CandidatesCache.put:(Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;Lcom/sun/tools/javac/util/List;)V
        end local 6 // com.sun.tools.javac.util.List candidates2
        end local 5 // com.sun.tools.javac.util.Filter filter
        14: .line 3153
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.code.Types$CandidatesCache$Entry com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* candidates */
            areturn
        end local 4 // com.sun.tools.javac.util.List candidates
        end local 3 // com.sun.tools.javac.code.Types$CandidatesCache$Entry e
        end local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol ms
        end local 1 // com.sun.tools.javac.code.Type site
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/sun/tools/javac/code/Types;
            0   15     1         site  Lcom/sun/tools/javac/code/Type;
            0   15     2           ms  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            1   15     3            e  Lcom/sun/tools/javac/code/Types$CandidatesCache$Entry;
            2   15     4   candidates  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
            4   14     5       filter  Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
            5   14     6  candidates2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
            7   11     7            s  Lcom/sun/tools/javac/code/Symbol;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
    MethodParameters:
      Name  Flags
      site  
      ms    

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol> prune(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$MethodSymbol>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List methods
         0: .line 3157
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* methodsMin */
        start local 2 // com.sun.tools.javac.util.ListBuffer methodsMin
         1: .line 3158
            aload 1 /* methods */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            astore 3 /* m1 */
        start local 3 // com.sun.tools.javac.code.Symbol$MethodSymbol m1
         3: .line 3159
            iconst_1
            istore 5 /* isMin_m1 */
        start local 5 // boolean isMin_m1
         4: .line 3160
            aload 1 /* methods */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
            astore 6 /* m2 */
        start local 6 // com.sun.tools.javac.code.Symbol$MethodSymbol m2
         6: .line 3161
            aload 3 /* m1 */
            aload 6 /* m2 */
            if_acmpne 7
            goto 11
         7: .line 3162
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator
      StackMap stack:
            aload 6 /* m2 */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            aload 3 /* m1 */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            if_acmpeq 11
         8: .line 3163
            aload 0 /* this */
            aload 6 /* m2 */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 3 /* m1 */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            ifnull 11
         9: .line 3164
            iconst_0
            istore 5 /* isMin_m1 */
        10: .line 3165
            goto 12
        end local 6 // com.sun.tools.javac.code.Symbol$MethodSymbol m2
        11: .line 3160
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 3168
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$MethodSymbol java.util.Iterator int
      StackMap stack:
            iload 5 /* isMin_m1 */
            ifeq 14
        13: .line 3169
            aload 2 /* methodsMin */
            aload 3 /* m1 */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 5 // boolean isMin_m1
        end local 3 // com.sun.tools.javac.code.Symbol$MethodSymbol m1
        14: .line 3158
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        15: .line 3171
            aload 2 /* methodsMin */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer methodsMin
        end local 1 // com.sun.tools.javac.util.List methods
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/sun/tools/javac/code/Types;
            0   16     1     methods  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
            1   16     2  methodsMin  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
            3   14     3          m1  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            4   14     5    isMin_m1  Z
            6   11     6          m2  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;>;
    MethodParameters:
         Name  Flags
      methods  

  public boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 3204
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iconst_1
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // boolean strict
         0: .line 3208
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            iload 3 /* strict */
            ifeq 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.hasSameArgs_strict:Lcom/sun/tools/javac/code/Types$TypeRelation;
            goto 2
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
         1: aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.hasSameArgs_nonstrict:Lcom/sun/tools/javac/code/Types$TypeRelation;
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Types$TypeRelation
         2: invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$TypeRelation;)Z
            ireturn
        end local 3 // boolean strict
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/javac/code/Types;
            0    3     1       t  Lcom/sun/tools/javac/code/Type;
            0    3     2       s  Lcom/sun/tools/javac/code/Type;
            0    3     3  strict  Z
    MethodParameters:
        Name  Flags
      t       
      s       
      strict  

  private boolean hasSameArgs(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types$TypeRelation);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$TypeRelation;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.code.Types$TypeRelation hasSameArgs
         0: .line 3212
            aload 3 /* hasSameArgs */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types$TypeRelation.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 3 // com.sun.tools.javac.code.Types$TypeRelation hasSameArgs
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/code/Types;
            0    1     1            t  Lcom/sun/tools/javac/code/Type;
            0    1     2            s  Lcom/sun/tools/javac/code/Type;
            0    1     3  hasSameArgs  Lcom/sun/tools/javac/code/Types$TypeRelation;
    MethodParameters:
             Name  Flags
      t            
      s            
      hasSameArgs  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> subst(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.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
        start local 2 // com.sun.tools.javac.util.List from
        start local 3 // com.sun.tools.javac.util.List to
         0: .line 3258
            aload 1 /* ts */
            new com.sun.tools.javac.code.Types$Subst
            dup
            aload 0 /* this */
            aload 2 /* from */
            aload 3 /* to */
            invokespecial com.sun.tools.javac.code.Types$Subst.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
            invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // com.sun.tools.javac.util.List to
        end local 2 // com.sun.tools.javac.util.List from
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    1     2  from  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    1     3    to  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      ts    
      from  
      to    

  public com.sun.tools.javac.code.Type subst(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.util.List from
        start local 3 // com.sun.tools.javac.util.List to
         0: .line 3268
            aload 1 /* t */
            new com.sun.tools.javac.code.Types$Subst
            dup
            aload 0 /* this */
            aload 2 /* from */
            aload 3 /* to */
            invokespecial com.sun.tools.javac.code.Types$Subst.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
            invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 3 // com.sun.tools.javac.util.List to
        end local 2 // com.sun.tools.javac.util.List from
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
            0    1     2  from  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    1     3    to  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;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/Type;
    MethodParameters:
      Name  Flags
      t     
      from  
      to    

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> 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.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List tvars
        start local 2 // com.sun.tools.javac.util.List from
        start local 3 // com.sun.tools.javac.util.List to
         0: .line 3359
            aload 1 /* tvars */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3360
            aload 1 /* tvars */
            areturn
         2: .line 3361
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 4 /* newBoundsBuf */
        start local 4 // com.sun.tools.javac.util.ListBuffer newBoundsBuf
         3: .line 3362
            iconst_0
            istore 5 /* changed */
        start local 5 // boolean changed
         4: .line 3364
            aload 1 /* tvars */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 6 /* t */
        start local 6 // com.sun.tools.javac.code.Type t
         6: .line 3365
            aload 6 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 8 /* tv */
        start local 8 // com.sun.tools.javac.code.Type$TypeVar tv
         7: .line 3366
            aload 0 /* this */
            aload 8 /* tv */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 2 /* from */
            aload 3 /* 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;
            astore 9 /* bound */
        start local 9 // com.sun.tools.javac.code.Type bound
         8: .line 3367
            aload 9 /* bound */
            aload 8 /* tv */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            if_acmpeq 10
         9: .line 3368
            iconst_1
            istore 5 /* changed */
        10: .line 3369
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type$TypeVar com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* newBoundsBuf */
            aload 9 /* bound */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 9 // com.sun.tools.javac.code.Type bound
        end local 8 // com.sun.tools.javac.code.Type$TypeVar tv
        end local 6 // com.sun.tools.javac.code.Type t
        11: .line 3364
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 3371
            iload 5 /* changed */
            ifne 14
        13: .line 3372
            aload 1 /* tvars */
            areturn
        14: .line 3373
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int
      StackMap stack:
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 6 /* newTvars */
        start local 6 // com.sun.tools.javac.util.ListBuffer newTvars
        15: .line 3375
            aload 1 /* tvars */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 20
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
        16: 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
        17: .line 3376
            aload 6 /* newTvars */
            new com.sun.tools.javac.code.Type$TypeVar
            dup
            aload 7 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aconst_null
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
        18: .line 3377
            aload 7 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
            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
        19: .line 3376
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 7 // com.sun.tools.javac.code.Type t
        20: .line 3375
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        21: .line 3381
            aload 4 /* newBoundsBuf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
        start local 7 // com.sun.tools.javac.util.List newBounds
        22: .line 3382
            aload 1 /* tvars */
            astore 2 /* from */
        23: .line 3383
            aload 6 /* newTvars */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 3 /* to */
        24: .line 3384
            goto 27
        25: .line 3385
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 7 /* newBounds */
            aload 0 /* this */
            aload 7 /* newBounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* from */
            aload 3 /* 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;
            putfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
        26: .line 3384
            aload 7 /* newBounds */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
      StackMap locals:
      StackMap stack:
        27: aload 7 /* newBounds */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 25
        28: .line 3387
            aload 4 /* newBoundsBuf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
        29: .line 3389
            aload 6 /* newTvars */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 34
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        30: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 8 /* t */
        start local 8 // com.sun.tools.javac.code.Type t
        31: .line 3390
            aload 8 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 10 /* tv */
        start local 10 // com.sun.tools.javac.code.Type$TypeVar tv
        32: .line 3391
            aload 10 /* tv */
            aload 7 /* newBounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
        33: .line 3392
            aload 7 /* newBounds */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
        end local 10 // com.sun.tools.javac.code.Type$TypeVar tv
        end local 8 // com.sun.tools.javac.code.Type t
        34: .line 3389
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        35: .line 3394
            aload 6 /* newTvars */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 7 // com.sun.tools.javac.util.List newBounds
        end local 6 // com.sun.tools.javac.util.ListBuffer newTvars
        end local 5 // boolean changed
        end local 4 // com.sun.tools.javac.util.ListBuffer newBoundsBuf
        end local 3 // com.sun.tools.javac.util.List to
        end local 2 // com.sun.tools.javac.util.List from
        end local 1 // com.sun.tools.javac.util.List tvars
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lcom/sun/tools/javac/code/Types;
            0   36     1         tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   36     2          from  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   36     3            to  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   36     4  newBoundsBuf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            4   36     5       changed  Z
            6   11     6             t  Lcom/sun/tools/javac/code/Type;
            7   11     8            tv  Lcom/sun/tools/javac/code/Type$TypeVar;
            8   11     9         bound  Lcom/sun/tools/javac/code/Type;
           15   36     6      newTvars  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
           17   20     7             t  Lcom/sun/tools/javac/code/Type;
           22   36     7     newBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           31   34     8             t  Lcom/sun/tools/javac/code/Type;
           32   34    10            tv  Lcom/sun/tools/javac/code/Type$TypeVar;
    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/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
       Name  Flags
      tvars  
      from   
      to     

  public com.sun.tools.javac.code.Type$TypeVar substBound(com.sun.tools.javac.code.Type$TypeVar, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$TypeVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar t
        start local 2 // com.sun.tools.javac.util.List from
        start local 3 // com.sun.tools.javac.util.List to
         0: .line 3398
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 2 /* from */
            aload 3 /* 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;
            astore 4 /* bound1 */
        start local 4 // com.sun.tools.javac.code.Type bound1
         1: .line 3399
            aload 4 /* bound1 */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            if_acmpne 3
         2: .line 3400
            aload 1 /* t */
            areturn
         3: .line 3403
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            new com.sun.tools.javac.code.Type$TypeVar
            dup
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$TypeVar.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aconst_null
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
         4: .line 3404
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
         5: .line 3403
            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
            astore 5 /* tv */
        start local 5 // com.sun.tools.javac.code.Type$TypeVar tv
         6: .line 3407
            aload 5 /* tv */
            aload 0 /* this */
            aload 4 /* bound1 */
            aload 1 /* t */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            aload 5 /* tv */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            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;
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
         7: .line 3408
            aload 5 /* tv */
            areturn
        end local 5 // com.sun.tools.javac.code.Type$TypeVar tv
        end local 4 // com.sun.tools.javac.code.Type bound1
        end local 3 // com.sun.tools.javac.util.List to
        end local 2 // com.sun.tools.javac.util.List from
        end local 1 // com.sun.tools.javac.code.Type$TypeVar t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/tools/javac/code/Types;
            0    8     1       t  Lcom/sun/tools/javac/code/Type$TypeVar;
            0    8     2    from  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    8     3      to  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1    8     4  bound1  Lcom/sun/tools/javac/code/Type;
            6    8     5      tv  Lcom/sun/tools/javac/code/Type$TypeVar;
    Signature: (Lcom/sun/tools/javac/code/Type$TypeVar;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/Type$TypeVar;
    MethodParameters:
      Name  Flags
      t     
      from  
      to    

  public boolean hasSameBounds(com.sun.tools.javac.code.Type$ForAll, com.sun.tools.javac.code.Type$ForAll);
    descriptor: (Lcom/sun/tools/javac/code/Type$ForAll;Lcom/sun/tools/javac/code/Type$ForAll;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$ForAll t
        start local 2 // com.sun.tools.javac.code.Type$ForAll s
         0: .line 3418
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
            astore 3 /* l1 */
        start local 3 // com.sun.tools.javac.util.List l1
         1: .line 3419
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
            astore 4 /* l2 */
        start local 4 // com.sun.tools.javac.util.List l2
         2: .line 3420
            goto 5
         3: .line 3425
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* l1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l1 */
         4: .line 3426
            aload 4 /* l2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l2 */
         5: .line 3420
      StackMap locals:
      StackMap stack:
            aload 3 /* l1 */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 13
            aload 4 /* l2 */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 13
         6: .line 3421
            aload 0 /* this */
            aload 3 /* l1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
         7: .line 3422
            aload 0 /* this */
            aload 4 /* l2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
         8: .line 3423
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
         9: .line 3424
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
        10: .line 3422
            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;
        11: .line 3421
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
        12: .line 3424
            ifne 3
        13: .line 3428
      StackMap locals:
      StackMap stack:
            aload 3 /* l1 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 14
            aload 4 /* l2 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        end local 4 // com.sun.tools.javac.util.List l2
        end local 3 // com.sun.tools.javac.util.List l1
        end local 2 // com.sun.tools.javac.code.Type$ForAll s
        end local 1 // com.sun.tools.javac.code.Type$ForAll t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/tools/javac/code/Types;
            0   15     1     t  Lcom/sun/tools/javac/code/Type$ForAll;
            0   15     2     s  Lcom/sun/tools/javac/code/Type$ForAll;
            1   15     3    l1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2   15     4    l2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     
      s     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> newInstances(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List tvars
         0: .line 3437
            aload 1 /* tvars */
            getstatic com.sun.tools.javac.code.Types.newInstanceFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
            invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
            astore 2 /* tvars1 */
        start local 2 // com.sun.tools.javac.util.List tvars1
         1: .line 3438
            aload 2 /* tvars1 */
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
         2: goto 6
         3: .line 3439
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 4 /* tv */
        start local 4 // com.sun.tools.javac.code.Type$TypeVar tv
         4: .line 3440
            aload 4 /* tv */
            aload 0 /* this */
            aload 4 /* tv */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* tvars */
            aload 2 /* tvars1 */
            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;
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
        end local 4 // com.sun.tools.javac.code.Type$TypeVar tv
         5: .line 3438
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 3
        end local 3 // com.sun.tools.javac.util.List l
         7: .line 3442
            aload 2 /* tvars1 */
            areturn
        end local 2 // com.sun.tools.javac.util.List tvars1
        end local 1 // com.sun.tools.javac.util.List tvars
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/tools/javac/code/Types;
            0    8     1   tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1    8     2  tvars1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2    7     3       l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4    5     4      tv  Lcom/sun/tools/javac/code/Type$TypeVar;
    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;>;
    MethodParameters:
       Name  Flags
      tvars  

  public com.sun.tools.javac.code.Type createMethodTypeWithParameters(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type original
        start local 2 // com.sun.tools.javac.util.List newParams
         0: .line 3453
            aload 1 /* original */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.methodWithParameters:Lcom/sun/tools/javac/code/Types$MapVisitor;
            aload 2 /* newParams */
            invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.util.List newParams
        end local 1 // com.sun.tools.javac.code.Type original
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/tools/javac/code/Types;
            0    1     1   original  Lcom/sun/tools/javac/code/Type;
            0    1     2  newParams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
           Name  Flags
      original   
      newParams  

  public com.sun.tools.javac.code.Type createMethodTypeWithThrown(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type original
        start local 2 // com.sun.tools.javac.util.List newThrown
         0: .line 3469
            aload 1 /* original */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.methodWithThrown:Lcom/sun/tools/javac/code/Types$MapVisitor;
            aload 2 /* newThrown */
            invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.util.List newThrown
        end local 1 // com.sun.tools.javac.code.Type original
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/tools/javac/code/Types;
            0    1     1   original  Lcom/sun/tools/javac/code/Type;
            0    1     2  newThrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
           Name  Flags
      original   
      newThrown  

  public com.sun.tools.javac.code.Type createMethodTypeWithReturn(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type original
        start local 2 // com.sun.tools.javac.code.Type newReturn
         0: .line 3485
            aload 1 /* original */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.methodWithReturn:Lcom/sun/tools/javac/code/Types$MapVisitor;
            aload 2 /* newReturn */
            invokevirtual com.sun.tools.javac.code.Type.accept:(Lcom/sun/tools/javac/code/Type$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Type newReturn
        end local 1 // com.sun.tools.javac.code.Type original
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/tools/javac/code/Types;
            0    1     1   original  Lcom/sun/tools/javac/code/Type;
            0    1     2  newReturn  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
           Name  Flags
      original   
      newReturn  

  public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type originalType
         0: .line 3512
            new com.sun.tools.javac.code.Type$ErrorType
            dup
            aload 1 /* originalType */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errSymbol:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            areturn
        end local 1 // com.sun.tools.javac.code.Type originalType
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/javac/code/Types;
            0    1     1  originalType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
              Name  Flags
      originalType  

  public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        start local 2 // com.sun.tools.javac.code.Type originalType
         0: .line 3516
            new com.sun.tools.javac.code.Type$ErrorType
            dup
            aload 1 /* c */
            aload 2 /* originalType */
            invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Type;)V
            areturn
        end local 2 // com.sun.tools.javac.code.Type originalType
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/javac/code/Types;
            0    1     1             c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    1     2  originalType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
              Name  Flags
      c             
      originalType  

  public com.sun.tools.javac.code.Type createErrorType(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.Name name
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol container
        start local 3 // com.sun.tools.javac.code.Type originalType
         0: .line 3520
            new com.sun.tools.javac.code.Type$ErrorType
            dup
            aload 1 /* name */
            aload 2 /* container */
            aload 3 /* originalType */
            invokespecial com.sun.tools.javac.code.Type$ErrorType.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type;)V
            areturn
        end local 3 // com.sun.tools.javac.code.Type originalType
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol container
        end local 1 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/javac/code/Types;
            0    1     1          name  Lcom/sun/tools/javac/util/Name;
            0    1     2     container  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    1     3  originalType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
              Name  Flags
      name          
      container     
      originalType  

  public int rank(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 3531
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            lookupswitch { // 4
                   10: 1
                   15: 15
                   20: 25
                   21: 25
              default: 26
          }
         1: .line 3533
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 2 /* cls */
        start local 2 // com.sun.tools.javac.code.Type$ClassType cls
         2: .line 3534
            aload 2 /* cls */
            getfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
            ifge 14
         3: .line 3535
            aload 2 /* cls */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            astore 3 /* fullname */
        start local 3 // com.sun.tools.javac.util.Name fullname
         4: .line 3536
            aload 3 /* fullname */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.java_lang_Object:Lcom/sun/tools/javac/util/Name;
            if_acmpne 6
         5: .line 3537
            aload 2 /* cls */
            iconst_0
            putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
            goto 14
         6: .line 3539
      StackMap locals: com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.Name
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            istore 4 /* r */
        start local 4 // int r
         7: .line 3540
            aload 0 /* this */
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        start local 5 // com.sun.tools.javac.util.List l
         8: .line 3541
            goto 12
         9: .line 3543
      StackMap locals: int com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            iload 4 /* r */
            if_icmple 11
        10: .line 3544
            aload 0 /* this */
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            istore 4 /* r */
        11: .line 3542
      StackMap locals:
      StackMap stack:
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        12: .line 3541
      StackMap locals:
      StackMap stack:
            aload 5 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 9
        end local 5 // com.sun.tools.javac.util.List l
        13: .line 3546
            aload 2 /* cls */
            iload 4 /* r */
            iconst_1
            iadd
            putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
        end local 4 // int r
        end local 3 // com.sun.tools.javac.util.Name fullname
        14: .line 3549
      StackMap locals:
      StackMap stack:
            aload 2 /* cls */
            getfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
            ireturn
        end local 2 // com.sun.tools.javac.code.Type$ClassType cls
        15: .line 3552
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 2 /* tvar */
        start local 2 // com.sun.tools.javac.code.Type$TypeVar tvar
        16: .line 3553
            aload 2 /* tvar */
            getfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
            ifge 24
        17: .line 3554
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* tvar */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            istore 3 /* r */
        start local 3 // int r
        18: .line 3555
            aload 0 /* this */
            aload 2 /* tvar */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
        19: .line 3556
            goto 22
        20: .line 3558
      StackMap locals: com.sun.tools.javac.code.Type$TypeVar int com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            iload 3 /* r */
            if_icmple 21
            aload 0 /* this */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.rank:(Lcom/sun/tools/javac/code/Type;)I
            istore 3 /* r */
        21: .line 3557
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        22: .line 3556
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 20
        end local 4 // com.sun.tools.javac.util.List l
        23: .line 3560
            aload 2 /* tvar */
            iload 3 /* r */
            iconst_1
            iadd
            putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
        end local 3 // int r
        24: .line 3562
      StackMap locals:
      StackMap stack:
            aload 2 /* tvar */
            getfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
            ireturn
        end local 2 // com.sun.tools.javac.code.Type$TypeVar tvar
        25: .line 3566
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        26: .line 3568
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/tools/javac/code/Types;
            0   27     1         t  Lcom/sun/tools/javac/code/Type;
            2   15     2       cls  Lcom/sun/tools/javac/code/Type$ClassType;
            4   14     3  fullname  Lcom/sun/tools/javac/util/Name;
            7   14     4         r  I
            8   13     5         l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           16   25     2      tvar  Lcom/sun/tools/javac/code/Type$TypeVar;
           18   24     3         r  I
           19   23     4         l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public java.lang.String toString(com.sun.tools.javac.code.Type, java.util.Locale);
    descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // java.util.Locale locale
         0: .line 3578
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
            invokestatic com.sun.tools.javac.code.Printer.createStandardPrinter:(Lcom/sun/tools/javac/api/Messages;)Lcom/sun/tools/javac/code/Printer;
            aload 1 /* t */
            aload 2 /* locale */
            invokevirtual com.sun.tools.javac.code.Printer.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/code/Types;
            0    1     1       t  Lcom/sun/tools/javac/code/Type;
            0    1     2  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      t       
      locale  

  public java.lang.String toString(com.sun.tools.javac.code.Symbol, java.util.Locale);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol t
        start local 2 // java.util.Locale locale
         0: .line 3586
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.messages:Lcom/sun/tools/javac/util/JavacMessages;
            invokestatic com.sun.tools.javac.code.Printer.createStandardPrinter:(Lcom/sun/tools/javac/api/Messages;)Lcom/sun/tools/javac/code/Printer;
            aload 1 /* t */
            aload 2 /* locale */
            invokevirtual com.sun.tools.javac.code.Printer.visit:(Lcom/sun/tools/javac/code/Symbol;Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // com.sun.tools.javac.code.Symbol t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/tools/javac/code/Types;
            0    1     1       t  Lcom/sun/tools/javac/code/Symbol;
            0    1     2  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      t       
      locale  

  public java.lang.String toString(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 3598
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 3
         1: .line 3599
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ForAll
            astore 2 /* forAll */
        start local 2 // com.sun.tools.javac.code.Type$ForAll forAll
         2: .line 3600
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 2 /* forAll */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.typaramsString:(Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* forAll */
            getfield com.sun.tools.javac.code.Type$ForAll.qtype:Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // com.sun.tools.javac.code.Type$ForAll forAll
         3: .line 3602
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/javac/code/Types;
            0    4     1       t  Lcom/sun/tools/javac/code/Type;
            2    3     2  forAll  Lcom/sun/tools/javac/code/Type$ForAll;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      t     

  private java.lang.String typaramsString(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List tvars
         0: .line 3606
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* s */
        start local 2 // java.lang.StringBuilder s
         1: .line 3607
            aload 2 /* s */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 3608
            iconst_1
            istore 3 /* first */
        start local 3 // boolean first
         3: .line 3609
            aload 1 /* tvars */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 4 /* t */
        start local 4 // com.sun.tools.javac.code.Type t
         5: .line 3610
            iload 3 /* first */
            ifne 6
            aload 2 /* s */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 3611
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            iconst_0
            istore 3 /* first */
         7: .line 3612
            aload 0 /* this */
            aload 4 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.appendTyparamString:(Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/StringBuilder;)V
        end local 4 // com.sun.tools.javac.code.Type t
         8: .line 3609
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 3614
            aload 2 /* s */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 3615
            aload 2 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean first
        end local 2 // java.lang.StringBuilder s
        end local 1 // com.sun.tools.javac.util.List tvars
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/tools/javac/code/Types;
            0   11     1  tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1   11     2      s  Ljava/lang/StringBuilder;
            3   11     3  first  Z
            5    8     4      t  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      tvars  

  private void appendTyparamString(com.sun.tools.javac.code.Type$TypeVar, java.lang.StringBuilder);
    descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type$TypeVar t
        start local 2 // java.lang.StringBuilder buf
         0: .line 3618
            aload 2 /* buf */
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         1: .line 3619
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            ifnull 3
         2: .line 3620
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.java_lang_Object:Lcom/sun/tools/javac/util/Name;
            if_acmpne 4
         3: .line 3621
      StackMap locals:
      StackMap stack:
            return
         4: .line 3622
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc " extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 3623
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            astore 3 /* bound */
        start local 3 // com.sun.tools.javac.code.Type bound
         6: .line 3624
            aload 3 /* bound */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 9
         7: .line 3625
            aload 2 /* buf */
            aload 3 /* bound */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         8: .line 3626
            goto 24
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
         9: aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifne 17
        10: .line 3627
            aload 2 /* buf */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        11: .line 3628
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 4 /* intf */
        start local 4 // com.sun.tools.javac.code.Type intf
        13: .line 3629
            aload 2 /* buf */
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 3630
            aload 2 /* buf */
            aload 4 /* intf */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 4 // com.sun.tools.javac.code.Type intf
        15: .line 3628
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 3632
            goto 24
        17: .line 3635
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type
      StackMap stack:
            iconst_1
            istore 4 /* first */
        start local 4 // boolean first
        18: .line 3636
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int top java.util.Iterator
      StackMap stack:
        19: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* intf */
        start local 5 // com.sun.tools.javac.code.Type intf
        20: .line 3637
            iload 4 /* first */
            ifne 21
            aload 2 /* buf */
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 3638
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            iconst_0
            istore 4 /* first */
        22: .line 3639
            aload 2 /* buf */
            aload 5 /* intf */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 5 // com.sun.tools.javac.code.Type intf
        23: .line 3636
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 4 // boolean first
        24: .line 3642
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type$TypeVar java.lang.StringBuilder com.sun.tools.javac.code.Type
      StackMap stack:
            return
        end local 3 // com.sun.tools.javac.code.Type bound
        end local 2 // java.lang.StringBuilder buf
        end local 1 // com.sun.tools.javac.code.Type$TypeVar t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0   this  Lcom/sun/tools/javac/code/Types;
            0   25     1      t  Lcom/sun/tools/javac/code/Type$TypeVar;
            0   25     2    buf  Ljava/lang/StringBuilder;
            6   25     3  bound  Lcom/sun/tools/javac/code/Type;
           13   15     4   intf  Lcom/sun/tools/javac/code/Type;
           18   24     4  first  Z
           20   23     5   intf  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      buf   

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> closure(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 3660
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
            aload 1 /* t */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            astore 2 /* cl */
        start local 2 // com.sun.tools.javac.util.List cl
         1: .line 3661
            aload 2 /* cl */
            ifnonnull 19
         2: .line 3662
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* st */
        start local 3 // com.sun.tools.javac.code.Type st
         3: .line 3663
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 12
         4: .line 3664
            aload 3 /* st */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 7
         5: .line 3665
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* st */
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 2 /* cl */
         6: .line 3666
            goto 13
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
      StackMap stack:
         7: aload 3 /* st */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 10
         8: .line 3667
            aload 0 /* this */
            aload 3 /* st */
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* cl */
         9: .line 3668
            goto 13
        10: .line 3669
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* cl */
        11: .line 3671
            goto 13
        12: .line 3672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 2 /* cl */
        13: .line 3674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
        14: goto 17
        15: .line 3675
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cl */
            aload 0 /* this */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 2 /* cl */
        16: .line 3674
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
      StackMap locals:
      StackMap stack:
        17: aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 15
        end local 4 // com.sun.tools.javac.util.List l
        18: .line 3676
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
            aload 1 /* t */
            aload 2 /* cl */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // com.sun.tools.javac.code.Type st
        19: .line 3678
      StackMap locals:
      StackMap stack:
            aload 2 /* cl */
            areturn
        end local 2 // com.sun.tools.javac.util.List cl
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/tools/javac/code/Types;
            0   20     1     t  Lcom/sun/tools/javac/code/Type;
            1   20     2    cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   19     3    st  Lcom/sun/tools/javac/code/Type;
           14   18     4     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  public java.util.stream.Collector<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types$ClosureHolder, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> closureCollector(boolean, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
    descriptor: (ZLjava/util/function/BiPredicate;)Ljava/util/stream/Collector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // boolean minClosure
        start local 2 // java.util.function.BiPredicate shouldSkip
         0: .line 3685
            aload 0 /* this */
            iload 1 /* minClosure */
            aload 2 /* shouldSkip */
            invokedynamic get(Lcom/sun/tools/javac/code/Types;ZLjava/util/function/BiPredicate;)Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  com/sun/tools/javac/code/Types.lambda$3(ZLjava/util/function/BiPredicate;)Lcom/sun/tools/javac/code/Types$ClosureHolder; (7)
                  ()Lcom/sun/tools/javac/code/Types$ClosureHolder;
         1: .line 3686
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/sun/tools/javac/code/Types$ClosureHolder.add(Lcom/sun/tools/javac/code/Type;)V (5)
                  (Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/code/Type;)V
         2: .line 3687
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/javac/code/Types$ClosureHolder.merge(Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/code/Types$ClosureHolder; (5)
                  (Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/code/Types$ClosureHolder;
         3: .line 3688
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/javac/code/Types$ClosureHolder.closure()Lcom/sun/tools/javac/util/List; (5)
                  (Lcom/sun/tools/javac/code/Types$ClosureHolder;)Lcom/sun/tools/javac/util/List;
            iconst_0
            anewarray java.util.stream.Collector$Characteristics
         4: .line 3685
            invokestatic java.util.stream.Collector.of:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
            areturn
        end local 2 // java.util.function.BiPredicate shouldSkip
        end local 1 // boolean minClosure
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/tools/javac/code/Types;
            0    5     1  minClosure  Z
            0    5     2  shouldSkip  Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
    Signature: (ZLjava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Ljava/util/stream/Collector<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types$ClosureHolder;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;
    MethodParameters:
            Name  Flags
      minClosure  
      shouldSkip  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> insert(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl
        start local 2 // com.sun.tools.javac.code.Type t
        start local 3 // java.util.function.BiPredicate shouldSkip
         0: .line 3722
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3723
            aload 1 /* cl */
            aload 2 /* t */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         2: .line 3724
      StackMap locals:
      StackMap stack:
            aload 3 /* shouldSkip */
            aload 2 /* t */
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokeinterface java.util.function.BiPredicate.test:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 4
         3: .line 3725
            aload 1 /* cl */
            areturn
         4: .line 3726
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
            ifeq 6
         5: .line 3727
            aload 1 /* cl */
            aload 2 /* t */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         6: .line 3730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* t */
            aload 3 /* shouldSkip */
            invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // java.util.function.BiPredicate shouldSkip
        end local 2 // com.sun.tools.javac.code.Type t
        end local 1 // com.sun.tools.javac.util.List cl
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/tools/javac/code/Types;
            0    7     1          cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    7     2           t  Lcom/sun/tools/javac/code/Type;
            0    7     3  shouldSkip  Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
            Name  Flags
      cl          
      t           
      shouldSkip  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> insert(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl
        start local 2 // com.sun.tools.javac.code.Type t
         0: .line 3735
            aload 0 /* this */
            aload 1 /* cl */
            aload 2 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
            invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.code.Type t
        end local 1 // com.sun.tools.javac.util.List cl
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    1     2     t  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      cl    
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> union(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, java.util.function.BiPredicate<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl1
        start local 2 // com.sun.tools.javac.util.List cl2
        start local 3 // java.util.function.BiPredicate shouldSkip
         0: .line 3742
            aload 1 /* cl1 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3743
            aload 2 /* cl2 */
            areturn
         2: .line 3744
      StackMap locals:
      StackMap stack:
            aload 2 /* cl2 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 3745
            aload 1 /* cl1 */
            areturn
         4: .line 3746
      StackMap locals:
      StackMap stack:
            aload 3 /* shouldSkip */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokeinterface java.util.function.BiPredicate.test:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 6
         5: .line 3747
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 3 /* shouldSkip */
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         6: .line 3748
      StackMap locals:
      StackMap stack:
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
            ifeq 8
         7: .line 3749
            aload 0 /* this */
            aload 1 /* cl1 */
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 3 /* shouldSkip */
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
         8: .line 3751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            aload 3 /* shouldSkip */
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // java.util.function.BiPredicate shouldSkip
        end local 2 // com.sun.tools.javac.util.List cl2
        end local 1 // com.sun.tools.javac.util.List cl1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/tools/javac/code/Types;
            0    9     1         cl1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    9     2         cl2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    9     3  shouldSkip  Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
    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;>;Ljava/util/function/BiPredicate<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
            Name  Flags
      cl1         
      cl2         
      shouldSkip  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> union(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl1
        start local 2 // com.sun.tools.javac.util.List cl2
         0: .line 3756
            aload 0 /* this */
            aload 1 /* cl1 */
            aload 2 /* cl2 */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.basicClosureSkip:Ljava/util/function/BiPredicate;
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Ljava/util/function/BiPredicate;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.List cl2
        end local 1 // com.sun.tools.javac.util.List cl1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1   cl1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0    1     2   cl2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    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/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      cl1   
      cl2   

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> intersect(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl1
        start local 2 // com.sun.tools.javac.util.List cl2
         0: .line 3763
            aload 1 /* cl1 */
            aload 2 /* cl2 */
            if_acmpne 2
         1: .line 3764
            aload 1 /* cl1 */
            areturn
         2: .line 3765
      StackMap locals:
      StackMap stack:
            aload 1 /* cl1 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 3
            aload 2 /* cl2 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 3766
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         4: .line 3767
      StackMap locals:
      StackMap stack:
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
            ifeq 6
         5: .line 3768
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            areturn
         6: .line 3769
      StackMap locals:
      StackMap stack:
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.precedes:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types;)Z
            ifeq 8
         7: .line 3770
            aload 0 /* this */
            aload 1 /* cl1 */
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            areturn
         8: .line 3771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 10
         9: .line 3772
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        10: .line 3773
      StackMap locals:
      StackMap stack:
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 17
        11: .line 3774
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 17
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 17
        12: .line 3775
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 15
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 15
        13: .line 3776
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.merge:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* merge */
        start local 3 // com.sun.tools.javac.code.Type merge
        14: .line 3777
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            aload 3 /* merge */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // com.sun.tools.javac.code.Type merge
        15: .line 3779
      StackMap locals:
      StackMap stack:
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifne 16
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifeq 17
        16: .line 3780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        17: .line 3782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            aload 2 /* cl2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.List cl2
        end local 1 // com.sun.tools.javac.util.List cl1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lcom/sun/tools/javac/code/Types;
            0   18     1    cl1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   18     2    cl2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           14   15     3  merge  Lcom/sun/tools/javac/code/Type;
    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/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      cl1   
      cl2   

  private com.sun.tools.javac.code.Type merge(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type c1
        start local 2 // com.sun.tools.javac.code.Type c2
         0: .line 3808
            aload 1 /* c1 */
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 3 /* class1 */
        start local 3 // com.sun.tools.javac.code.Type$ClassType class1
         1: .line 3809
            aload 3 /* class1 */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 4 /* act1 */
        start local 4 // com.sun.tools.javac.util.List act1
         2: .line 3810
            aload 2 /* c2 */
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 5 /* class2 */
        start local 5 // com.sun.tools.javac.code.Type$ClassType class2
         3: .line 3811
            aload 5 /* class2 */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 6 /* act2 */
        start local 6 // com.sun.tools.javac.util.List act2
         4: .line 3812
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 7 /* merged */
        start local 7 // com.sun.tools.javac.util.ListBuffer merged
         5: .line 3813
            aload 3 /* class1 */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 8 /* typarams */
        start local 8 // com.sun.tools.javac.util.List typarams
         6: .line 3815
            goto 31
         7: .line 3816
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* act1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 10
         8: .line 3817
            aload 7 /* merged */
            aload 4 /* act1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         9: .line 3818
            goto 28
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 4 /* act1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 13
        11: .line 3819
            aload 7 /* merged */
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        12: .line 3820
            goto 28
        13: .line 3821
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Types$TypePair
            dup
            aload 0 /* this */
            aload 1 /* c1 */
            aload 2 /* c2 */
            invokespecial com.sun.tools.javac.code.Types$TypePair.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
            astore 9 /* pair */
        start local 9 // com.sun.tools.javac.code.Types$TypePair pair
        14: .line 3823
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
            aload 9 /* pair */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 23
        15: .line 3824
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 0 /* this */
            iconst_2
            anewarray com.sun.tools.javac.code.Type
            dup
            iconst_0
            aload 0 /* this */
            aload 4 /* act1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aastore
            dup
            iconst_1
        16: .line 3825
            aload 0 /* this */
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.wildUpperBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aastore
        17: .line 3824
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
        18: .line 3826
            getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
        19: .line 3827
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
        20: .line 3824
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 10 /* m */
        start local 10 // com.sun.tools.javac.code.Type m
        21: .line 3828
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.mergeCache:Ljava/util/Set;
            aload 9 /* pair */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        22: .line 3829
            goto 27
        end local 10 // com.sun.tools.javac.code.Type m
        23: .line 3830
      StackMap locals: com.sun.tools.javac.code.Types$TypePair
      StackMap stack:
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
        24: .line 3831
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
        25: .line 3832
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
        26: .line 3830
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 10 /* m */
        start local 10 // com.sun.tools.javac.code.Type m
        27: .line 3834
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 7 /* merged */
            aload 10 /* m */
            aload 8 /* typarams */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.withTypeVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 10 // com.sun.tools.javac.code.Type m
        end local 9 // com.sun.tools.javac.code.Types$TypePair pair
        28: .line 3836
      StackMap locals:
      StackMap stack:
            aload 4 /* act1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* act1 */
        29: .line 3837
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* act2 */
        30: .line 3838
            aload 8 /* typarams */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* typarams */
        31: .line 3815
      StackMap locals:
      StackMap stack:
            aload 4 /* act1 */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 32
            aload 6 /* act2 */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 32
            aload 8 /* typarams */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 7
        32: .line 3840
      StackMap locals:
      StackMap stack:
            aload 4 /* act1 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 33
            aload 6 /* act2 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 33
            aload 8 /* typarams */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        35: .line 3843
            new com.sun.tools.javac.code.Type$ClassType
            dup
            aload 3 /* class1 */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            aload 7 /* merged */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
        36: .line 3844
            aload 3 /* class1 */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
        37: .line 3843
            invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            areturn
        end local 8 // com.sun.tools.javac.util.List typarams
        end local 7 // com.sun.tools.javac.util.ListBuffer merged
        end local 6 // com.sun.tools.javac.util.List act2
        end local 5 // com.sun.tools.javac.code.Type$ClassType class2
        end local 4 // com.sun.tools.javac.util.List act1
        end local 3 // com.sun.tools.javac.code.Type$ClassType class1
        end local 2 // com.sun.tools.javac.code.Type c2
        end local 1 // com.sun.tools.javac.code.Type c1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   38     0      this  Lcom/sun/tools/javac/code/Types;
            0   38     1        c1  Lcom/sun/tools/javac/code/Type;
            0   38     2        c2  Lcom/sun/tools/javac/code/Type;
            1   38     3    class1  Lcom/sun/tools/javac/code/Type$ClassType;
            2   38     4      act1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   38     5    class2  Lcom/sun/tools/javac/code/Type$ClassType;
            4   38     6      act2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            5   38     7    merged  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            6   38     8  typarams  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           14   28     9      pair  Lcom/sun/tools/javac/code/Types$TypePair;
           21   23    10         m  Lcom/sun/tools/javac/code/Type;
           27   28    10         m  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      c1    
      c2    

  private com.sun.tools.javac.code.Type compoundMin(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl
         0: .line 3852
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            areturn
         1: .line 3853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 2 /* compound */
        start local 2 // com.sun.tools.javac.util.List compound
         2: .line 3854
            aload 2 /* compound */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 3855
            aconst_null
            areturn
         4: .line 3856
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 2 /* compound */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 6
         5: .line 3857
            aload 2 /* compound */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
         6: .line 3859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* compound */
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
            areturn
        end local 2 // com.sun.tools.javac.util.List compound
        end local 1 // com.sun.tools.javac.util.List cl
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/tools/javac/code/Types;
            0    7     1        cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2    7     2  compound  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      cl    

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> closureMin(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List cl
         0: .line 3867
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* classes */
        start local 2 // com.sun.tools.javac.util.ListBuffer classes
         1: .line 3868
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* interfaces */
        start local 3 // com.sun.tools.javac.util.ListBuffer interfaces
         2: .line 3869
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* toSkip */
        start local 4 // java.util.Set toSkip
         3: .line 3870
            goto 25
         4: .line 3871
      StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set
      StackMap stack:
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* current */
        start local 5 // com.sun.tools.javac.code.Type current
         5: .line 3872
            aload 4 /* toSkip */
            aload 5 /* current */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* keep */
        start local 6 // boolean keep
         8: .line 3873
            iload 6 /* keep */
            ifeq 15
            aload 5 /* current */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 15
         9: .line 3875
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 14
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int top java.util.Iterator
      StackMap stack:
        10: 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
        11: .line 3876
            aload 0 /* this */
            aload 7 /* t */
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 14
        12: .line 3877
            iconst_0
            istore 6 /* keep */
        13: .line 3878
            goto 15
        end local 7 // com.sun.tools.javac.code.Type t
        14: .line 3875
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 3882
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int
      StackMap stack:
            iload 6 /* keep */
            ifeq 24
        16: .line 3883
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
            ifeq 18
        17: .line 3884
            aload 3 /* interfaces */
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
            goto 19
        18: .line 3886
      StackMap locals:
      StackMap stack:
            aload 2 /* classes */
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        19: .line 3887
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 23
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int top java.util.Iterator
      StackMap stack:
        20: 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
        21: .line 3889
            aload 0 /* this */
            aload 5 /* current */
            aload 7 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 23
        22: .line 3890
            aload 4 /* toSkip */
            aload 7 /* t */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // com.sun.tools.javac.code.Type t
        23: .line 3887
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        24: .line 3893
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Type int
      StackMap stack:
            aload 1 /* cl */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 1 /* cl */
        end local 6 // boolean keep
        end local 5 // com.sun.tools.javac.code.Type current
        25: .line 3870
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
        26: .line 3895
            aload 2 /* classes */
            aload 3 /* interfaces */
            invokevirtual com.sun.tools.javac.util.ListBuffer.appendList:(Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 4 // java.util.Set toSkip
        end local 3 // com.sun.tools.javac.util.ListBuffer interfaces
        end local 2 // com.sun.tools.javac.util.ListBuffer classes
        end local 1 // com.sun.tools.javac.util.List cl
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lcom/sun/tools/javac/code/Types;
            0   27     1          cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1   27     2     classes  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            2   27     3  interfaces  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3   27     4      toSkip  Ljava/util/Set<Lcom/sun/tools/javac/code/Type;>;
            5   25     5     current  Lcom/sun/tools/javac/code/Type;
            8   25     6        keep  Z
           11   14     7           t  Lcom/sun/tools/javac/code/Type;
           21   23     7           t  Lcom/sun/tools/javac/code/Type;
    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;>;
    MethodParameters:
      Name  Flags
      cl    

  public com.sun.tools.javac.code.Type lub(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 3903
            aload 0 /* this */
            aload 1 /* ts */
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            anewarray com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type[]
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      ts    

  public com.sun.tools.javac.code.Type lub(com.sun.tools.javac.code.Type[]);
    descriptor: ([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type[] ts
         0: .line 3915
            aload 1 /* ts */
            arraylength
            newarray 10
            astore 2 /* kinds */
        start local 2 // int[] kinds
         1: .line 3917
            iconst_0
            istore 3 /* boundkind */
        start local 3 // int boundkind
         2: .line 3918
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 21
         4: .line 3919
      StackMap locals: int[] int int
      StackMap stack:
            aload 1 /* ts */
            iload 4 /* i */
            aaload
            astore 5 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
         5: .line 3920
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
            aload 5 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iaload
            tableswitch { // 10 - 15
                   10: 6
                   11: 8
                   12: 17
                   13: 17
                   14: 17
                   15: 10
              default: 17
          }
         6: .line 3922
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_2
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
         7: .line 3923
            goto 20
         8: .line 3925
      StackMap locals:
      StackMap stack:
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_1
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
         9: .line 3926
            goto 20
        10: .line 3929
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            astore 5 /* t */
        11: .line 3930
            aload 5 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 10
        12: .line 3931
            aload 5 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 15
        13: .line 3932
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_1
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
        14: .line 3933
            goto 20
        15: .line 3934
      StackMap locals:
      StackMap stack:
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_2
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
        16: .line 3936
            goto 20
        17: .line 3938
      StackMap locals:
      StackMap stack:
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_0
            iastore
        18: .line 3939
            aload 5 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 20
        19: .line 3940
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 5 // com.sun.tools.javac.code.Type t
        20: .line 3918
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 4
        end local 4 // int i
        22: .line 3943
            iload 3 /* boundkind */
            tableswitch { // 0 - 2
                    0: 23
                    1: 24
                    2: 40
              default: 76
          }
        23: .line 3945
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            areturn
        24: .line 3949
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            arraylength
            anewarray com.sun.tools.javac.code.Type
            astore 4 /* elements */
        start local 4 // com.sun.tools.javac.code.Type[] elements
        25: .line 3950
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        26: goto 38
        27: .line 3951
      StackMap locals: com.sun.tools.javac.code.Type[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.elemTypeFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
            aload 1 /* ts */
            iload 5 /* i */
            aaload
            invokevirtual com.sun.tools.javac.code.Types$TypeMapping.apply:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            dup_x2
            aastore
            astore 6 /* elem */
        start local 6 // com.sun.tools.javac.code.Type elem
        28: .line 3952
            aload 6 /* elem */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 37
        29: .line 3956
            aload 1 /* ts */
            iconst_0
            aaload
            astore 7 /* first */
        start local 7 // com.sun.tools.javac.code.Type first
        30: .line 3957
            iconst_1
            istore 8 /* j */
        start local 8 // int j
        31: goto 35
        32: .line 3958
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* first */
            aload 1 /* ts */
            iload 8 /* j */
            aaload
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 34
        33: .line 3960
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Types.arraySuperType:()Lcom/sun/tools/javac/code/Type;
            areturn
        34: .line 3957
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* j */
            aload 1 /* ts */
            arraylength
            if_icmplt 32
        end local 8 // int j
        36: .line 3965
            aload 7 /* first */
            areturn
        end local 7 // com.sun.tools.javac.code.Type first
        end local 6 // com.sun.tools.javac.code.Type elem
        37: .line 3950
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 27
        end local 5 // int i
        39: .line 3969
            new com.sun.tools.javac.code.Type$ArrayType
            dup
            aload 0 /* this */
            aload 4 /* elements */
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.arrayClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokespecial com.sun.tools.javac.code.Type$ArrayType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            areturn
        end local 4 // com.sun.tools.javac.code.Type[] elements
        40: .line 3973
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIdx */
        start local 5 // int startIdx
        41: .line 3974
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        42: goto 48
        43: .line 3975
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int int
      StackMap stack:
            aload 1 /* ts */
            iload 6 /* i */
            aaload
            astore 7 /* t */
        start local 7 // com.sun.tools.javac.code.Type t
        44: .line 3976
            aload 7 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 49
            aload 7 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 46
        45: .line 3977
            goto 49
        46: .line 3979
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            iinc 5 /* startIdx */ 1
        end local 7 // com.sun.tools.javac.code.Type t
        47: .line 3974
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 6 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 43
        end local 6 // int i
        49: .line 3982
      StackMap locals:
      StackMap stack:
            iload 5 /* startIdx */
            aload 1 /* ts */
            arraylength
            if_icmpge 50
            iconst_1
            goto 51
      StackMap locals:
      StackMap stack:
        50: iconst_0
      StackMap locals:
      StackMap stack: int
        51: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        52: .line 3984
            aload 0 /* this */
            aload 1 /* ts */
            iload 5 /* startIdx */
            aaload
            invokevirtual com.sun.tools.javac.code.Types.erasedSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 6 /* cl */
        start local 6 // com.sun.tools.javac.util.List cl
        53: .line 3985
            iload 5 /* startIdx */
            iconst_1
            iadd
            istore 7 /* i */
        start local 7 // int i
        54: goto 59
        55: .line 3986
      StackMap locals: com.sun.tools.javac.util.List int
      StackMap stack:
            aload 1 /* ts */
            iload 7 /* i */
            aaload
            astore 8 /* t */
        start local 8 // com.sun.tools.javac.code.Type t
        56: .line 3987
            aload 8 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 57
            aload 8 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 58
        57: .line 3988
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            aload 0 /* this */
            aload 8 /* t */
            invokevirtual com.sun.tools.javac.code.Types.erasedSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 6 /* cl */
        end local 8 // com.sun.tools.javac.code.Type t
        58: .line 3985
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 7 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 55
        end local 7 // int i
        60: .line 3991
            aload 0 /* this */
            aload 6 /* cl */
            invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 7 /* mec */
        start local 7 // com.sun.tools.javac.util.List mec
        61: .line 3993
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 8 /* candidates */
        start local 8 // com.sun.tools.javac.util.List candidates
        62: .line 3994
            aload 7 /* mec */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 74
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        63: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 9 /* erasedSupertype */
        start local 9 // com.sun.tools.javac.code.Type erasedSupertype
        64: .line 3995
            aload 0 /* this */
            aload 1 /* ts */
            iload 5 /* startIdx */
            aaload
            aload 9 /* erasedSupertype */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 11 /* lci */
        start local 11 // com.sun.tools.javac.util.List lci
        65: .line 3996
            iload 5 /* startIdx */
            iconst_1
            iadd
            istore 12 /* i */
        start local 12 // int i
        66: goto 72
        67: .line 3997
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ts */
            iload 12 /* i */
            aaload
            aload 9 /* erasedSupertype */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 13 /* superType */
        start local 13 // com.sun.tools.javac.code.Type superType
        68: .line 3998
            aload 0 /* this */
            aload 11 /* lci */
            aload 13 /* superType */
            ifnull 69
            aload 13 /* superType */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            goto 70
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List
        69: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.util.List int com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List
        70: invokevirtual com.sun.tools.javac.code.Types.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 11 /* lci */
        end local 13 // com.sun.tools.javac.code.Type superType
        71: .line 3996
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 12 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 67
        end local 12 // int i
        73: .line 4000
            aload 8 /* candidates */
            aload 11 /* lci */
            invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 8 /* candidates */
        end local 11 // com.sun.tools.javac.util.List lci
        end local 9 // com.sun.tools.javac.code.Type erasedSupertype
        74: .line 3994
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        75: .line 4004
            aload 0 /* this */
            aload 8 /* candidates */
            invokevirtual com.sun.tools.javac.code.Types.compoundMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 8 // com.sun.tools.javac.util.List candidates
        end local 7 // com.sun.tools.javac.util.List mec
        end local 6 // com.sun.tools.javac.util.List cl
        end local 5 // int startIdx
        76: .line 4008
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Types.arraySuperType:()Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 9 /* classes */
        start local 9 // com.sun.tools.javac.util.List classes
        77: .line 4009
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        78: goto 82
        79: .line 4010
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type[] int[] int top top top top top com.sun.tools.javac.util.List int
      StackMap stack:
            aload 2 /* kinds */
            iload 10 /* i */
            iaload
            iconst_1
            if_icmpeq 81
        80: .line 4011
            aload 9 /* classes */
            aload 1 /* ts */
            iload 10 /* i */
            aaload
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 9 /* classes */
        81: .line 4009
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        82: iload 10 /* i */
            aload 1 /* ts */
            arraylength
            if_icmplt 79
        end local 10 // int i
        83: .line 4014
            aload 0 /* this */
            aload 9 /* classes */
            invokevirtual com.sun.tools.javac.code.Types.lub:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 9 // com.sun.tools.javac.util.List classes
        end local 3 // int boundkind
        end local 2 // int[] kinds
        end local 1 // com.sun.tools.javac.code.Type[] ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   84     0             this  Lcom/sun/tools/javac/code/Types;
            0   84     1               ts  [Lcom/sun/tools/javac/code/Type;
            1   84     2            kinds  [I
            2   84     3        boundkind  I
            3   22     4                i  I
            5   20     5                t  Lcom/sun/tools/javac/code/Type;
           25   40     4         elements  [Lcom/sun/tools/javac/code/Type;
           26   39     5                i  I
           28   37     6             elem  Lcom/sun/tools/javac/code/Type;
           30   37     7            first  Lcom/sun/tools/javac/code/Type;
           31   36     8                j  I
           41   76     5         startIdx  I
           42   49     6                i  I
           44   47     7                t  Lcom/sun/tools/javac/code/Type;
           53   76     6               cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           54   60     7                i  I
           56   58     8                t  Lcom/sun/tools/javac/code/Type;
           61   76     7              mec  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           62   76     8       candidates  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           64   74     9  erasedSupertype  Lcom/sun/tools/javac/code/Type;
           65   74    11              lci  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           66   73    12                i  I
           68   71    13        superType  Lcom/sun/tools/javac/code/Type;
           77   84     9          classes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           78   83    10                i  I
    MethodParameters:
      Name  Flags
      ts    

  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> erasedSupertypes(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4019
            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 4020
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* sup */
        start local 3 // com.sun.tools.javac.code.Type sup
         3: .line 4021
            aload 3 /* sup */
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 6
         4: .line 4022
            aload 2 /* buf */
            aload 3 /* sup */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         5: .line 4023
            goto 7
         6: .line 4024
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            aload 3 /* sup */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            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 sup
         7: .line 4020
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 4027
            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 t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/code/Types;
            0    9     1     t  Lcom/sun/tools/javac/code/Type;
            1    9     2   buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3    7     3   sup  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     

  private com.sun.tools.javac.code.Type arraySuperType();
    descriptor: ()Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Types this
         0: .line 4033
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
            ifnonnull 12
         1: .line 4034
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 4035
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
            ifnonnull 8
         3: .line 4037
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.serializableType:Lcom/sun/tools/javac/code/Type;
         4: .line 4038
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.cloneableType:Lcom/sun/tools/javac/code/Type;
         5: .line 4037
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
         6: .line 4038
            iconst_1
         7: .line 4037
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;Z)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
            putfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
         8: .line 4034
      StackMap locals: com.sun.tools.javac.code.Types
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 4042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/tools/javac/code/Types;
      Exception table:
        from    to  target  type
           2     9      10  any
          10    11      10  any

  public com.sun.tools.javac.code.Type glb(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 4048
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 2 /* t1 */
        start local 2 // com.sun.tools.javac.code.Type t1
         1: .line 4049
            aload 1 /* ts */
            getfield com.sun.tools.javac.util.List.tail: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.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* t2 */
        start local 3 // com.sun.tools.javac.code.Type t2
         3: .line 4050
            aload 2 /* t1 */
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 5
         4: .line 4051
            aload 2 /* t1 */
            areturn
         5: .line 4052
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t1 */
            aload 3 /* t2 */
            invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* t1 */
        end local 3 // com.sun.tools.javac.code.Type t2
         6: .line 4049
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 4054
            aload 2 /* t1 */
            areturn
        end local 2 // com.sun.tools.javac.code.Type t1
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/code/Types;
            0    8     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1    8     2    t1  Lcom/sun/tools/javac/code/Type;
            3    6     3    t2  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      ts    

  public com.sun.tools.javac.code.Type glb(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 4058
            aload 2 /* s */
            ifnonnull 2
         1: .line 4059
            aload 1 /* t */
            areturn
         2: .line 4060
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 3
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 4
         3: .line 4061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            areturn
         4: .line 4062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 6
         5: .line 4063
            aload 1 /* t */
            areturn
         6: .line 4064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeNoCapture:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 8
         7: .line 4065
            aload 2 /* s */
            areturn
         8: .line 4067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.closure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 3 /* closure */
        start local 3 // com.sun.tools.javac.util.List closure
         9: .line 4068
            aload 0 /* this */
            aload 3 /* closure */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.glbFlattened:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 3 // com.sun.tools.javac.util.List closure
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/tools/javac/code/Types;
            0   10     1        t  Lcom/sun/tools/javac/code/Type;
            0   10     2        s  Lcom/sun/tools/javac/code/Type;
            9   10     3  closure  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     
      s     

  private com.sun.tools.javac.code.Type glbFlattened(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=10, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List flatBounds
        start local 2 // com.sun.tools.javac.code.Type errT
         0: .line 4080
            aload 0 /* this */
            aload 1 /* flatBounds */
            invokevirtual com.sun.tools.javac.code.Types.closureMin:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 3 /* bounds */
        start local 3 // com.sun.tools.javac.util.List bounds
         1: .line 4082
            aload 3 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 3
         2: .line 4083
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            areturn
         3: .line 4084
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* bounds */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 5
         4: .line 4085
            aload 3 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
         5: .line 4087
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* classCount */
        start local 4 // int classCount
         6: .line 4088
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 5 /* cvars */
        start local 5 // com.sun.tools.javac.util.List cvars
         7: .line 4089
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 6 /* lowers */
        start local 6 // com.sun.tools.javac.util.List lowers
         8: .line 4090
            aload 3 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 16
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 7 /* bound */
        start local 7 // com.sun.tools.javac.code.Type bound
        10: .line 4091
            aload 7 /* bound */
            invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
            ifne 16
        11: .line 4092
            iinc 4 /* classCount */ 1
        12: .line 4093
            aload 0 /* this */
            aload 7 /* bound */
            invokevirtual com.sun.tools.javac.code.Types.cvarLowerBound:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 9 /* lower */
        start local 9 // com.sun.tools.javac.code.Type lower
        13: .line 4094
            aload 7 /* bound */
            aload 9 /* lower */
            if_acmpeq 16
            aload 9 /* lower */
            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 16
        14: .line 4095
            aload 5 /* cvars */
            aload 7 /* bound */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 5 /* cvars */
        15: .line 4096
            aload 6 /* lowers */
            aload 9 /* lower */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 6 /* lowers */
        end local 9 // com.sun.tools.javac.code.Type lower
        end local 7 // com.sun.tools.javac.code.Type bound
        16: .line 4090
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 4100
            iload 4 /* classCount */
            iconst_1
            if_icmple 22
        18: .line 4101
            aload 6 /* lowers */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 20
        19: .line 4102
            aload 0 /* this */
            aload 2 /* errT */
            invokevirtual com.sun.tools.javac.code.Types.createErrorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        20: .line 4105
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* bounds */
            aload 5 /* cvars */
            invokevirtual com.sun.tools.javac.util.List.diff:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            aload 6 /* lowers */
            invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
        start local 7 // com.sun.tools.javac.util.List newBounds
        21: .line 4106
            aload 0 /* this */
            aload 7 /* newBounds */
            invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 7 // com.sun.tools.javac.util.List newBounds
        end local 6 // com.sun.tools.javac.util.List lowers
        end local 5 // com.sun.tools.javac.util.List cvars
        end local 4 // int classCount
        22: .line 4110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* bounds */
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
            areturn
        end local 3 // com.sun.tools.javac.util.List bounds
        end local 2 // com.sun.tools.javac.code.Type errT
        end local 1 // com.sun.tools.javac.util.List flatBounds
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/sun/tools/javac/code/Types;
            0   23     1  flatBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   23     2        errT  Lcom/sun/tools/javac/code/Type;
            1   23     3      bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            6   22     4  classCount  I
            7   22     5       cvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            8   22     6      lowers  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           10   16     7       bound  Lcom/sun/tools/javac/code/Type;
           13   16     9       lower  Lcom/sun/tools/javac/code/Type;
           21   22     7   newBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
            Name  Flags
      flatBounds  
      errT        

  public int hashCode(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4119
            aload 0 /* this */
            aload 1 /* t */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.hashCode:(Lcom/sun/tools/javac/code/Type;Z)I
            ireturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public int hashCode(com.sun.tools.javac.code.Type, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // boolean strict
         0: .line 4123
            iload 2 /* strict */
            ifeq 2
         1: .line 4124
            getstatic com.sun.tools.javac.code.Types.hashCodeStrictVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$HashCodeVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast java.lang.Integer
            goto 3
         2: .line 4125
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Types.hashCodeVisitor:Lcom/sun/tools/javac/code/Types$HashCodeVisitor;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$HashCodeVisitor.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast java.lang.Integer
         3: .line 4123
      StackMap locals:
      StackMap stack: java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // boolean strict
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/javac/code/Types;
            0    4     1       t  Lcom/sun/tools/javac/code/Type;
            0    4     2  strict  Z
    MethodParameters:
        Name  Flags
      t       
      strict  

  public boolean resultSubtype(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warner
         0: .line 4205
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 4 /* tvars */
        start local 4 // com.sun.tools.javac.util.List tvars
         1: .line 4206
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 5 /* svars */
        start local 5 // com.sun.tools.javac.util.List svars
         2: .line 4207
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            astore 6 /* tres */
        start local 6 // com.sun.tools.javac.code.Type tres
         3: .line 4208
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 5 /* svars */
            aload 4 /* tvars */
            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;
            astore 7 /* sres */
        start local 7 // com.sun.tools.javac.code.Type sres
         4: .line 4209
            aload 0 /* this */
            aload 6 /* tres */
            aload 7 /* sres */
            aload 3 /* warner */
            invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 7 // com.sun.tools.javac.code.Type sres
        end local 6 // com.sun.tools.javac.code.Type tres
        end local 5 // com.sun.tools.javac.util.List svars
        end local 4 // com.sun.tools.javac.util.List tvars
        end local 3 // com.sun.tools.javac.util.Warner warner
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/tools/javac/code/Types;
            0    5     1       t  Lcom/sun/tools/javac/code/Type;
            0    5     2       s  Lcom/sun/tools/javac/code/Type;
            0    5     3  warner  Lcom/sun/tools/javac/util/Warner;
            1    5     4   tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2    5     5   svars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3    5     6    tres  Lcom/sun/tools/javac/code/Type;
            4    5     7    sres  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
        Name  Flags
      t       
      s       
      warner  

  public boolean returnTypeSubstitutable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type r1
        start local 2 // com.sun.tools.javac.code.Type r2
         0: .line 4217
            aload 0 /* this */
            aload 1 /* r1 */
            aload 2 /* r2 */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         1: .line 4218
            aload 0 /* this */
            aload 1 /* r1 */
            aload 2 /* r2 */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokevirtual com.sun.tools.javac.code.Types.resultSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
         2: .line 4220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
         3: .line 4221
            aload 0 /* this */
            aload 2 /* r2 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
         4: .line 4222
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
         5: .line 4220
            invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Type r2
        end local 1 // com.sun.tools.javac.code.Type r1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1    r1  Lcom/sun/tools/javac/code/Type;
            0    6     2    r2  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      r1    
      r2    

  public boolean returnTypeSubstitutable(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type r1
        start local 2 // com.sun.tools.javac.code.Type r2
        start local 3 // com.sun.tools.javac.code.Type r2res
        start local 4 // com.sun.tools.javac.util.Warner warner
         0: .line 4228
            aload 0 /* this */
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 3 /* r2res */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         1: .line 4229
            iconst_1
            ireturn
         2: .line 4230
      StackMap locals:
      StackMap stack:
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 3
            aload 3 /* r2res */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 4
         3: .line 4231
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 4233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* r1 */
            aload 2 /* r2 */
            invokevirtual com.sun.tools.javac.code.Types.hasSameArgs:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 6
         5: .line 4234
            aload 0 /* this */
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 3 /* r2res */
            aload 4 /* warner */
            invokevirtual com.sun.tools.javac.code.Types.covariantReturnType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
         6: .line 4235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 3 /* r2res */
            aload 4 /* warner */
            invokevirtual com.sun.tools.javac.code.Types.isSubtypeUnchecked:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifeq 8
         7: .line 4236
            iconst_1
            ireturn
         8: .line 4237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* r1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            aload 3 /* r2res */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 10
         9: .line 4238
            iconst_0
            ireturn
        10: .line 4239
      StackMap locals:
      StackMap stack:
            aload 4 /* warner */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        11: .line 4240
            iconst_1
            ireturn
        end local 4 // com.sun.tools.javac.util.Warner warner
        end local 3 // com.sun.tools.javac.code.Type r2res
        end local 2 // com.sun.tools.javac.code.Type r2
        end local 1 // com.sun.tools.javac.code.Type r1
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/tools/javac/code/Types;
            0   12     1      r1  Lcom/sun/tools/javac/code/Type;
            0   12     2      r2  Lcom/sun/tools/javac/code/Type;
            0   12     3   r2res  Lcom/sun/tools/javac/code/Type;
            0   12     4  warner  Lcom/sun/tools/javac/util/Warner;
    MethodParameters:
        Name  Flags
      r1      
      r2      
      r2res   
      warner  

  public boolean covariantReturnType(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
        start local 3 // com.sun.tools.javac.util.Warner warner
         0: .line 4249
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 5
         1: .line 4250
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 4
         2: .line 4251
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 4
         3: .line 4252
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            aload 3 /* warner */
            invokevirtual com.sun.tools.javac.code.Types.isAssignable:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifne 5
         4: .line 4248
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warner
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/javac/code/Types;
            0    6     1       t  Lcom/sun/tools/javac/code/Type;
            0    6     2       s  Lcom/sun/tools/javac/code/Type;
            0    6     3  warner  Lcom/sun/tools/javac/util/Warner;
    MethodParameters:
        Name  Flags
      t       
      s       
      warner  

  public com.sun.tools.javac.code.Symbol$ClassSymbol boxedClass(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4261
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            aaload
            invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type boxedTypeOrType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4268
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 2
         1: .line 4269
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.boxedClass:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            goto 3
         2: .line 4270
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
         3: .line 4268
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type unboxedType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4277
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 4278
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
            iload 2 /* i */
            aaload
            astore 3 /* box */
        start local 3 // com.sun.tools.javac.util.Name box
         3: .line 4279
            aload 3 /* box */
            ifnull 6
         4: .line 4280
            aload 0 /* this */
            aload 1 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 3 /* box */
            invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            ifnull 6
         5: .line 4281
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.typeOfTag:[Lcom/sun/tools/javac/code/Type;
            iload 2 /* i */
            aaload
            areturn
        end local 3 // com.sun.tools.javac.util.Name box
         6: .line 4277
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boxedName:[Lcom/sun/tools/javac/util/Name;
            arraylength
            if_icmplt 2
        end local 2 // int i
         8: .line 4283
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/code/Types;
            0    9     1     t  Lcom/sun/tools/javac/code/Type;
            1    8     2     i  I
            3    6     3   box  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.code.Type unboxedTypeOrType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4290
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* unboxedType */
        start local 2 // com.sun.tools.javac.code.Type unboxedType
         1: .line 4291
            aload 2 /* unboxedType */
            getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
            aload 1 /* t */
            goto 3
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
         2: aload 2 /* unboxedType */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
         3: areturn
        end local 2 // com.sun.tools.javac.code.Type unboxedType
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/sun/tools/javac/code/Types;
            0    4     1            t  Lcom/sun/tools/javac/code/Type;
            1    4     2  unboxedType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> capture(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List ts
         0: .line 4334
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 2 /* buf */
        start local 2 // com.sun.tools.javac.util.List buf
         1: .line 4335
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
         3: .line 4336
            aload 2 /* buf */
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* buf */
        end local 3 // com.sun.tools.javac.code.Type t
         4: .line 4335
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 4338
            aload 2 /* buf */
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.List buf
        end local 1 // com.sun.tools.javac.util.List ts
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;
            0    6     1    ts  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1    6     2   buf  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3    4     3     t  Lcom/sun/tools/javac/code/Type;
    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;>;
    MethodParameters:
      Name  Flags
      ts    

  public com.sun.tools.javac.code.Type capture(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=16, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 4342
            aload 1 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 2
         1: .line 4343
            aload 1 /* t */
            areturn
         2: .line 4345
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            if_acmpeq 7
         3: .line 4346
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* capturedEncl */
        start local 2 // com.sun.tools.javac.code.Type capturedEncl
         4: .line 4347
            aload 2 /* capturedEncl */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            if_acmpeq 7
         5: .line 4348
            aload 0 /* this */
            aload 2 /* capturedEncl */
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* type1 */
        start local 3 // com.sun.tools.javac.code.Type type1
         6: .line 4349
            aload 0 /* this */
            aload 3 /* type1 */
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            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;
            astore 1 /* t */
        end local 3 // com.sun.tools.javac.code.Type type1
        end local 2 // com.sun.tools.javac.code.Type capturedEncl
         7: .line 4352
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 2 /* cls */
        start local 2 // com.sun.tools.javac.code.Type$ClassType cls
         8: .line 4353
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isRaw:()Z
            ifne 9
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.isParameterized:()Z
            ifne 10
         9: .line 4354
      StackMap locals: com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
            aload 2 /* cls */
            areturn
        10: .line 4356
      StackMap locals:
      StackMap stack:
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.asType:()Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 3 /* G */
        start local 3 // com.sun.tools.javac.code.Type$ClassType G
        11: .line 4357
            aload 3 /* G */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 4 /* A */
        start local 4 // com.sun.tools.javac.util.List A
        12: .line 4358
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 5 /* T */
        start local 5 // com.sun.tools.javac.util.List T
        13: .line 4359
            aload 0 /* this */
            aload 5 /* T */
            invokevirtual com.sun.tools.javac.code.Types.freshTypeVariables:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 6 /* S */
        start local 6 // com.sun.tools.javac.util.List S
        14: .line 4361
            aload 4 /* A */
            astore 7 /* currentA */
        start local 7 // com.sun.tools.javac.util.List currentA
        15: .line 4362
            aload 5 /* T */
            astore 8 /* currentT */
        start local 8 // com.sun.tools.javac.util.List currentT
        16: .line 4363
            aload 6 /* S */
            astore 9 /* currentS */
        start local 9 // com.sun.tools.javac.util.List currentS
        17: .line 4364
            iconst_0
            istore 10 /* captured */
        start local 10 // boolean captured
        18: .line 4365
            goto 48
        19: .line 4368
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List int
      StackMap stack:
            aload 9 /* currentS */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            aload 8 /* currentT */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            if_acmpeq 45
        20: .line 4369
            iconst_1
            istore 10 /* captured */
        21: .line 4370
            aload 8 /* currentT */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$WildcardType
            astore 11 /* Ti */
        start local 11 // com.sun.tools.javac.code.Type$WildcardType Ti
        22: .line 4371
            aload 7 /* currentA */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            astore 12 /* Ui */
        start local 12 // com.sun.tools.javac.code.Type Ui
        23: .line 4372
            aload 9 /* currentS */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$CapturedType
            astore 13 /* Si */
        start local 13 // com.sun.tools.javac.code.Type$CapturedType Si
        24: .line 4373
            aload 12 /* Ui */
            ifnonnull 26
        25: .line 4374
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            astore 12 /* Ui */
        26: .line 4375
      StackMap locals: com.sun.tools.javac.code.Type$WildcardType com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$CapturedType
      StackMap stack:
            invokestatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:()[I
            aload 11 /* Ti */
            getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 30
                    2: 33
                    3: 27
              default: 35
          }
        27: .line 4377
      StackMap locals:
      StackMap stack:
            aload 13 /* Si */
            aload 0 /* this */
            aload 12 /* Ui */
            aload 4 /* A */
            aload 6 /* S */
            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;
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
        28: .line 4378
            aload 13 /* Si */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
        29: .line 4379
            goto 35
        30: .line 4381
      StackMap locals:
      StackMap stack:
            aload 13 /* Si */
            aload 0 /* this */
            aload 11 /* Ti */
            invokevirtual com.sun.tools.javac.code.Type$WildcardType.getExtendsBound:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            aload 12 /* Ui */
            aload 4 /* A */
            aload 6 /* S */
            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;
            invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
        31: .line 4382
            aload 13 /* Si */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
        32: .line 4383
            goto 35
        33: .line 4385
      StackMap locals:
      StackMap stack:
            aload 13 /* Si */
            aload 0 /* this */
            aload 12 /* Ui */
            aload 4 /* A */
            aload 6 /* S */
            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;
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.setUpperBound:(Lcom/sun/tools/javac/code/Type;)V
        34: .line 4386
            aload 13 /* Si */
            aload 11 /* Ti */
            invokevirtual com.sun.tools.javac.code.Type$WildcardType.getSuperBound:()Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
        35: .line 4389
      StackMap locals:
      StackMap stack:
            aload 13 /* Si */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            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 36
            aload 13 /* Si */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$UndetVar
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            goto 37
      StackMap locals:
      StackMap stack:
        36: aload 13 /* Si */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
        37: astore 14 /* tmpBound */
        start local 14 // com.sun.tools.javac.code.Type tmpBound
        38: .line 4390
            aload 13 /* Si */
            getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
            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 39
            aload 13 /* Si */
            getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$UndetVar
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            goto 40
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
        39: aload 13 /* Si */
            getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
        40: astore 15 /* tmpLower */
        start local 15 // com.sun.tools.javac.code.Type tmpLower
        41: .line 4391
            aload 13 /* Si */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 45
        42: .line 4392
            aload 13 /* Si */
            getfield com.sun.tools.javac.code.Type$CapturedType.lower:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 45
        43: .line 4393
            aload 0 /* this */
            aload 14 /* tmpBound */
            aload 15 /* tmpLower */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 45
        44: .line 4394
            aload 9 /* currentS */
            aload 13 /* Si */
            invokevirtual com.sun.tools.javac.code.Type$CapturedType.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
        end local 15 // com.sun.tools.javac.code.Type tmpLower
        end local 14 // com.sun.tools.javac.code.Type tmpBound
        end local 13 // com.sun.tools.javac.code.Type$CapturedType Si
        end local 12 // com.sun.tools.javac.code.Type Ui
        end local 11 // com.sun.tools.javac.code.Type$WildcardType Ti
        45: .line 4397
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.code.Type$ClassType com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List int
      StackMap stack:
            aload 7 /* currentA */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* currentA */
        46: .line 4398
            aload 8 /* currentT */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* currentT */
        47: .line 4399
            aload 9 /* currentS */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 9 /* currentS */
        48: .line 4365
      StackMap locals:
      StackMap stack:
            aload 7 /* currentA */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 51
        49: .line 4366
            aload 8 /* currentT */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 51
        50: .line 4367
            aload 9 /* currentS */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 19
        51: .line 4401
      StackMap locals:
      StackMap stack:
            aload 7 /* currentA */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 52
            aload 8 /* currentT */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 52
            aload 9 /* currentS */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 53
        52: .line 4402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        53: .line 4404
      StackMap locals:
      StackMap stack:
            iload 10 /* captured */
            ifeq 57
        54: .line 4405
            new com.sun.tools.javac.code.Type$ClassType
            dup
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
            aload 6 /* S */
            aload 2 /* cls */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
        55: .line 4406
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
        56: .line 4405
            invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
            areturn
        57: .line 4408
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 10 // boolean captured
        end local 9 // com.sun.tools.javac.util.List currentS
        end local 8 // com.sun.tools.javac.util.List currentT
        end local 7 // com.sun.tools.javac.util.List currentA
        end local 6 // com.sun.tools.javac.util.List S
        end local 5 // com.sun.tools.javac.util.List T
        end local 4 // com.sun.tools.javac.util.List A
        end local 3 // com.sun.tools.javac.code.Type$ClassType G
        end local 2 // com.sun.tools.javac.code.Type$ClassType cls
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   58     0          this  Lcom/sun/tools/javac/code/Types;
            0   58     1             t  Lcom/sun/tools/javac/code/Type;
            4    7     2  capturedEncl  Lcom/sun/tools/javac/code/Type;
            6    7     3         type1  Lcom/sun/tools/javac/code/Type;
            8   58     2           cls  Lcom/sun/tools/javac/code/Type$ClassType;
           11   58     3             G  Lcom/sun/tools/javac/code/Type$ClassType;
           12   58     4             A  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           13   58     5             T  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           14   58     6             S  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           15   58     7      currentA  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           16   58     8      currentT  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           17   58     9      currentS  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           18   58    10      captured  Z
           22   45    11            Ti  Lcom/sun/tools/javac/code/Type$WildcardType;
           23   45    12            Ui  Lcom/sun/tools/javac/code/Type;
           24   45    13            Si  Lcom/sun/tools/javac/code/Type$CapturedType;
           38   45    14      tmpBound  Lcom/sun/tools/javac/code/Type;
           41   45    15      tmpLower  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> freshTypeVariables(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.util.List types
         0: .line 4412
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* result */
        start local 2 // com.sun.tools.javac.util.ListBuffer result
         1: .line 4413
            aload 1 /* types */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
         3: .line 4414
            aload 3 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 14
         4: .line 4415
            aload 3 /* t */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            invokevirtual com.sun.tools.javac.code.Type$WildcardType.getExtendsBound:()Lcom/sun/tools/javac/code/Type;
            astore 5 /* bound */
        start local 5 // com.sun.tools.javac.code.Type bound
         5: .line 4416
            aload 5 /* bound */
            ifnonnull 7
         6: .line 4417
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            astore 5 /* bound */
         7: .line 4418
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* result */
            new com.sun.tools.javac.code.Type$CapturedType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.capturedName:Lcom/sun/tools/javac/util/Name;
         8: .line 4419
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.noSymbol:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
         9: .line 4420
            aload 5 /* bound */
        10: .line 4421
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
        11: .line 4422
            aload 3 /* t */
            checkcast com.sun.tools.javac.code.Type$WildcardType
            invokespecial com.sun.tools.javac.code.Type$CapturedType.<init>:(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
        12: .line 4418
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 5 // com.sun.tools.javac.code.Type bound
        13: .line 4423
            goto 15
        14: .line 4424
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 3 /* t */
            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 t
        15: .line 4413
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 4427
            aload 2 /* result */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer result
        end local 1 // com.sun.tools.javac.util.List types
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lcom/sun/tools/javac/code/Types;
            0   17     1   types  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            1   17     2  result  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3   15     3       t  Lcom/sun/tools/javac/code/Type;
            5   13     5   bound  Lcom/sun/tools/javac/code/Type;
    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;>;
    MethodParameters:
       Name  Flags
      types  

  private boolean sideCast(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type from
        start local 2 // com.sun.tools.javac.code.Type to
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 4437
            iconst_0
            istore 4 /* reverse */
        start local 4 // boolean reverse
         1: .line 4438
            aload 2 /* to */
            astore 5 /* target */
        start local 5 // com.sun.tools.javac.code.Type target
         2: .line 4439
            aload 2 /* to */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifne 9
         3: .line 4440
            aload 1 /* from */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: int com.sun.tools.javac.code.Type
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         6: .line 4441
            iconst_1
            istore 4 /* reverse */
         7: .line 4442
            aload 1 /* from */
            astore 2 /* to */
         8: .line 4443
            aload 5 /* target */
            astore 1 /* from */
         9: .line 4445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* to */
            aload 0 /* this */
            aload 1 /* from */
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.superClosure:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 6 /* commonSupers */
        start local 6 // com.sun.tools.javac.util.List commonSupers
        10: .line 4446
            aload 6 /* commonSupers */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            istore 7 /* giveWarning */
        start local 7 // boolean giveWarning
        11: .line 4449
            goto 22
        12: .line 4450
      StackMap locals: com.sun.tools.javac.util.List int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* from */
            aload 6 /* commonSupers */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 8 /* t1 */
        start local 8 // com.sun.tools.javac.code.Type t1
        13: .line 4451
            aload 6 /* commonSupers */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 9 /* t2 */
        start local 9 // com.sun.tools.javac.code.Type t2
        14: .line 4452
            aload 0 /* this */
            aload 8 /* t1 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 9 /* t2 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.disjointTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
            ifeq 16
        15: .line 4453
            iconst_0
            ireturn
        16: .line 4454
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack:
            iload 7 /* giveWarning */
            ifne 19
            iload 4 /* reverse */
            ifeq 17
            aload 0 /* this */
            aload 9 /* t2 */
            aload 8 /* t1 */
            invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 19
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            aload 8 /* t1 */
            aload 9 /* t2 */
            invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: istore 7 /* giveWarning */
        21: .line 4455
            aload 6 /* commonSupers */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* commonSupers */
        end local 9 // com.sun.tools.javac.code.Type t2
        end local 8 // com.sun.tools.javac.code.Type t1
        22: .line 4449
      StackMap locals:
      StackMap stack:
            aload 6 /* commonSupers */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 12
        23: .line 4457
            iload 7 /* giveWarning */
            ifeq 27
            aload 0 /* this */
            iload 4 /* reverse */
            ifeq 24
            aload 1 /* from */
            goto 25
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types
        24: aload 2 /* to */
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.Warner int com.sun.tools.javac.code.Type com.sun.tools.javac.util.List int
      StackMap stack: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type
        25: invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 27
        26: .line 4458
            aload 3 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        27: .line 4459
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // boolean giveWarning
        end local 6 // com.sun.tools.javac.util.List commonSupers
        end local 5 // com.sun.tools.javac.code.Type target
        end local 4 // boolean reverse
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type to
        end local 1 // com.sun.tools.javac.code.Type from
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lcom/sun/tools/javac/code/Types;
            0   28     1          from  Lcom/sun/tools/javac/code/Type;
            0   28     2            to  Lcom/sun/tools/javac/code/Type;
            0   28     3          warn  Lcom/sun/tools/javac/util/Warner;
            1   28     4       reverse  Z
            2   28     5        target  Lcom/sun/tools/javac/code/Type;
           10   28     6  commonSupers  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           11   28     7   giveWarning  Z
           13   22     8            t1  Lcom/sun/tools/javac/code/Type;
           14   22     9            t2  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      from  
      to    
      warn  

  private boolean sideCastFinal(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type from
        start local 2 // com.sun.tools.javac.code.Type to
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 4468
            iconst_0
            istore 4 /* reverse */
        start local 4 // boolean reverse
         1: .line 4469
            aload 2 /* to */
            astore 5 /* target */
        start local 5 // com.sun.tools.javac.code.Type target
         2: .line 4470
            aload 2 /* to */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifne 9
         3: .line 4471
            aload 1 /* from */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 512
            land
            lconst_0
            lcmp
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: int com.sun.tools.javac.code.Type
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         6: .line 4472
            iconst_1
            istore 4 /* reverse */
         7: .line 4473
            aload 1 /* from */
            astore 2 /* to */
         8: .line 4474
            aload 5 /* target */
            astore 1 /* from */
         9: .line 4476
      StackMap locals:
      StackMap stack:
            aload 1 /* from */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 16
            land
            lconst_0
            lcmp
            ifeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        12: .line 4477
            aload 0 /* this */
            aload 1 /* from */
            aload 2 /* to */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* t1 */
        start local 6 // com.sun.tools.javac.code.Type t1
        13: .line 4478
            aload 6 /* t1 */
            ifnonnull 14
            iconst_0
            ireturn
        14: .line 4479
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* to */
            astore 7 /* t2 */
        start local 7 // com.sun.tools.javac.code.Type t2
        15: .line 4480
            aload 0 /* this */
            aload 6 /* t1 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            aload 7 /* t2 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.disjointTypes:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
            ifeq 17
        16: .line 4481
            iconst_0
            ireturn
        17: .line 4482
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            aload 5 /* target */
            invokevirtual com.sun.tools.javac.code.Types.isReifiable:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 21
        18: .line 4483
            iload 4 /* reverse */
            ifeq 19
            aload 0 /* this */
            aload 7 /* t2 */
            aload 6 /* t1 */
            invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 21
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
            aload 6 /* t1 */
            aload 7 /* t2 */
            invokevirtual com.sun.tools.javac.code.Types.giveWarning:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 21
        20: .line 4484
      StackMap locals:
      StackMap stack:
            aload 3 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.warn:(Lcom/sun/tools/javac/code/Lint$LintCategory;)V
        21: .line 4485
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // com.sun.tools.javac.code.Type t2
        end local 6 // com.sun.tools.javac.code.Type t1
        end local 5 // com.sun.tools.javac.code.Type target
        end local 4 // boolean reverse
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type to
        end local 1 // com.sun.tools.javac.code.Type from
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/tools/javac/code/Types;
            0   22     1     from  Lcom/sun/tools/javac/code/Type;
            0   22     2       to  Lcom/sun/tools/javac/code/Type;
            0   22     3     warn  Lcom/sun/tools/javac/util/Warner;
            1   22     4  reverse  Z
            2   22     5   target  Lcom/sun/tools/javac/code/Type;
           13   22     6       t1  Lcom/sun/tools/javac/code/Type;
           15   22     7       t2  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      from  
      to    
      warn  

  private boolean giveWarning(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type from
        start local 2 // com.sun.tools.javac.code.Type to
         0: .line 4489
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifeq 2
         1: .line 4490
            aload 0 /* this */
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Types.directSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 2 /* to */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
         3: .line 4489
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 3 /* bounds */
        start local 3 // com.sun.tools.javac.util.List bounds
         4: .line 4491
            aload 3 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 4 /* b */
        start local 4 // com.sun.tools.javac.code.Type b
         6: .line 4492
            aload 0 /* this */
            aload 1 /* from */
            aload 4 /* b */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSub:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* subFrom */
        start local 6 // com.sun.tools.javac.code.Type subFrom
         7: .line 4493
            aload 4 /* b */
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 12
         8: .line 4494
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual com.sun.tools.javac.code.Types.isUnbounded:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 12
         9: .line 4495
            aload 0 /* this */
            aload 1 /* from */
            aload 4 /* b */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 12
        10: .line 4496
            aload 6 /* subFrom */
            ifnull 11
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
            aload 6 /* subFrom */
            invokevirtual com.sun.tools.javac.code.Type.allparams:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
            ifne 12
        11: .line 4497
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // com.sun.tools.javac.code.Type subFrom
        end local 4 // com.sun.tools.javac.code.Type b
        12: .line 4491
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 4500
            iconst_0
            ireturn
        end local 3 // com.sun.tools.javac.util.List bounds
        end local 2 // com.sun.tools.javac.code.Type to
        end local 1 // com.sun.tools.javac.code.Type from
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/sun/tools/javac/code/Types;
            0   14     1     from  Lcom/sun/tools/javac/code/Type;
            0   14     2       to  Lcom/sun/tools/javac/code/Type;
            4   14     3   bounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            6   12     4        b  Lcom/sun/tools/javac/code/Type;
            7   12     6  subFrom  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      from  
      to    

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> superClosure(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 4504
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 3 /* cl */
        start local 3 // com.sun.tools.javac.util.List cl
         1: .line 4505
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
         2: goto 8
         3: .line 4506
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            aload 0 /* this */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 6
         4: .line 4507
            aload 0 /* this */
            aload 3 /* cl */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Types.insert:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 3 /* cl */
         5: .line 4508
            goto 7
         6: .line 4509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* cl */
            aload 0 /* this */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.superClosure:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 3 /* cl */
         7: .line 4505
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
      StackMap locals:
      StackMap stack:
         8: aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 3
        end local 4 // com.sun.tools.javac.util.List l
         9: .line 4512
            aload 3 /* cl */
            areturn
        end local 3 // com.sun.tools.javac.util.List cl
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/tools/javac/code/Types;
            0   10     1     t  Lcom/sun/tools/javac/code/Type;
            0   10     2     s  Lcom/sun/tools/javac/code/Type;
            1   10     3    cl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2    9     4     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     
      s     

  private boolean containsTypeEquivalent(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 4516
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 3
         1: .line 4517
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types.containsType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 3
         2: .line 4516
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // com.sun.tools.javac.code.Type s
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/code/Types;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
            0    4     2     s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      s     

  public void adapt(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type source
        start local 2 // com.sun.tools.javac.code.Type target
        start local 3 // com.sun.tools.javac.util.ListBuffer from
        start local 4 // com.sun.tools.javac.util.ListBuffer to
         0: .line 4534
            new com.sun.tools.javac.code.Types$Adapter
            dup
            aload 0 /* this */
            aload 3 /* from */
            aload 4 /* to */
            invokespecial com.sun.tools.javac.code.Types$Adapter.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
            aload 1 /* source */
            aload 2 /* target */
            invokevirtual com.sun.tools.javac.code.Types$Adapter.adapt:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
         1: .line 4535
            return
        end local 4 // com.sun.tools.javac.util.ListBuffer to
        end local 3 // com.sun.tools.javac.util.ListBuffer from
        end local 2 // com.sun.tools.javac.code.Type target
        end local 1 // com.sun.tools.javac.code.Type source
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/code/Types;
            0    2     1  source  Lcom/sun/tools/javac/code/Type;
            0    2     2  target  Lcom/sun/tools/javac/code/Type;
            0    2     3    from  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            0    2     4      to  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
    Exceptions:
      throws com.sun.tools.javac.code.Types$AdaptFailure
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
        Name  Flags
      source  
      target  
      from    
      to      

  private void adaptSelf(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.util.ListBuffer from
        start local 3 // com.sun.tools.javac.util.ListBuffer to
         0: .line 4648
            aload 0 /* this */
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* t */
            aload 2 /* from */
            aload 3 /* to */
            invokevirtual com.sun.tools.javac.code.Types.adapt:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/util/ListBuffer;)V
         1: .line 4649
            goto 4
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types$AdaptFailure
         2: astore 4 /* ex */
        start local 4 // com.sun.tools.javac.code.Types$AdaptFailure ex
         3: .line 4652
            new java.lang.AssertionError
            dup
            aload 4 /* ex */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // com.sun.tools.javac.code.Types$AdaptFailure ex
         4: .line 4654
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.sun.tools.javac.util.ListBuffer to
        end local 2 // com.sun.tools.javac.util.ListBuffer from
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Types;
            0    5     1     t  Lcom/sun/tools/javac/code/Type;
            0    5     2  from  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            0    5     3    to  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3    4     4    ex  Lcom/sun/tools/javac/code/Types$AdaptFailure;
      Exception table:
        from    to  target  type
           0     1       2  Class com.sun.tools.javac.code.Types$AdaptFailure
    Signature: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
      Name  Flags
      t     
      from  
      to    

  private com.sun.tools.javac.code.Type rewriteQuantifiers(com.sun.tools.javac.code.Type, boolean, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Type;ZZ)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // boolean high
        start local 3 // boolean rewriteTypeVars
         0: .line 4674
            new com.sun.tools.javac.code.Types$Rewriter
            dup
            aload 0 /* this */
            iload 2 /* high */
            iload 3 /* rewriteTypeVars */
            invokespecial com.sun.tools.javac.code.Types$Rewriter.<init>:(Lcom/sun/tools/javac/code/Types;ZZ)V
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Types$Rewriter.visit:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 3 // boolean rewriteTypeVars
        end local 2 // boolean high
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/sun/tools/javac/code/Types;
            0    1     1                t  Lcom/sun/tools/javac/code/Type;
            0    1     2             high  Z
            0    1     3  rewriteTypeVars  Z
    MethodParameters:
                 Name  Flags
      t                
      high             
      rewriteTypeVars  

  private com.sun.tools.javac.code.Type$WildcardType makeExtendsWildcard(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$TypeVar);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/code/Type$WildcardType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type bound
        start local 2 // com.sun.tools.javac.code.Type$TypeVar formal
         0: .line 4776
            aload 1 /* bound */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 6
         1: .line 4777
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
         2: .line 4778
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
         3: .line 4779
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         4: .line 4780
            aload 2 /* formal */
         5: .line 4777
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
            areturn
         6: .line 4782
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 1 /* bound */
         7: .line 4783
            getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
         8: .line 4784
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         9: .line 4785
            aload 2 /* formal */
        10: .line 4782
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
            areturn
        end local 2 // com.sun.tools.javac.code.Type$TypeVar formal
        end local 1 // com.sun.tools.javac.code.Type bound
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/javac/code/Types;
            0   11     1   bound  Lcom/sun/tools/javac/code/Type;
            0   11     2  formal  Lcom/sun/tools/javac/code/Type$TypeVar;
    MethodParameters:
        Name  Flags
      bound   
      formal  

  private com.sun.tools.javac.code.Type$WildcardType makeSuperWildcard(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type$TypeVar);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/code/Type$WildcardType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Type bound
        start local 2 // com.sun.tools.javac.code.Type$TypeVar formal
         0: .line 4798
            aload 1 /* bound */
            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
            ifeq 6
         1: .line 4799
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
         2: .line 4800
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
         3: .line 4801
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         4: .line 4802
            aload 2 /* formal */
         5: .line 4799
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
            areturn
         6: .line 4804
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 1 /* bound */
         7: .line 4805
            getstatic com.sun.tools.javac.code.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
         8: .line 4806
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.boundClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         9: .line 4807
            aload 2 /* formal */
        10: .line 4804
            invokespecial com.sun.tools.javac.code.Type$WildcardType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;)V
            areturn
        end local 2 // com.sun.tools.javac.code.Type$TypeVar formal
        end local 1 // com.sun.tools.javac.code.Type bound
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/javac/code/Types;
            0   11     1   bound  Lcom/sun/tools/javac/code/Type;
            0   11     2  formal  Lcom/sun/tools/javac/code/Type$TypeVar;
    MethodParameters:
        Name  Flags
      bound   
      formal  

  public com.sun.tools.javac.code.Attribute$RetentionPolicy getRetention(com.sun.tools.javac.code.Attribute$Compound);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Attribute$Compound a
         0: .line 4975
            aload 0 /* this */
            aload 1 /* a */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.getRetention:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            areturn
        end local 1 // com.sun.tools.javac.code.Attribute$Compound a
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
            0    1     1     a  Lcom/sun/tools/javac/code/Attribute$Compound;
    MethodParameters:
      Name  Flags
      a     

  public com.sun.tools.javac.code.Attribute$RetentionPolicy getRetention(com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol sym
         0: .line 4979
            getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.CLASS:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            astore 2 /* vis */
        start local 2 // com.sun.tools.javac.code.Attribute$RetentionPolicy vis
         1: .line 4980
            aload 1 /* sym */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.retentionType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.attribute:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Attribute$Compound;
            astore 3 /* c */
        start local 3 // com.sun.tools.javac.code.Attribute$Compound c
         2: .line 4981
            aload 3 /* c */
            ifnull 9
         3: .line 4982
            aload 3 /* c */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.value:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Attribute$Compound.member:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Attribute;
            astore 4 /* value */
        start local 4 // com.sun.tools.javac.code.Attribute value
         4: .line 4983
            aload 4 /* value */
            ifnull 9
            aload 4 /* value */
            instanceof com.sun.tools.javac.code.Attribute$Enum
            ifeq 9
         5: .line 4984
            aload 4 /* value */
            checkcast com.sun.tools.javac.code.Attribute$Enum
            getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
            astore 5 /* levelName */
        start local 5 // com.sun.tools.javac.util.Name levelName
         6: .line 4985
            aload 5 /* levelName */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.SOURCE:Lcom/sun/tools/javac/util/Name;
            if_acmpne 7
            getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.SOURCE:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            astore 2 /* vis */
            goto 9
         7: .line 4986
      StackMap locals: com.sun.tools.javac.code.Types com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Attribute$RetentionPolicy com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute com.sun.tools.javac.util.Name
      StackMap stack:
            aload 5 /* levelName */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.CLASS:Lcom/sun/tools/javac/util/Name;
            if_acmpne 8
            getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.CLASS:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            astore 2 /* vis */
            goto 9
         8: .line 4987
      StackMap locals:
      StackMap stack:
            aload 5 /* levelName */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.RUNTIME:Lcom/sun/tools/javac/util/Name;
            if_acmpne 9
            getstatic com.sun.tools.javac.code.Attribute$RetentionPolicy.RUNTIME:Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            astore 2 /* vis */
        end local 5 // com.sun.tools.javac.util.Name levelName
        end local 4 // com.sun.tools.javac.code.Attribute value
         9: .line 4991
      StackMap locals:
      StackMap stack:
            aload 2 /* vis */
            areturn
        end local 3 // com.sun.tools.javac.code.Attribute$Compound c
        end local 2 // com.sun.tools.javac.code.Attribute$RetentionPolicy vis
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol sym
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/tools/javac/code/Types;
            0   10     1        sym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            1   10     2        vis  Lcom/sun/tools/javac/code/Attribute$RetentionPolicy;
            2   10     3          c  Lcom/sun/tools/javac/code/Attribute$Compound;
            4    9     4      value  Lcom/sun/tools/javac/code/Attribute;
            6    9     5  levelName  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
      Name  Flags
      sym   

  public com.sun.tools.javac.code.Type constantType(com.sun.tools.javac.jvm.PoolConstant$LoadableConstant);
    descriptor: (Lcom/sun/tools/javac/jvm/PoolConstant$LoadableConstant;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Types this
        start local 1 // com.sun.tools.javac.jvm.PoolConstant$LoadableConstant c
         0: .line 5185
            aload 1 /* c */
            invokeinterface com.sun.tools.javac.jvm.PoolConstant$LoadableConstant.poolTag:()I
            tableswitch { // 3 - 17
                    3: 3
                    4: 4
                    5: 5
                    6: 6
                    7: 1
                    8: 2
                    9: 10
                   10: 10
                   11: 10
                   12: 10
                   13: 10
                   14: 10
                   15: 7
                   16: 8
                   17: 9
              default: 10
          }
         1: .line 5187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.classType:Lcom/sun/tools/javac/code/Type;
            areturn
         2: .line 5189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.stringType:Lcom/sun/tools/javac/code/Type;
            areturn
         3: .line 5191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.intType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            areturn
         4: .line 5193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.floatType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            areturn
         5: .line 5195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.longType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            areturn
         6: .line 5197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.doubleType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            areturn
         7: .line 5199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.methodHandleType:Lcom/sun/tools/javac/code/Type;
            areturn
         8: .line 5201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.methodTypeType:Lcom/sun/tools/javac/code/Type;
            areturn
         9: .line 5203
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            checkcast com.sun.tools.javac.code.Symbol$DynamicVarSymbol
            getfield com.sun.tools.javac.code.Symbol$DynamicVarSymbol.type:Lcom/sun/tools/javac/code/Type;
            areturn
        10: .line 5205
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a loadable constant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokeinterface com.sun.tools.javac.jvm.PoolConstant$LoadableConstant.poolTag:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // com.sun.tools.javac.jvm.PoolConstant$LoadableConstant c
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/tools/javac/code/Types;
            0   11     1     c  Lcom/sun/tools/javac/jvm/PoolConstant$LoadableConstant;
    MethodParameters:
      Name  Flags
      c     

  public void newRound();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Types this
         0: .line 5211
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.descCache:Lcom/sun/tools/javac/code/Types$DescriptorCache;
            getfield com.sun.tools.javac.code.Types$DescriptorCache._map:Ljava/util/WeakHashMap;
            invokevirtual java.util.WeakHashMap.clear:()V
         1: .line 5212
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 5213
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.implCache:Lcom/sun/tools/javac/code/Types$ImplementationCache;
            getfield com.sun.tools.javac.code.Types$ImplementationCache._map:Ljava/util/WeakHashMap;
            invokevirtual java.util.WeakHashMap.clear:()V
         3: .line 5214
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.membersCache:Lcom/sun/tools/javac/code/Types$MembersClosureCache;
            getfield com.sun.tools.javac.code.Types$MembersClosureCache._map:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 5215
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 5216
            return
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/Types;

  static int[] $SWITCH_TABLE$com$sun$tools$javac$code$BoundKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 88
            getstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.tools.javac.code.BoundKind.values:()[Lcom/sun/tools/javac/code/BoundKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
            iconst_1
            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.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.ordinal:()I
            iconst_2
            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.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
            invokevirtual com.sun.tools.javac.code.BoundKind.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.Types.$SWITCH_TABLE$com$sun$tools$javac$code$BoundKind:[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

  static int[] $SWITCH_TABLE$com$sun$tools$javac$code$TypeTag();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 88
            getstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.tools.javac.code.TypeTag.values:()[Lcom/sun/tools/javac/code/TypeTag;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 11
            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.TypeTag.BOOLEAN:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 8
            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.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 19
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.BYTE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.CHAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 10
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.DEFERRED:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 18
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.DOUBLE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 21
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.FLOAT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_5
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 17
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.INT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 6
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.LONG:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_4
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.METHOD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 12
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.MODULE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 14
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 20
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.PACKAGE:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 13
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.SHORT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            iconst_3
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 15
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 23
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_OBJECT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 25
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_THIS:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 24
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.UNKNOWN:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 22
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 9
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
            bipush 16
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            dup
            putstatic com.sun.tools.javac.code.Types.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[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
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError

  private static boolean lambda$0(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Type t1
        start local 1 // com.sun.tools.javac.code.Type t2
         0: .line 3716
            aload 0 /* t1 */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 1 /* t2 */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // com.sun.tools.javac.code.Type t2
        end local 0 // com.sun.tools.javac.code.Type t1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    t1  Lcom/sun/tools/javac/code/Type;
            0    3     1    t2  Lcom/sun/tools/javac/code/Type;

  private static boolean lambda$1(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type t
         0: .line 852
            aload 0 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Type t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Lcom/sun/tools/javac/code/Type;

  private static java.lang.String lambda$2(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 3040
            new java.lang.StringBuilder
            dup
            ldc "type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private com.sun.tools.javac.code.Types$ClosureHolder lambda$3(boolean, java.util.function.BiPredicate);
    descriptor: (ZLjava/util/function/BiPredicate;)Lcom/sun/tools/javac/code/Types$ClosureHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
         0: .line 3685
            new com.sun.tools.javac.code.Types$ClosureHolder
            dup
            aload 0 /* this */
            iload 1
            aload 2
            invokespecial com.sun.tools.javac.code.Types$ClosureHolder.<init>:(Lcom/sun/tools/javac/code/Types;ZLjava/util/function/BiPredicate;)V
            areturn
        end local 0 // com.sun.tools.javac.code.Types this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types;
}
SourceFile: "Types.java"
NestMembers:
  com.sun.tools.javac.code.Types$1  com.sun.tools.javac.code.Types$10  com.sun.tools.javac.code.Types$11  com.sun.tools.javac.code.Types$12  com.sun.tools.javac.code.Types$13  com.sun.tools.javac.code.Types$14  com.sun.tools.javac.code.Types$15  com.sun.tools.javac.code.Types$16  com.sun.tools.javac.code.Types$17  com.sun.tools.javac.code.Types$18  com.sun.tools.javac.code.Types$19  com.sun.tools.javac.code.Types$2  com.sun.tools.javac.code.Types$20  com.sun.tools.javac.code.Types$21  com.sun.tools.javac.code.Types$22  com.sun.tools.javac.code.Types$22$1  com.sun.tools.javac.code.Types$22$2  com.sun.tools.javac.code.Types$23  com.sun.tools.javac.code.Types$24  com.sun.tools.javac.code.Types$3  com.sun.tools.javac.code.Types$4  com.sun.tools.javac.code.Types$5  com.sun.tools.javac.code.Types$6  com.sun.tools.javac.code.Types$7  com.sun.tools.javac.code.Types$8  com.sun.tools.javac.code.Types$9  com.sun.tools.javac.code.Types$AdaptFailure  com.sun.tools.javac.code.Types$Adapter  com.sun.tools.javac.code.Types$CandidatesCache  com.sun.tools.javac.code.Types$CandidatesCache$Entry  com.sun.tools.javac.code.Types$CaptureScanner  com.sun.tools.javac.code.Types$ClosureHolder  com.sun.tools.javac.code.Types$DefaultSymbolVisitor  com.sun.tools.javac.code.Types$DefaultTypeVisitor  com.sun.tools.javac.code.Types$DescriptorCache  com.sun.tools.javac.code.Types$DescriptorCache$1  com.sun.tools.javac.code.Types$DescriptorCache$1  com.sun.tools.javac.code.Types$DescriptorCache$Entry  com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor  com.sun.tools.javac.code.Types$DescriptorFilter  com.sun.tools.javac.code.Types$FunctionDescriptorLookupError  com.sun.tools.javac.code.Types$HasSameArgs  com.sun.tools.javac.code.Types$HashCodeVisitor  com.sun.tools.javac.code.Types$ImplementationCache  com.sun.tools.javac.code.Types$ImplementationCache$Entry  com.sun.tools.javac.code.Types$MapVisitor  com.sun.tools.javac.code.Types$MembersClosureCache  com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope  com.sun.tools.javac.code.Types$MethodFilter  com.sun.tools.javac.code.Types$MostSpecificReturnCheck  com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1  com.sun.tools.javac.code.Types$MostSpecificReturnCheck$2  com.sun.tools.javac.code.Types$ProjectionKind  com.sun.tools.javac.code.Types$ProjectionKind$1  com.sun.tools.javac.code.Types$ProjectionKind$2  com.sun.tools.javac.code.Types$Rewriter  com.sun.tools.javac.code.Types$SignatureGenerator  com.sun.tools.javac.code.Types$SignatureGenerator$InvalidSignatureException  com.sun.tools.javac.code.Types$SimpleVisitor  com.sun.tools.javac.code.Types$Subst  com.sun.tools.javac.code.Types$Subst$1  com.sun.tools.javac.code.Types$Subst$2  com.sun.tools.javac.code.Types$TypeMapping  com.sun.tools.javac.code.Types$TypePair  com.sun.tools.javac.code.Types$TypeProjection  com.sun.tools.javac.code.Types$TypeProjection$1  com.sun.tools.javac.code.Types$TypeProjection$2  com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection  com.sun.tools.javac.code.Types$TypeProjection$TypeArgumentProjection$1  com.sun.tools.javac.code.Types$TypeRelation  com.sun.tools.javac.code.Types$UnaryVisitor  com.sun.tools.javac.code.Types$UniqueType
InnerClasses:
  public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
  public Enum = com.sun.tools.javac.code.Attribute$Enum of com.sun.tools.javac.code.Attribute
  public final RetentionPolicy = com.sun.tools.javac.code.Attribute$RetentionPolicy of com.sun.tools.javac.code.Attribute
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
  public CompoundScope = com.sun.tools.javac.code.Scope$CompoundScope of com.sun.tools.javac.code.Scope
  public final LookupKind = com.sun.tools.javac.code.Scope$LookupKind of com.sun.tools.javac.code.Scope
  public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public DynamicVarSymbol = com.sun.tools.javac.code.Symbol$DynamicVarSymbol of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
  public CapturedType = com.sun.tools.javac.code.Type$CapturedType of com.sun.tools.javac.code.Type
  public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
  public ErrorType = com.sun.tools.javac.code.Type$ErrorType of com.sun.tools.javac.code.Type
  public ForAll = com.sun.tools.javac.code.Type$ForAll of com.sun.tools.javac.code.Type
  public IntersectionClassType = com.sun.tools.javac.code.Type$IntersectionClassType 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
  public abstract InferenceBound = com.sun.tools.javac.code.Type$UndetVar$InferenceBound 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 WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type
  com.sun.tools.javac.code.Types$1
  com.sun.tools.javac.code.Types$10
  com.sun.tools.javac.code.Types$11
  com.sun.tools.javac.code.Types$12
  com.sun.tools.javac.code.Types$13
  com.sun.tools.javac.code.Types$14
  com.sun.tools.javac.code.Types$15
  com.sun.tools.javac.code.Types$16
  com.sun.tools.javac.code.Types$17
  com.sun.tools.javac.code.Types$18
  com.sun.tools.javac.code.Types$19
  com.sun.tools.javac.code.Types$2
  com.sun.tools.javac.code.Types$20
  com.sun.tools.javac.code.Types$21
  com.sun.tools.javac.code.Types$22
  com.sun.tools.javac.code.Types$23
  com.sun.tools.javac.code.Types$24
  com.sun.tools.javac.code.Types$3
  com.sun.tools.javac.code.Types$4
  com.sun.tools.javac.code.Types$5
  com.sun.tools.javac.code.Types$6
  com.sun.tools.javac.code.Types$7
  com.sun.tools.javac.code.Types$8
  com.sun.tools.javac.code.Types$9
  public AdaptFailure = com.sun.tools.javac.code.Types$AdaptFailure of com.sun.tools.javac.code.Types
  Adapter = com.sun.tools.javac.code.Types$Adapter of com.sun.tools.javac.code.Types
  public CandidatesCache = com.sun.tools.javac.code.Types$CandidatesCache of com.sun.tools.javac.code.Types
  Entry = com.sun.tools.javac.code.Types$CandidatesCache$Entry of com.sun.tools.javac.code.Types$CandidatesCache
  CaptureScanner = com.sun.tools.javac.code.Types$CaptureScanner of com.sun.tools.javac.code.Types
  ClosureHolder = com.sun.tools.javac.code.Types$ClosureHolder of com.sun.tools.javac.code.Types
  public abstract DefaultSymbolVisitor = com.sun.tools.javac.code.Types$DefaultSymbolVisitor of com.sun.tools.javac.code.Types
  public abstract DefaultTypeVisitor = com.sun.tools.javac.code.Types$DefaultTypeVisitor of com.sun.tools.javac.code.Types
  DescriptorCache = com.sun.tools.javac.code.Types$DescriptorCache of com.sun.tools.javac.code.Types
  FunctionDescriptor = com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor of com.sun.tools.javac.code.Types$DescriptorCache
  DescriptorFilter = com.sun.tools.javac.code.Types$DescriptorFilter of com.sun.tools.javac.code.Types
  public FunctionDescriptorLookupError = com.sun.tools.javac.code.Types$FunctionDescriptorLookupError of com.sun.tools.javac.code.Types
  private HasSameArgs = com.sun.tools.javac.code.Types$HasSameArgs of com.sun.tools.javac.code.Types
  private HashCodeVisitor = com.sun.tools.javac.code.Types$HashCodeVisitor of com.sun.tools.javac.code.Types
  ImplementationCache = com.sun.tools.javac.code.Types$ImplementationCache of com.sun.tools.javac.code.Types
  public MapVisitor = com.sun.tools.javac.code.Types$MapVisitor of com.sun.tools.javac.code.Types
  MembersClosureCache = com.sun.tools.javac.code.Types$MembersClosureCache of com.sun.tools.javac.code.Types
  MembersScope = com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope of com.sun.tools.javac.code.Types$MembersClosureCache
  private MethodFilter = com.sun.tools.javac.code.Types$MethodFilter of com.sun.tools.javac.code.Types
  public abstract MostSpecificReturnCheck = com.sun.tools.javac.code.Types$MostSpecificReturnCheck of com.sun.tools.javac.code.Types
  abstract ProjectionKind = com.sun.tools.javac.code.Types$ProjectionKind of com.sun.tools.javac.code.Types
  Rewriter = com.sun.tools.javac.code.Types$Rewriter of com.sun.tools.javac.code.Types
  public abstract SignatureGenerator = com.sun.tools.javac.code.Types$SignatureGenerator of com.sun.tools.javac.code.Types
  public abstract SimpleVisitor = com.sun.tools.javac.code.Types$SimpleVisitor of com.sun.tools.javac.code.Types
  private Subst = com.sun.tools.javac.code.Types$Subst of com.sun.tools.javac.code.Types
  public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
  TypePair = com.sun.tools.javac.code.Types$TypePair of com.sun.tools.javac.code.Types
  TypeProjection = com.sun.tools.javac.code.Types$TypeProjection of com.sun.tools.javac.code.Types
  public abstract TypeRelation = com.sun.tools.javac.code.Types$TypeRelation of com.sun.tools.javac.code.Types
  public abstract UnaryVisitor = com.sun.tools.javac.code.Types$UnaryVisitor of com.sun.tools.javac.code.Types
  public UniqueType = com.sun.tools.javac.code.Types$UniqueType of com.sun.tools.javac.code.Types
  public abstract LoadableConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant of com.sun.tools.javac.jvm.PoolConstant
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Characteristics = java.util.stream.Collector$Characteristics of java.util.stream.Collector
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject