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 3493
            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 4177
            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 4178
            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 4183
            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 1697
            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 1906
            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 1977
            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 2020
            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 2089
            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 2155
            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 2284
            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 2396
            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 2513
            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 2583
            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 2641
            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 2664
            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 2751
            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 2997
            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 3085
            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 3183
            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 3298
            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 3299
            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 3505
            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 3521
            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 3537
            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 3703
            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 3765
            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 3855
            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 4079
            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 1638
            aload 1 /* t */
            aload 2 /* s */
            if_acmpne 2
         1: .line 1639
            iconst_1
            ireturn
         2: .line 1641
      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 1642
            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 1643
            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 1644
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 7
         6: .line 1645
            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 1643
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
         9: .line 1648
      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 19
        10: .line 1650
            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 1651
            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 1652
            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 4 /* result */
        start local 4 // boolean result
        13: .line 1653
            goto 17
        end local 4 // boolean result
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 5
        15: .line 1654
            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;
        16: .line 1655
            aload 5
            athrow
        start local 4 // boolean result
        17: .line 1654
      StackMap locals: int
      StackMap stack:
            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;
        18: .line 1656
            goto 20
        end local 4 // boolean result
        19: .line 1657
      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
            istore 4 /* result */
        start local 4 // boolean result
        20: .line 1659
      StackMap locals: int
      StackMap stack:
            iload 4 /* result */
            ifeq 28
            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
            ifeq 28
            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.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$KindSelector.TYP:Lcom/sun/tools/javac/code/Kinds$KindSelector;
            invokevirtual com.sun.tools.javac.code.Kinds$Kind.matches:(Lcom/sun/tools/javac/code/Kinds$KindSelector;)Z
            ifeq 28
        21: .line 1660
            aload 2 /* s */
            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 28
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$KindSelector.TYP:Lcom/sun/tools/javac/code/Kinds$KindSelector;
            invokevirtual com.sun.tools.javac.code.Kinds$Kind.matches:(Lcom/sun/tools/javac/code/Kinds$KindSelector;)Z
            ifeq 28
        22: .line 1661
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSealed:()Z
            ifne 23
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSealed:()Z
            ifeq 28
        23: .line 1662
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 24
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifeq 25
        24: .line 1663
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 27
        25: .line 1664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* 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 */
            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.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            ifeq 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_1
        27: .line 1662
      StackMap locals:
      StackMap stack: int
            ireturn
        28: .line 1666
      StackMap locals:
      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   29     0    this  Lcom/sun/tools/javac/code/Types;
            0   29     1       t  Lcom/sun/tools/javac/code/Type;
            0   29     2       s  Lcom/sun/tools/javac/code/Type;
            0   29     3    warn  Lcom/sun/tools/javac/util/Warner;
           13   14     4  result  Z
           17   19     4  result  Z
           20   29     4  result  Z
      Exception table:
        from    to  target  type
          10    14      14  any
    MethodParameters:
      Name  Flags
      t     
      s     
      warn  

  private boolean areDisjoint(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;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, 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 ts
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol ss
         0: .line 1670
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type: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;
            aload 0 /* this */
            aload 2 /* ss */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type: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;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 2
         1: .line 1671
            iconst_0
            ireturn
         2: .line 1674
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            if_icmpne 4
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* ss */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type: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;
            aload 0 /* this */
            aload 1 /* ts */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type: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;
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 4
         3: .line 1675
            iconst_0
            ireturn
         4: .line 1677
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            ifeq 6
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            ifne 6
         5: .line 1681
            aload 0 /* this */
            aload 2 /* ss */
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Types.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            ireturn
         6: .line 1684
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            ifne 8
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isFinal:()Z
            ifeq 8
         7: .line 1685
            iconst_1
            ireturn
         8: .line 1688
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
            ifne 9
            aload 2 /* ss */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
            ifeq 16
         9: .line 1690
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isSealed:()Z
            ifeq 10
            aload 1 /* ts */
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2 /* ss */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
        11: astore 3 /* sealedOne */
        start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol sealedOne
        12: .line 1691
            aload 3 /* sealedOne */
            aload 1 /* ts */
            if_acmpne 13
            aload 2 /* ss */
            goto 14
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
        13: aload 1 /* ts */
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Symbol$ClassSymbol
        14: astore 4 /* other */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol other
        15: .line 1692
            aload 3 /* sealedOne */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.permitted:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            aload 4 /* other */
            invokedynamic test(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)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$2(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol;)Z (7)
                  (Lcom/sun/tools/javac/code/Symbol;)Z
            invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
            ireturn
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol other
        end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol sealedOne
        16: .line 1694
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol ss
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol ts
        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         ts  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   17     2         ss  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
           12   16     3  sealedOne  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
           15   16     4      other  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
      Name  Flags
      ts    
      ss    

  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 1885
            goto 4
         1: .line 1886
      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 1887
      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 1888
            aload 2 /* ss */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* ss */
         4: .line 1885
      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 1890
      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 1903
            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 1975
            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 1995
            aload 1 /* t */
            aload 2 /* s */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1996
      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 1997
            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 1998
            aload 0 /* this */
            aload 3 /* tv */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
         4: .line 1999
            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 2000
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
         6: .line 1998
            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 2000
            ifeq 9
         8: .line 1998
            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 2002
      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 2003
            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 2005
      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 2009
            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 2010
            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 2011
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
         3: .line 2009
      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 2017
            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 2056
            goto 2
         1: .line 2057
      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 2056
      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 2058
            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 2065
            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 2067
      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 2069
      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 2071
      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 2073
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
         5: .line 2075
      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 2080
            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 2081
            aload 2 /* elemtype */
            ifnull 3
         2: .line 2082
            aload 2 /* elemtype */
            goto 4
         3: .line 2083
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* t */
         4: .line 2081
      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 2105
            iconst_0
            istore 2 /* result */
        start local 2 // int result
         1: .line 2106
            goto 4
         2: .line 2107
      StackMap locals: int
      StackMap stack:
            iinc 2 /* result */ 1
         3: .line 2108
            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 2106
      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 2110
            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 2120
            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 2121
      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 2123
      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 2149
            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 2150
            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 2152
      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 2221
            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 2224
      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 2225
            aload 3 /* s */
            ifnull 3
            aload 3 /* s */
            areturn
         3: .line 2226
      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 2227
            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 2228
            aconst_null
            areturn
         6: .line 2230
      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 2232
      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 2234
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        11: .line 2236
      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 2248
            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 2251
      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 2252
            aload 3 /* s */
            ifnull 3
            aload 3 /* s */
            areturn
         3: .line 2253
      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 2254
            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 2255
      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 2256
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
         7: .line 2254
      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 2257
            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 2258
            aconst_null
            areturn
        10: .line 2260
      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 2262
      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 2264
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        15: .line 2266
      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 2279
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 8
            land
            lconst_0
            lcmp
            ifeq 2
         1: .line 2280
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            goto 3
         2: .line 2281
      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 2279
      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 2335
            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 2345
            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 2346
            iconst_1
            ireturn
         2: .line 2347
      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 2348
            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 2349
            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 2354
      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 2355
            iconst_1
            ireturn
         7: .line 2358
      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 2362
      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 2367
      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 2377
            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 2384
            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 2388
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 2
         1: .line 2389
            aload 1 /* t */
            areturn
         2: .line 2391
      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 2392
            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 2452
            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 2456
            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 2460
            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 2473
            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 2486
            aload 1 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         1: .line 2487
            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 2488
            iload 2 /* allInterfaces */
            ifeq 4
         3: .line 2489
            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 2492
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            new com.sun.tools.javac.code.Symbol$ClassSymbol
            dup
            ldc 1090524161
         5: .line 2493
            getstatic com.sun.tools.javac.code.Type.moreInfo:Z
            ifeq 7
         6: .line 2494
            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 2495
      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 2496
      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 2497
            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 2492
            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 2491
            astore 4 /* bc */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol bc
        12: .line 2498
            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 2499
            aload 4 /* bc */
            aload 5 /* intersectionType */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
        14: .line 2500
            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 2501
            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 2502
      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 2500
      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 2503
            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 2504
            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 2510
            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 2580
            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 2638
            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 2656
            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 2657
            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 2656
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 2659
            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 2667
            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 2668
            aload 2 /* result */
            ifnonnull 4
         2: .line 2669
            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 2670
            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 2672
      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 2676
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 2
         1: .line 2677
            iconst_0
            ireturn
         2: .line 2679
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifne 6
         3: .line 2680
            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 2681
      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 2678
            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 2685
            aload 1 /* ts */
            astore 2 /* l */
        start local 2 // com.sun.tools.javac.util.List l
         1: .line 2686
            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 2687
      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 2703
            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 2704
            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 2716
            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 2717
            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 2718
      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 2716
      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 2719
            aload 1 /* t */
            iconst_m1
            putfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
         5: .line 2720
            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 2728
            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 2729
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         2: .line 2730
      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 2731
      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 2732
      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 2733
            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 2737
      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 2748
            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 2792
            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 2796
            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 2813
            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 2814
            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 2813
            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 2818
            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 2819
            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 2820
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.code.Symbol sym
         4: .line 2818
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 2823
            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 2872
            iconst_0
            istore 4 /* shouldErase */
        start local 4 // boolean shouldErase
         1: .line 2873
            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 2874
            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 2875
            aload 6 /* s */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 1024
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 2876
            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 2877
      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 2878
      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 2879
            iconst_1
            istore 4 /* shouldErase */
        end local 6 // com.sun.tools.javac.code.Symbol s
         9: .line 2874
      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 2883
            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 2884
            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 2885
            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 2886
            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 2887
            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 2888
            aload 10 /* s */
            aload 14 /* s2 */
            if_acmpeq 31
        19: .line 2889
            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 2890
            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 2891
            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 2893
            goto 41
        23: .line 2895
      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 2896
            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 2897
            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 2898
            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 2901
            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 2903
            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 2905
      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 2887
      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 2909
            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 2910
            aload 10 /* s */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 40
        34: .line 2911
      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 2912
            aload 10 /* s */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
        36: .line 2913
            aload 10 /* s */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
        37: .line 2914
            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 2915
            aload 10 /* s */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
        39: .line 2911
            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 2909
      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 2884
      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 2883
            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 2923
            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 3000
            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 3088
            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 3089
            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$3(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 3090
            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 3099
            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 3100
      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 3101
            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 3102
            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 3107
            aconst_null
            astore 3 /* undef */
        start local 3 // com.sun.tools.javac.code.Symbol$MethodSymbol undef
         1: .line 3110
            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 3111
      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 3112
            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 3113
            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 3114
            aload 5 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 8796093023234
            land
            ldc 1024
            lcmp
            ifne 17
         7: .line 3115
            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 3116
            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 3117
            aload 8 /* implmeth */
            ifnull 10
            aload 8 /* implmeth */
            aload 7 /* absmeth */
            if_acmpne 14
        10: .line 3119
      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 3120
            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 3121
            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 3122
            aload 9 /* prov */
            astore 8 /* implmeth */
        end local 9 // com.sun.tools.javac.code.Symbol$MethodSymbol prov
        14: .line 3126
      StackMap locals:
      StackMap stack:
            aload 8 /* implmeth */
            ifnull 15
            aload 8 /* implmeth */
            aload 7 /* absmeth */
            if_acmpne 17
        15: .line 3127
      StackMap locals:
      StackMap stack:
            aload 7 /* absmeth */
            astore 3 /* undef */
        16: .line 3128
            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 3112
      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 3132
      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 3133
            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 3134
            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 3135
            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 3137
      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 3138
            goto 26
        24: .line 3140
      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 3139
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        26: .line 3138
      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 3143
      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 3187
            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 3188
            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 3189
            aload 4 /* candidates */
            ifnonnull 14
         3: .line 3190
            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 3191
            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 3192
            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 3193
            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 3194
            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 3195
      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 3196
            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 3192
      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 3199
            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 3200
            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 3202
      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 3206
            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 3207
            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 3208
            iconst_1
            istore 5 /* isMin_m1 */
        start local 5 // boolean isMin_m1
         4: .line 3209
            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 3210
            aload 3 /* m1 */
            aload 6 /* m2 */
            if_acmpne 7
            goto 11
         7: .line 3211
      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 3212
            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 3213
            iconst_0
            istore 5 /* isMin_m1 */
        10: .line 3214
            goto 12
        end local 6 // com.sun.tools.javac.code.Symbol$MethodSymbol m2
        11: .line 3209
      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 3217
      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 3218
            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 3207
      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 3220
            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 3253
            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 3257
            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 3261
            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 3307
            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 3317
            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 3408
            aload 1 /* tvars */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3409
            aload 1 /* tvars */
            areturn
         2: .line 3410
      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 3411
            iconst_0
            istore 5 /* changed */
        start local 5 // boolean changed
         4: .line 3413
            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 3414
            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 3415
            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 3416
            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 3417
            iconst_1
            istore 5 /* changed */
        10: .line 3418
      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 3413
      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 3420
            iload 5 /* changed */
            ifne 14
        13: .line 3421
            aload 1 /* tvars */
            areturn
        14: .line 3422
      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 3424
            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 3425
            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 3426
            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 3425
            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 3424
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        21: .line 3430
            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 3431
            aload 1 /* tvars */
            astore 2 /* from */
        23: .line 3432
            aload 6 /* newTvars */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 3 /* to */
        24: .line 3433
            goto 27
        25: .line 3434
      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 3433
            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 3436
            aload 4 /* newBoundsBuf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 7 /* newBounds */
        29: .line 3438
            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 3439
            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 3440
            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 3441
            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 3438
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        35: .line 3443
            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 3447
            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 3448
            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 3449
            aload 1 /* t */
            areturn
         3: .line 3452
      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 3453
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
         5: .line 3452
            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 3456
            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 3457
            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 3467
            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 3468
            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 3469
            goto 5
         3: .line 3474
      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 3475
            aload 4 /* l2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l2 */
         5: .line 3469
      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 3470
            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 3471
            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 3472
            aload 2 /* s */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
         9: .line 3473
            aload 1 /* t */
            getfield com.sun.tools.javac.code.Type$ForAll.tvars:Lcom/sun/tools/javac/util/List;
        10: .line 3471
            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 3470
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
        12: .line 3473
            ifne 3
        13: .line 3477
      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 3486
            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 3487
            aload 2 /* tvars1 */
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
         2: goto 6
         3: .line 3488
      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 3489
            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 3487
            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 3491
            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 3502
            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 3518
            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 3534
            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 3561
            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 3565
            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 3569
            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 3580
            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 3582
      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 3583
            aload 2 /* cls */
            getfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
            ifge 14
         3: .line 3584
            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 3585
            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 3586
            aload 2 /* cls */
            iconst_0
            putfield com.sun.tools.javac.code.Type$ClassType.rank_field:I
            goto 14
         6: .line 3588
      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 3589
            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 3590
            goto 12
         9: .line 3592
      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 3593
            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 3591
      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 3590
      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 3595
            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 3598
      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 3601
      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 3602
            aload 2 /* tvar */
            getfield com.sun.tools.javac.code.Type$TypeVar.rank_field:I
            ifge 24
        17: .line 3603
            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 3604
            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 3605
            goto 22
        20: .line 3607
      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 3606
      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 3605
      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 3609
            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 3611
      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 3615
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        26: .line 3617
      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 3627
            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 3635
            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 3647
            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 3648
            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 3649
            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 3651
      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 3655
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* s */
        start local 2 // java.lang.StringBuilder s
         1: .line 3656
            aload 2 /* s */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 3657
            iconst_1
            istore 3 /* first */
        start local 3 // boolean first
         3: .line 3658
            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 3659
            iload 3 /* first */
            ifne 6
            aload 2 /* s */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 3660
      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 3661
            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 3658
      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 3663
            aload 2 /* s */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 3664
            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 3667
            aload 2 /* buf */
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         1: .line 3668
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            ifnull 3
         2: .line 3669
            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 3670
      StackMap locals:
      StackMap stack:
            return
         4: .line 3671
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            ldc " extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 3672
            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 3673
            aload 3 /* bound */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 9
         7: .line 3674
            aload 2 /* buf */
            aload 3 /* bound */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         8: .line 3675
            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 3676
            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 3677
            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 3678
            aload 2 /* buf */
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 3679
            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 3677
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 3681
            goto 24
        17: .line 3684
      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 3685
            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 3686
            iload 4 /* first */
            ifne 21
            aload 2 /* buf */
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 3687
      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 3688
            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 3685
      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 3691
      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 3709
            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 3710
            aload 2 /* cl */
            ifnonnull 19
         2: .line 3711
            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 3712
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifne 12
         4: .line 3713
            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 3714
            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 3715
            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 3716
            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 3717
            goto 13
        10: .line 3718
      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 3720
            goto 13
        12: .line 3721
      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 3723
      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 3724
      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 3723
            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 3725
            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 3727
      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 3734
            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$4(ZLjava/util/function/BiPredicate;)Lcom/sun/tools/javac/code/Types$ClosureHolder; (7)
                  ()Lcom/sun/tools/javac/code/Types$ClosureHolder;
         1: .line 3735
            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 3736
            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 3737
            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 3734
            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 3771
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3772
            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 3773
      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 3774
            aload 1 /* cl */
            areturn
         4: .line 3775
      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 3776
            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 3779
      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 3784
            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 3791
            aload 1 /* cl1 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 2
         1: .line 3792
            aload 2 /* cl2 */
            areturn
         2: .line 3793
      StackMap locals:
      StackMap stack:
            aload 2 /* cl2 */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 3794
            aload 1 /* cl1 */
            areturn
         4: .line 3795
      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 3796
            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 3797
      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 3798
            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 3800
      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 3805
            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 3812
            aload 1 /* cl1 */
            aload 2 /* cl2 */
            if_acmpne 2
         1: .line 3813
            aload 1 /* cl1 */
            areturn
         2: .line 3814
      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 3815
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         4: .line 3816
      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 3817
            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 3818
      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 3819
            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 3820
      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 3821
            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 3822
      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 3823
            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 3824
            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 3825
            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 3826
            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 3828
      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 3829
      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 3831
      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 3857
            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 3858
            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 3859
            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 3860
            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 3861
            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 3862
            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 3864
            goto 31
         7: .line 3865
      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 3866
            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 3867
            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 3868
            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 3869
            goto 28
        13: .line 3870
      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 3872
            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 3873
            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 3874
            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 3873
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
        18: .line 3875
            getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
        19: .line 3876
            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 3873
            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 3877
            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 3878
            goto 27
        end local 10 // com.sun.tools.javac.code.Type m
        23: .line 3879
      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 3880
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
        25: .line 3881
            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 3879
            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 3883
      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 3885
      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 3886
            aload 6 /* act2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* act2 */
        30: .line 3887
            aload 8 /* typarams */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* typarams */
        31: .line 3864
      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 3889
      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 3892
            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 3893
            aload 3 /* class1 */
            getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
        37: .line 3892
            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 3901
            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 3902
      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 3903
            aload 2 /* compound */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 3904
            aconst_null
            areturn
         4: .line 3905
      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 3906
            aload 2 /* compound */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
         6: .line 3908
      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 3916
            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 3917
            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 3918
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* toSkip */
        start local 4 // java.util.Set toSkip
         3: .line 3919
            goto 25
         4: .line 3920
      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 3921
            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 3922
            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 3924
            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 3925
            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 3926
            iconst_0
            istore 6 /* keep */
        13: .line 3927
            goto 15
        end local 7 // com.sun.tools.javac.code.Type t
        14: .line 3924
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 3931
      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 3932
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
            ifeq 18
        17: .line 3933
            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 3935
      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 3936
      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 3938
            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 3939
            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 3936
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        24: .line 3942
      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 3919
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
        26: .line 3944
            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 3952
            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 3964
            aload 1 /* ts */
            arraylength
            newarray 10
            astore 2 /* kinds */
        start local 2 // int[] kinds
         1: .line 3966
            iconst_0
            istore 3 /* boundkind */
        start local 3 // int boundkind
         2: .line 3967
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 21
         4: .line 3968
      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 3969
            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 3971
      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 3972
            goto 20
         8: .line 3974
      StackMap locals:
      StackMap stack:
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_1
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
         9: .line 3975
            goto 20
        10: .line 3978
      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 3979
            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 3980
            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 3981
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_1
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
        14: .line 3982
            goto 20
        15: .line 3983
      StackMap locals:
      StackMap stack:
            iload 3 /* boundkind */
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_2
            dup_x2
            iastore
            ior
            istore 3 /* boundkind */
        16: .line 3985
            goto 20
        17: .line 3987
      StackMap locals:
      StackMap stack:
            aload 2 /* kinds */
            iload 4 /* i */
            iconst_0
            iastore
        18: .line 3988
            aload 5 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 20
        19: .line 3989
            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 3967
      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 3992
            iload 3 /* boundkind */
            tableswitch { // 0 - 2
                    0: 23
                    1: 24
                    2: 40
              default: 76
          }
        23: .line 3994
      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 3998
      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 3999
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        26: goto 38
        27: .line 4000
      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 4001
            aload 6 /* elem */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 37
        29: .line 4005
            aload 1 /* ts */
            iconst_0
            aaload
            astore 7 /* first */
        start local 7 // com.sun.tools.javac.code.Type first
        30: .line 4006
            iconst_1
            istore 8 /* j */
        start local 8 // int j
        31: goto 35
        32: .line 4007
      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 4009
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Types.arraySuperType:()Lcom/sun/tools/javac/code/Type;
            areturn
        34: .line 4006
      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 4014
            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 3999
      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 4018
            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 4022
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIdx */
        start local 5 // int startIdx
        41: .line 4023
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        42: goto 48
        43: .line 4024
      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 4025
            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 4026
            goto 49
        46: .line 4028
      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 4023
            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 4031
      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 4033
            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 4034
            iload 5 /* startIdx */
            iconst_1
            iadd
            istore 7 /* i */
        start local 7 // int i
        54: goto 59
        55: .line 4035
      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 4036
            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 4037
      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 4034
      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 4040
            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 4042
            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 4043
            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 4044
            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 4045
            iload 5 /* startIdx */
            iconst_1
            iadd
            istore 12 /* i */
        start local 12 // int i
        66: goto 72
        67: .line 4046
      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 4047
            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 4045
            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 4049
            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 4043
      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 4053
            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 4057
      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 4058
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        78: goto 82
        79: .line 4059
      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 4060
            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 4058
      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 4063
            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 4068
            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 4069
            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 4070
            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 4071
            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 4072
            goto 7
         6: .line 4073
      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 4069
      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 4076
            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 4082
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
            ifnonnull 12
         1: .line 4083
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 4084
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.arraySuperType:Lcom/sun/tools/javac/code/Type;
            ifnonnull 8
         3: .line 4086
            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 4087
            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 4086
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
         6: .line 4087
            iconst_1
         7: .line 4086
            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 4083
      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 4091
      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 4097
            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 4098
            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 4099
            aload 2 /* t1 */
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 5
         4: .line 4100
            aload 2 /* t1 */
            areturn
         5: .line 4101
      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 4098
      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 4103
            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 4107
            aload 2 /* s */
            ifnonnull 2
         1: .line 4108
            aload 1 /* t */
            areturn
         2: .line 4109
      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 4110
      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 4111
      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 4112
            aload 1 /* t */
            areturn
         6: .line 4113
      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 4114
            aload 2 /* s */
            areturn
         8: .line 4116
      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 4117
            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 4129
            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 4131
            aload 3 /* bounds */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 3
         2: .line 4132
            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 4133
      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 4134
            aload 3 /* bounds */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            areturn
         5: .line 4136
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* classCount */
        start local 4 // int classCount
         6: .line 4137
            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 4138
            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 4139
            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 4140
            aload 7 /* bound */
            invokevirtual com.sun.tools.javac.code.Type.isInterface:()Z
            ifne 16
        11: .line 4141
            iinc 4 /* classCount */ 1
        12: .line 4142
            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 4143
            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 4144
            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 4145
            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 4139
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 4149
            iload 4 /* classCount */
            iconst_1
            if_icmple 22
        18: .line 4150
            aload 6 /* lowers */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 20
        19: .line 4151
            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 4154
      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 4155
            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 4159
      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 4168
            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 4172
            iload 2 /* strict */
            ifeq 2
         1: .line 4173
            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 4174
      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 4172
      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 4254
            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 4255
            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 4256
            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 4257
            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 4258
            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 4266
            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 4267
            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 4269
      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 4270
            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 4271
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
         5: .line 4269
            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 4277
            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 4278
            iconst_1
            ireturn
         2: .line 4279
      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 4280
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 4282
      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 4283
            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 4284
      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 4285
            iconst_1
            ireturn
         8: .line 4286
      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 4287
            iconst_0
            ireturn
        10: .line 4288
      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 4289
            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 4298
            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 4299
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 4
         2: .line 4300
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 4
         3: .line 4301
            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 4297
      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 4310
            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 4317
            aload 1 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 2
         1: .line 4318
            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 4319
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
         3: .line 4317
      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 4326
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 4327
      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 4328
            aload 3 /* box */
            ifnull 6
         4: .line 4329
            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 4330
            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 4326
      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 4332
            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 4339
            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 4340
            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 4383
            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 4384
            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 4385
            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 4384
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 4387
            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 4391
            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 4392
            aload 1 /* t */
            areturn
         2: .line 4394
      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 4395
            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 4396
            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 4397
            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 4398
            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 4401
      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 4402
            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 4403
      StackMap locals: com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
            aload 2 /* cls */
            areturn
        10: .line 4405
      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 4406
            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 4407
            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 4408
            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 4410
            aload 4 /* A */
            astore 7 /* currentA */
        start local 7 // com.sun.tools.javac.util.List currentA
        15: .line 4411
            aload 5 /* T */
            astore 8 /* currentT */
        start local 8 // com.sun.tools.javac.util.List currentT
        16: .line 4412
            aload 6 /* S */
            astore 9 /* currentS */
        start local 9 // com.sun.tools.javac.util.List currentS
        17: .line 4413
            iconst_0
            istore 10 /* captured */
        start local 10 // boolean captured
        18: .line 4414
            goto 48
        19: .line 4417
      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 4418
            iconst_1
            istore 10 /* captured */
        21: .line 4419
            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 4420
            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 4421
            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 4422
            aload 12 /* Ui */
            ifnonnull 26
        25: .line 4423
            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 4424
      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 4426
      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 4427
            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 4428
            goto 35
        30: .line 4430
      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 4431
            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 4432
            goto 35
        33: .line 4434
      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 4435
            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 4438
      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 4439
            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 4440
            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 4441
            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 4442
            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 4443
            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 4446
      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 4447
            aload 8 /* currentT */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* currentT */
        47: .line 4448
            aload 9 /* currentS */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 9 /* currentS */
        48: .line 4414
      StackMap locals:
      StackMap stack:
            aload 7 /* currentA */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 51
        49: .line 4415
            aload 8 /* currentT */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 51
        50: .line 4416
            aload 9 /* currentS */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 19
        51: .line 4450
      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 4451
      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 4453
      StackMap locals:
      StackMap stack:
            iload 10 /* captured */
            ifeq 57
        54: .line 4454
            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 4455
            aload 2 /* cls */
            invokevirtual com.sun.tools.javac.code.Type$ClassType.getMetadata:()Lcom/sun/tools/javac/code/TypeMetadata;
        56: .line 4454
            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 4457
      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 4461
            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 4462
            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 4463
            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 4464
            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 4465
            aload 5 /* bound */
            ifnonnull 7
         6: .line 4466
            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 4467
      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 4468
            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 4469
            aload 5 /* bound */
        10: .line 4470
            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 4471
            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 4467
            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 4472
            goto 15
        14: .line 4473
      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 4462
      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 4476
            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 4486
            iconst_0
            istore 4 /* reverse */
        start local 4 // boolean reverse
         1: .line 4487
            aload 2 /* to */
            astore 5 /* target */
        start local 5 // com.sun.tools.javac.code.Type target
         2: .line 4488
            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 4489
            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 4490
            iconst_1
            istore 4 /* reverse */
         7: .line 4491
            aload 1 /* from */
            astore 2 /* to */
         8: .line 4492
            aload 5 /* target */
            astore 1 /* from */
         9: .line 4494
      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 4495
            aload 6 /* commonSupers */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            istore 7 /* giveWarning */
        start local 7 // boolean giveWarning
        11: .line 4498
            goto 22
        12: .line 4499
      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 4500
            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 4501
            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 4502
            iconst_0
            ireturn
        16: .line 4503
      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 4504
            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 4498
      StackMap locals:
      StackMap stack:
            aload 6 /* commonSupers */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 12
        23: .line 4506
            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 4507
            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 4508
      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 4517
            iconst_0
            istore 4 /* reverse */
        start local 4 // boolean reverse
         1: .line 4518
            aload 2 /* to */
            astore 5 /* target */
        start local 5 // com.sun.tools.javac.code.Type target
         2: .line 4519
            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 4520
            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 4521
            iconst_1
            istore 4 /* reverse */
         7: .line 4522
            aload 1 /* from */
            astore 2 /* to */
         8: .line 4523
            aload 5 /* target */
            astore 1 /* from */
         9: .line 4525
      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 4526
            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 4527
            aload 6 /* t1 */
            ifnonnull 14
            iconst_0
            ireturn
        14: .line 4528
      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 4529
            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 4530
            iconst_0
            ireturn
        17: .line 4531
      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 4532
            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 4533
      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 4534
      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 4538
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifeq 2
         1: .line 4539
            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 4538
      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 4540
            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 4541
            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 4542
            aload 4 /* b */
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 12
         8: .line 4543
            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 4544
            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 4545
            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 4546
      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 4540
      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 4549
            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 4553
            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 4554
            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 4555
      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 4556
            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 4557
            goto 7
         6: .line 4558
      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 4554
      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 4561
            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 4565
            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 4566
            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 4565
      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 4583
            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 4584
            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 4697
            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 4698
            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 4701
            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 4703
      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 4723
            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 4825
            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 4826
            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 4827
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
         3: .line 4828
            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 4829
            aload 2 /* formal */
         5: .line 4826
            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 4831
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 1 /* bound */
         7: .line 4832
            getstatic com.sun.tools.javac.code.BoundKind.EXTENDS:Lcom/sun/tools/javac/code/BoundKind;
         8: .line 4833
            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 4834
            aload 2 /* formal */
        10: .line 4831
            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 4847
            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 4848
            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 4849
            getstatic com.sun.tools.javac.code.BoundKind.UNBOUND:Lcom/sun/tools/javac/code/BoundKind;
         3: .line 4850
            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 4851
            aload 2 /* formal */
         5: .line 4848
            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 4853
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.code.Type$WildcardType
            dup
            aload 1 /* bound */
         7: .line 4854
            getstatic com.sun.tools.javac.code.BoundKind.SUPER:Lcom/sun/tools/javac/code/BoundKind;
         8: .line 4855
            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 4856
            aload 2 /* formal */
        10: .line 4853
            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 5024
            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 5028
            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 5029
            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 5030
            aload 3 /* c */
            ifnull 9
         3: .line 5031
            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 5032
            aload 4 /* value */
            ifnull 9
            aload 4 /* value */
            instanceof com.sun.tools.javac.code.Attribute$Enum
            ifeq 9
         5: .line 5033
            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 5034
            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 5035
      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 5036
      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 5040
      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 5234
            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 5236
      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 5238
      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 5240
      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 5242
      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 5244
      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 5246
      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 5248
      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 5250
      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 5252
      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 5254
      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 5260
            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 5261
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.isDerivedRawCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 5262
            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 5263
            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 5264
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Types.closureCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 5265
            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 3765
            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 boolean lambda$2(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types this
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 1692
            aload 0 /* this */
            aload 2 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 1
            invokevirtual com.sun.tools.javac.code.Types.areDisjoint:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol sym
        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     2   sym  Lcom/sun/tools/javac/code/Symbol;

  private static java.lang.String lambda$3(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 3089
            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$4(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 3734
            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 KindSelector = com.sun.tools.javac.code.Kinds$KindSelector 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