public class com.sun.tools.javac.comp.Infer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.Infer
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.comp.Infer> inferKey;
    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/comp/Infer;>;

  com.sun.tools.javac.comp.Resolve rs;
    descriptor: Lcom/sun/tools/javac/comp/Resolve;
    flags: (0x0000) 

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

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

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

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

  com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0000) 

  boolean allowGraphInference;
    descriptor: Z
    flags: (0x0000) 

  private final java.lang.String dependenciesFolder;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.tools.javac.util.List<java.lang.String> pendingGraphs;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;

  public static final com.sun.tools.javac.code.Type anyPoly;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine legacyEngine;
    descriptor: Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
    flags: (0x0000) 

  com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine graphEngine;
    descriptor: Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
    flags: (0x0000) 

  static final int MAX_INCORPORATION_STEPS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  java.util.Map<com.sun.tools.javac.comp.Infer$IncorporationBinaryOp, java.lang.Boolean> incorporationCache;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/comp/Infer$IncorporationBinaryOp;Ljava/lang/Boolean;>;

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 82
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.javac.comp.Infer.inferKey:Lcom/sun/tools/javac/util/Context$Key;
         1: .line 131
            new com.sun.tools.javac.code.Type$JCNoType
            dup
            invokespecial com.sun.tools.javac.code.Type$JCNoType.<init>:()V
            putstatic com.sun.tools.javac.comp.Infer.anyPoly:Lcom/sun/tools/javac/code/Type;
         2: .line 1100
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.comp.Infer instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Infer;
    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 105
            aload 0 /* context */
            getstatic com.sun.tools.javac.comp.Infer.inferKey: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.comp.Infer
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.Infer instance
         1: .line 106
            aload 1 /* instance */
            ifnonnull 3
         2: .line 107
            new com.sun.tools.javac.comp.Infer
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.comp.Infer.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 108
      StackMap locals: com.sun.tools.javac.comp.Infer
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.comp.Infer 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/comp/Infer;
    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=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 628
            aload 0 /* this */
            new com.sun.tools.javac.comp.Infer$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Infer$1.<init>:(Lcom/sun/tools/javac/comp/Infer;)V
            putfield com.sun.tools.javac.comp.Infer.fromTypeVarFun:Lcom/sun/tools/javac/code/Types$TypeMapping;
         2: .line 1051
            aload 0 /* this */
            new com.sun.tools.javac.comp.Infer$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Infer$2.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/comp/Infer;)V
            putfield com.sun.tools.javac.comp.Infer.legacyEngine:Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
         3: .line 1067
            aload 0 /* this */
            new com.sun.tools.javac.comp.Infer$3
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Infer$3.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/comp/Infer;)V
            putfield com.sun.tools.javac.comp.Infer.graphEngine:Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
         4: .line 1243
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.Infer.incorporationCache:Ljava/util/Map;
         5: .line 112
            aload 1 /* context */
            getstatic com.sun.tools.javac.comp.Infer.inferKey: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
         6: .line 114
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Resolve.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Resolve;
            putfield com.sun.tools.javac.comp.Infer.rs:Lcom/sun/tools/javac/comp/Resolve;
         7: .line 115
            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.comp.Infer.chk:Lcom/sun/tools/javac/comp/Check;
         8: .line 116
            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.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
         9: .line 117
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
        10: .line 118
            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.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
        11: .line 119
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.javac.comp.Infer.log:Lcom/sun/tools/javac/util/Log;
        12: .line 120
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Options.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Options;
            astore 2 /* options */
        start local 2 // com.sun.tools.javac.util.Options options
        13: .line 121
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Source.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Source;
            astore 3 /* source */
        start local 3 // com.sun.tools.javac.code.Source source
        14: .line 122
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Source$Feature.GRAPH_INFERENCE:Lcom/sun/tools/javac/code/Source$Feature;
            aload 3 /* source */
            invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
            ifeq 16
        15: .line 123
            aload 2 /* options */
            ldc "useLegacyInference"
            invokevirtual com.sun.tools.javac.util.Options.isUnset:(Ljava/lang/String;)Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.Context com.sun.tools.javac.util.Options com.sun.tools.javac.code.Source
      StackMap stack: com.sun.tools.javac.comp.Infer
        16: iconst_0
        17: .line 122
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.Context com.sun.tools.javac.util.Options com.sun.tools.javac.code.Source
      StackMap stack: com.sun.tools.javac.comp.Infer int
            putfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
        18: .line 124
            aload 0 /* this */
            aload 2 /* options */
            ldc "debug.dumpInferenceGraphsTo"
            invokevirtual com.sun.tools.javac.util.Options.get:(Ljava/lang/String;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Infer.dependenciesFolder:Ljava/lang/String;
        19: .line 125
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Infer.pendingGraphs:Lcom/sun/tools/javac/util/List;
        20: .line 127
            aload 0 /* this */
            new com.sun.tools.javac.comp.InferenceContext
            dup
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokespecial com.sun.tools.javac.comp.InferenceContext.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/util/List;)V
            putfield com.sun.tools.javac.comp.Infer.emptyContext:Lcom/sun/tools/javac/comp/InferenceContext;
        21: .line 128
            return
        end local 3 // com.sun.tools.javac.code.Source source
        end local 2 // com.sun.tools.javac.util.Options options
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/tools/javac/comp/Infer;
            0   22     1  context  Lcom/sun/tools/javac/util/Context;
           13   22     2  options  Lcom/sun/tools/javac/util/Options;
           14   22     3   source  Lcom/sun/tools/javac/code/Source;
    MethodParameters:
         Name  Flags
      context  

  com.sun.tools.javac.comp.Infer$InferenceException error(com.sun.tools.javac.util.JCDiagnostic);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic diag
         0: .line 153
            new com.sun.tools.javac.comp.Infer$InferenceException
            dup
            invokespecial com.sun.tools.javac.comp.Infer$InferenceException.<init>:()V
            astore 2 /* result */
        start local 2 // com.sun.tools.javac.comp.Infer$InferenceException result
         1: .line 154
            aload 1 /* diag */
            ifnull 3
         2: .line 155
            aload 2 /* result */
            aload 2 /* result */
            getfield com.sun.tools.javac.comp.Infer$InferenceException.messages:Lcom/sun/tools/javac/util/List;
            aload 1 /* diag */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Infer$InferenceException.messages:Lcom/sun/tools/javac/util/List;
         3: .line 157
      StackMap locals: com.sun.tools.javac.comp.Infer$InferenceException
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // com.sun.tools.javac.comp.Infer$InferenceException result
        end local 1 // com.sun.tools.javac.util.JCDiagnostic diag
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/javac/comp/Infer;
            0    4     1    diag  Lcom/sun/tools/javac/util/JCDiagnostic;
            1    4     2  result  Lcom/sun/tools/javac/comp/Infer$InferenceException;
    MethodParameters:
      Name  Flags
      diag  

  com.sun.tools.javac.code.Type instantiateMethod(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.code.Type$MethodType, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Symbol$MethodSymbol, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, boolean, boolean, com.sun.tools.javac.comp.Resolve$MethodResolutionContext, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/util/List;ZZLcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=7, locals=18, args_size=11
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.util.List tvars
        start local 3 // com.sun.tools.javac.code.Type$MethodType mt
        start local 4 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        start local 5 // com.sun.tools.javac.code.Symbol$MethodSymbol msym
        start local 6 // com.sun.tools.javac.util.List argtypes
        start local 7 // boolean allowBoxing
        start local 8 // boolean useVarargs
        start local 9 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext resolveContext
        start local 10 // com.sun.tools.javac.util.Warner warn
         0: .line 176
            new com.sun.tools.javac.comp.InferenceContext
            dup
            aload 0 /* this */
            aload 2 /* tvars */
            invokespecial com.sun.tools.javac.comp.InferenceContext.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/util/List;)V
            astore 11 /* inferenceContext */
        start local 11 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         1: .line 179
            aload 9 /* resolveContext */
            aload 5 /* msym */
            aload 11 /* inferenceContext */
            aload 4 /* resultInfo */
            aload 10 /* warn */
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionContext.deferredAttrContext:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
         2: .line 178
            astore 12 /* deferredAttrContext */
        start local 12 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
         3: .line 181
            aload 9 /* resolveContext */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.methodCheck:Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
            aload 1 /* env */
            aload 12 /* deferredAttrContext */
         4: .line 182
            aload 6 /* argtypes */
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            aload 10 /* warn */
         5: .line 181
            invokeinterface com.sun.tools.javac.comp.Resolve$MethodCheck.argumentsAcceptable:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)V
         6: .line 184
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifeq 17
            aload 4 /* resultInfo */
            ifnull 17
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.comp.Infer.anyPoly:Lcom/sun/tools/javac/code/Type;
            if_acmpne 17
         7: .line 185
            aload 0 /* this */
            aload 11 /* inferenceContext */
            aload 10 /* warn */
            invokevirtual com.sun.tools.javac.comp.Infer.doIncorporation:(Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
         8: .line 187
            new com.sun.tools.javac.comp.Infer$PartiallyInferredMethodType
            dup
            aload 0 /* this */
            aload 3 /* mt */
            aload 11 /* inferenceContext */
            aload 1 /* env */
            aload 10 /* warn */
            invokespecial com.sun.tools.javac.comp.Infer$PartiallyInferredMethodType.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/util/Warner;)V
            astore 17
         9: .line 241
            aload 4 /* resultInfo */
            ifnonnull 10
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 12
        10: .line 242
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext top top top top com.sun.tools.javac.code.Type
      StackMap stack:
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
        11: .line 243
            goto 13
        12: .line 244
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.boundedVars:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:(Lcom/sun/tools/javac/util/List;)V
        13: .line 246
      StackMap locals:
      StackMap stack:
            aload 4 /* resultInfo */
            ifnonnull 15
        14: .line 250
            aload 11 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.captureTypeCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        15: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 5 /* msym */
            aload 9 /* resolveContext */
            invokevirtual com.sun.tools.javac.comp.Infer.dumpGraphsIfNeeded:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;)V
        16: .line 187
            aload 17
            areturn
        17: .line 188
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifeq 41
            aload 4 /* resultInfo */
            ifnull 41
        18: .line 191
            aload 0 /* this */
            aload 11 /* inferenceContext */
            aload 10 /* warn */
            invokevirtual com.sun.tools.javac.comp.Infer.doIncorporation:(Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
        19: .line 193
            aload 10 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.hasNonSilentLint:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
            ifne 41
        20: .line 194
            aload 0 /* this */
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 4 /* resultInfo */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.Infer.shouldPropagate:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/InferenceContext;)Z
            istore 13 /* shouldPropagate */
        start local 13 // boolean shouldPropagate
        21: .line 196
            iload 13 /* shouldPropagate */
            ifeq 23
        22: .line 197
            aload 11 /* inferenceContext */
            aload 0 /* this */
            aload 3 /* mt */
            aload 12 /* deferredAttrContext */
            invokevirtual com.sun.tools.javac.comp.Infer.roots:(Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/util/List;
            iconst_1
            aload 10 /* warn */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.min:(Lcom/sun/tools/javac/util/List;ZLcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/InferenceContext;
            goto 24
        23: .line 198
      StackMap locals: int
      StackMap stack:
            aload 11 /* inferenceContext */
        24: .line 196
      StackMap locals:
      StackMap stack: com.sun.tools.javac.comp.InferenceContext
            astore 14 /* minContext */
        start local 14 // com.sun.tools.javac.comp.InferenceContext minContext
        25: .line 200
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 4 /* resultInfo */
        26: .line 201
            aload 3 /* mt */
            aload 14 /* minContext */
        27: .line 200
            invokevirtual com.sun.tools.javac.comp.Infer.generateReturnConstraints:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
            astore 15 /* newRestype */
        start local 15 // com.sun.tools.javac.code.Type newRestype
        28: .line 202
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 3 /* mt */
            aload 15 /* newRestype */
            invokevirtual com.sun.tools.javac.code.Types.createMethodTypeWithReturn:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$MethodType
            astore 3 /* mt */
        29: .line 205
            iload 13 /* shouldPropagate */
            ifeq 41
        30: .line 207
            aload 14 /* minContext */
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.dupTo:(Lcom/sun/tools/javac/comp/InferenceContext;)V
        31: .line 208
            aload 12 /* deferredAttrContext */
            invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.complete:()V
        32: .line 209
            aload 3 /* mt */
            astore 17
        33: .line 241
            aload 4 /* resultInfo */
            ifnonnull 34
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 36
        34: .line 242
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext int com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type top com.sun.tools.javac.code.Type
      StackMap stack:
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
        35: .line 243
            goto 37
        36: .line 244
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.boundedVars:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:(Lcom/sun/tools/javac/util/List;)V
        37: .line 246
      StackMap locals:
      StackMap stack:
            aload 4 /* resultInfo */
            ifnonnull 39
        38: .line 250
            aload 11 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.captureTypeCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        39: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 5 /* msym */
            aload 9 /* resolveContext */
            invokevirtual com.sun.tools.javac.comp.Infer.dumpGraphsIfNeeded:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;)V
        40: .line 209
            aload 17
            areturn
        end local 15 // com.sun.tools.javac.code.Type newRestype
        end local 14 // com.sun.tools.javac.comp.InferenceContext minContext
        end local 13 // boolean shouldPropagate
        41: .line 214
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
      StackMap stack:
            aload 12 /* deferredAttrContext */
            invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.complete:()V
        42: .line 217
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifeq 45
        43: .line 218
            aload 11 /* inferenceContext */
            aload 10 /* warn */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.solve:(Lcom/sun/tools/javac/util/Warner;)V
        44: .line 219
            goto 46
        45: .line 220
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            iconst_1
            aload 10 /* warn */
            getstatic com.sun.tools.javac.comp.Infer$LegacyInferenceSteps.EQ_LOWER:Lcom/sun/tools/javac/comp/Infer$LegacyInferenceSteps;
            getfield com.sun.tools.javac.comp.Infer$LegacyInferenceSteps.steps:Ljava/util/EnumSet;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.solveLegacy:(ZLcom/sun/tools/javac/util/Warner;Ljava/util/EnumSet;)V
        46: .line 223
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asInstType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$MethodType
            astore 3 /* mt */
        47: .line 225
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 54
        48: .line 226
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.restvars:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 54
        49: .line 227
            aload 4 /* resultInfo */
            ifnull 54
        50: .line 228
            aload 10 /* warn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.hasNonSilentLint:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
            ifne 54
        51: .line 229
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 4 /* resultInfo */
            aload 3 /* mt */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.Infer.generateReturnConstraints:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
            pop
        52: .line 230
            aload 11 /* inferenceContext */
            iconst_0
            aload 10 /* warn */
            getstatic com.sun.tools.javac.comp.Infer$LegacyInferenceSteps.EQ_UPPER:Lcom/sun/tools/javac/comp/Infer$LegacyInferenceSteps;
            getfield com.sun.tools.javac.comp.Infer$LegacyInferenceSteps.steps:Ljava/util/EnumSet;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.solveLegacy:(ZLcom/sun/tools/javac/util/Warner;Ljava/util/EnumSet;)V
        53: .line 231
            aload 11 /* inferenceContext */
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asInstType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$MethodType
            astore 3 /* mt */
        54: .line 234
      StackMap locals:
      StackMap stack:
            aload 4 /* resultInfo */
            ifnull 56
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.rs:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.verboseResolutionMode:Ljava/util/EnumSet;
            getstatic com.sun.tools.javac.comp.Resolve$VerboseResolutionMode.DEFERRED_INST:Lcom/sun/tools/javac/comp/Resolve$VerboseResolutionMode;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 56
        55: .line 235
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            getfield com.sun.tools.javac.tree.JCTree.pos:I
            aload 5 /* msym */
            aload 3 /* mt */
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Notes.DeferredMethodInst:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Note;
            invokevirtual com.sun.tools.javac.util.Log.note:(ILcom/sun/tools/javac/util/JCDiagnostic$Note;)V
        56: .line 239
      StackMap locals:
      StackMap stack:
            aload 3 /* mt */
            astore 17
        57: .line 241
            aload 4 /* resultInfo */
            ifnonnull 58
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 60
        58: .line 242
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext top top top top com.sun.tools.javac.code.Type
      StackMap stack:
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
        59: .line 243
            goto 61
        60: .line 244
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.boundedVars:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:(Lcom/sun/tools/javac/util/List;)V
        61: .line 246
      StackMap locals:
      StackMap stack:
            aload 4 /* resultInfo */
            ifnonnull 63
        62: .line 250
            aload 11 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.captureTypeCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        63: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 5 /* msym */
            aload 9 /* resolveContext */
            invokevirtual com.sun.tools.javac.comp.Infer.dumpGraphsIfNeeded:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;)V
        64: .line 239
            aload 17
            areturn
        end local 12 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        65: .line 240
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext
      StackMap stack: java.lang.Throwable
            astore 16
        66: .line 241
            aload 4 /* resultInfo */
            ifnonnull 67
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 69
        67: .line 242
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.util.List com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.util.List int int com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.InferenceContext top top top top java.lang.Throwable
      StackMap stack:
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
        68: .line 243
            goto 70
        69: .line 244
      StackMap locals:
      StackMap stack:
            aload 11 /* inferenceContext */
            aload 11 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.boundedVars:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:(Lcom/sun/tools/javac/util/List;)V
        70: .line 246
      StackMap locals:
      StackMap stack:
            aload 4 /* resultInfo */
            ifnonnull 72
        71: .line 250
            aload 11 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.captureTypeCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        72: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 5 /* msym */
            aload 9 /* resolveContext */
            invokevirtual com.sun.tools.javac.comp.Infer.dumpGraphsIfNeeded:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;)V
        73: .line 253
            aload 16
            athrow
        end local 11 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 10 // com.sun.tools.javac.util.Warner warn
        end local 9 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext resolveContext
        end local 8 // boolean useVarargs
        end local 7 // boolean allowBoxing
        end local 6 // com.sun.tools.javac.util.List argtypes
        end local 5 // com.sun.tools.javac.code.Symbol$MethodSymbol msym
        end local 4 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 3 // com.sun.tools.javac.code.Type$MethodType mt
        end local 2 // com.sun.tools.javac.util.List tvars
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   74     0                 this  Lcom/sun/tools/javac/comp/Infer;
            0   74     1                  env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0   74     2                tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   74     3                   mt  Lcom/sun/tools/javac/code/Type$MethodType;
            0   74     4           resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0   74     5                 msym  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            0   74     6             argtypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   74     7          allowBoxing  Z
            0   74     8           useVarargs  Z
            0   74     9       resolveContext  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            0   74    10                 warn  Lcom/sun/tools/javac/util/Warner;
            1   74    11     inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            3   65    12  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
           21   41    13      shouldPropagate  Z
           25   41    14           minContext  Lcom/sun/tools/javac/comp/InferenceContext;
           28   41    15           newRestype  Lcom/sun/tools/javac/code/Type;
      Exception table:
        from    to  target  type
           1     9      65  any
          17    33      65  any
          41    57      65  any
    Exceptions:
      throws com.sun.tools.javac.comp.Infer$InferenceException
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;ZZLcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
                Name  Flags
      env             
      tvars           
      mt              
      resultInfo      
      msym            
      argtypes        
      allowBoxing     
      useVarargs      
      resolveContext  
      warn            

  private boolean shouldPropagate(com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/InferenceContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type restype
        start local 2 // com.sun.tools.javac.comp.Attr$ResultInfo target
        start local 3 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         0: .line 257
            aload 2 /* target */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.emptyContext:Lcom/sun/tools/javac/comp/InferenceContext;
            if_acmpeq 5
         1: .line 258
            aload 3 /* inferenceContext */
            aload 1 /* restype */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 5
         2: .line 259
            aload 3 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.inferencevars:Lcom/sun/tools/javac/util/List;
            aload 1 /* restype */
            invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 260
            aload 0 /* this */
            aload 3 /* inferenceContext */
            aload 1 /* restype */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$UndetVar
            aload 2 /* target */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            aload 3 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.Infer.needsEagerInstantiation:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)Z
            ifne 5
         4: .line 257
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 3 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 2 // com.sun.tools.javac.comp.Attr$ResultInfo target
        end local 1 // com.sun.tools.javac.code.Type restype
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/sun/tools/javac/comp/Infer;
            0    6     1           restype  Lcom/sun/tools/javac/code/Type;
            0    6     2            target  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0    6     3  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
    MethodParameters:
                  Name  Flags
      restype           
      target            
      inferenceContext  

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> roots(com.sun.tools.javac.code.Type$MethodType, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
    descriptor: (Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$MethodType mt
        start local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
         0: .line 264
            aload 2 /* deferredAttrContext */
            ifnull 14
            aload 2 /* deferredAttrContext */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.mode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.CHECK:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            if_acmpne 14
         1: .line 265
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* roots */
        start local 3 // com.sun.tools.javac.util.ListBuffer roots
         2: .line 266
            aload 3 /* roots */
            aload 1 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
         3: .line 267
            aload 2 /* deferredAttrContext */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
            astore 4 /* n */
        start local 4 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode n
         5: .line 268
            aload 3 /* roots */
            aload 4 /* n */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.deferredStuckPolicy:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
            invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy.stuckVars:()Ljava/util/Set;
            invokevirtual com.sun.tools.javac.util.ListBuffer.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 269
            aload 3 /* roots */
            aload 4 /* n */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.deferredStuckPolicy:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
            invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy.depVars:()Ljava/util/Set;
            invokevirtual com.sun.tools.javac.util.ListBuffer.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode n
         7: .line 267
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 271
            aload 2 /* deferredAttrContext */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
            getfield com.sun.tools.javac.comp.InferenceContext.inferencevars:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
         9: .line 272
            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/comp/Infer.lambda$0(Lcom/sun/tools/javac/code/Type;)Z (6)
                  (Lcom/sun/tools/javac/code/Type;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic com.sun.tools.javac.util.List.collector:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
        10: .line 271
            astore 4 /* thrownVars */
        start local 4 // com.sun.tools.javac.util.List thrownVars
        11: .line 273
            aload 3 /* roots */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 5 /* result */
        start local 5 // com.sun.tools.javac.util.List result
        12: .line 274
            aload 5 /* result */
            aload 4 /* thrownVars */
            aload 5 /* result */
            invokevirtual com.sun.tools.javac.util.List.diff:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 5 /* result */
        13: .line 275
            aload 5 /* result */
            areturn
        end local 5 // com.sun.tools.javac.util.List result
        end local 4 // com.sun.tools.javac.util.List thrownVars
        end local 3 // com.sun.tools.javac.util.ListBuffer roots
        14: .line 277
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
      StackMap stack:
            aload 1 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 1 // com.sun.tools.javac.code.Type$MethodType mt
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lcom/sun/tools/javac/comp/Infer;
            0   15     1                   mt  Lcom/sun/tools/javac/code/Type$MethodType;
            0   15     2  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            2   14     3                roots  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            5    7     4                    n  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
           11   14     4           thrownVars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           12   14     5               result  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
                     Name  Flags
      mt                   
      deferredAttrContext  

  private void dumpGraphsIfNeeded(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.Resolve$MethodResolutionContext);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Symbol msym
        start local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext rsContext
         0: .line 360
            iconst_0
            istore 4 /* round */
        start local 4 // int round
         1: .line 362
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.pendingGraphs:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 26
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext int top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* graph */
        start local 5 // java.lang.String graph
         3: .line 363
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.dependenciesFolder:Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 364
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
            if_acmpne 6
         5: .line 365
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            goto 7
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext int java.lang.String java.util.Iterator
      StackMap stack:
         6: aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
         7: .line 364
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.Name
            astore 7 /* name */
        start local 7 // com.sun.tools.javac.util.Name name
         8: .line 366
            ldc "%s@%s[mode=%s,step=%s]_%d.dot"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 367
            aload 7 /* name */
            aastore
            dup
            iconst_1
        10: .line 368
            aload 1 /* pos */
            invokeinterface com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition.getStartPosition:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        11: .line 369
            aload 3 /* rsContext */
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionContext.attrMode:()Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            aastore
            dup
            iconst_3
        12: .line 370
            aload 3 /* rsContext */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            aastore
            dup
            iconst_4
        13: .line 371
            iload 4 /* round */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        14: .line 366
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 8 /* filename */
        start local 8 // java.lang.String filename
        15: .line 372
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.dependenciesFolder:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* filename */
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 9 /* dotFile */
        start local 9 // java.nio.file.Path dotFile
        16: .line 373
            aconst_null
            astore 10
            aconst_null
            astore 11
        17: aload 9 /* dotFile */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newBufferedWriter:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
            astore 12 /* w */
        start local 12 // java.io.Writer w
        18: .line 374
            aload 12 /* w */
            aload 5 /* graph */
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
        19: .line 375
            aload 12 /* w */
            ifnull 25
            aload 12 /* w */
            invokevirtual java.io.Writer.close:()V
            goto 25
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext int java.lang.String java.util.Iterator com.sun.tools.javac.util.Name java.lang.String java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
        20: astore 10
            aload 12 /* w */
            ifnull 21
            aload 12 /* w */
            invokevirtual java.io.Writer.close:()V
        end local 12 // java.io.Writer w
      StackMap locals:
      StackMap stack:
        21: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 11
            aload 10
            ifnonnull 23
            aload 11
            astore 10
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 10
            aload 11
            if_acmpeq 24
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 10
            athrow
        25: .line 376
      StackMap locals:
      StackMap stack:
            iinc 4 /* round */ 1
        end local 9 // java.nio.file.Path dotFile
        end local 8 // java.lang.String filename
        end local 7 // com.sun.tools.javac.util.Name name
        end local 5 // java.lang.String graph
        26: .line 362
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        27: .line 378
            goto 34
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext int
      StackMap stack: java.io.IOException
        28: astore 5 /* ex */
        start local 5 // java.io.IOException ex
        29: .line 379
            new java.lang.StringBuilder
            dup
            ldc "Error occurred when dumping inference graph: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* ex */
            invokevirtual java.io.IOException.getMessage:()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
        end local 5 // java.io.IOException ex
        30: .line 381
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Infer.pendingGraphs:Lcom/sun/tools/javac/util/List;
            goto 35
        31: .line 380
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        32: .line 381
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Infer.pendingGraphs:Lcom/sun/tools/javac/util/List;
        33: .line 382
            aload 13
            athrow
        34: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Infer.pendingGraphs:Lcom/sun/tools/javac/util/List;
        35: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int round
        end local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext rsContext
        end local 2 // com.sun.tools.javac.code.Symbol msym
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Lcom/sun/tools/javac/comp/Infer;
            0   36     1        pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0   36     2       msym  Lcom/sun/tools/javac/code/Symbol;
            0   36     3  rsContext  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            1   36     4      round  I
            3   26     5      graph  Ljava/lang/String;
            8   26     7       name  Lcom/sun/tools/javac/util/Name;
           15   26     8   filename  Ljava/lang/String;
           16   26     9    dotFile  Ljava/nio/file/Path;
           18   21    12          w  Ljava/io/Writer;
           29   30     5         ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          18    19      20  any
          17    22      22  any
           1    27      28  Class java.io.IOException
           1    30      31  any
    MethodParameters:
           Name  Flags
      pos        
      msym       
      rsContext  

  com.sun.tools.javac.code.Type generateReturnConstraints(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Type$MethodType, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type$MethodType;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        start local 3 // com.sun.tools.javac.code.Type$MethodType mt
        start local 4 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         0: .line 392
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            astore 5 /* rsInfoInfContext */
        start local 5 // com.sun.tools.javac.comp.InferenceContext rsInfoInfContext
         1: .line 393
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            astore 6 /* from */
        start local 6 // com.sun.tools.javac.code.Type from
         2: .line 394
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 4 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.inferencevars:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
            ifeq 10
         3: .line 395
            aload 5 /* rsInfoInfContext */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.emptyContext:Lcom/sun/tools/javac/comp/InferenceContext;
            if_acmpeq 10
         4: .line 396
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 6 /* from */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* from */
         5: .line 398
            aload 6 /* from */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 7 /* t */
        start local 7 // com.sun.tools.javac.code.Type t
         7: .line 399
            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 9
            aload 7 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.isCaptured:()Z
            ifeq 9
         8: .line 400
            aload 4 /* inferenceContext */
            aload 7 /* t */
            checkcast com.sun.tools.javac.code.Type$TypeVar
            invokevirtual com.sun.tools.javac.comp.InferenceContext.addVar:(Lcom/sun/tools/javac/code/Type$TypeVar;)V
        end local 7 // com.sun.tools.javac.code.Type t
         9: .line 398
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 404
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* inferenceContext */
            aload 6 /* from */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* qtype */
        start local 7 // com.sun.tools.javac.code.Type qtype
        11: .line 405
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            astore 8 /* to */
        start local 8 // com.sun.tools.javac.code.Type to
        12: .line 407
            aload 7 /* qtype */
            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
            ifeq 15
        13: .line 408
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.voidType:Lcom/sun/tools/javac/code/Type$JCVoidType;
            astore 8 /* to */
        14: .line 409
            goto 29
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack:
        15: aload 8 /* to */
            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 20
        16: .line 410
            aload 6 /* from */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 17
            aload 6 /* from */
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
        18: astore 8 /* to */
        19: .line 411
            goto 29
      StackMap locals:
      StackMap stack:
        20: aload 7 /* qtype */
            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 25
        21: .line 412
            aload 0 /* this */
            aload 7 /* qtype */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            aload 8 /* to */
            aload 4 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.Infer.needsEagerInstantiation:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)Z
            ifeq 29
        22: .line 413
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 23
            aload 8 /* to */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 29
        23: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            aload 7 /* qtype */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            aload 8 /* to */
            aload 2 /* resultInfo */
            aload 4 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.Infer.generateReferenceToTargetConstraint:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
            astore 8 /* to */
        24: .line 416
            goto 29
      StackMap locals:
      StackMap stack:
        25: aload 5 /* rsInfoInfContext */
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 29
        26: .line 418
            aload 4 /* inferenceContext */
            aload 5 /* rsInfoInfContext */
            aload 1 /* tree */
            aload 6 /* from */
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkMode:Lcom/sun/tools/javac/comp/Attr$CheckMode;
            invokevirtual com.sun.tools.javac.comp.Attr$CheckMode.updateTreeType:()Z
            ifeq 27
            iconst_0
            goto 28
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type
        27: iconst_1
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.code.Type$MethodType com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack: com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int
        28: invokevirtual com.sun.tools.javac.comp.InferenceContext.cachedCapture:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* qtype */
        29: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 30
            aload 5 /* rsInfoInfContext */
            aload 8 /* to */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 30
            iconst_0
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_1
        31: .line 421
      StackMap locals:
      StackMap stack: int
            ldc "legacy inference engine cannot handle constraints on both sides of a subtyping assertion"
        32: .line 420
            invokestatic com.sun.tools.javac.util.Assert.check:(ZLjava/lang/String;)V
        33: .line 423
            new com.sun.tools.javac.util.Warner
            dup
            invokespecial com.sun.tools.javac.util.Warner.<init>:()V
            astore 9 /* retWarn */
        start local 9 // com.sun.tools.javac.util.Warner retWarn
        34: .line 424
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 7 /* qtype */
            aload 5 /* rsInfoInfContext */
            aload 8 /* to */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 9 /* retWarn */
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.compatible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ifeq 36
        35: .line 426
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifne 37
            aload 9 /* retWarn */
            getstatic com.sun.tools.javac.code.Lint$LintCategory.UNCHECKED:Lcom/sun/tools/javac/code/Lint$LintCategory;
            invokevirtual com.sun.tools.javac.util.Warner.hasLint:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
            ifeq 37
        36: .line 427
      StackMap locals: com.sun.tools.javac.util.Warner
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 4 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.restvars:()Lcom/sun/tools/javac/util/List;
            aload 3 /* mt */
            invokevirtual com.sun.tools.javac.code.Type$MethodType.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 8 /* to */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.InferNoConformingInstanceExists:(Ljava/util/List;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
        37: .line 429
      StackMap locals:
      StackMap stack:
            aload 6 /* from */
            areturn
        end local 9 // com.sun.tools.javac.util.Warner retWarn
        end local 8 // com.sun.tools.javac.code.Type to
        end local 7 // com.sun.tools.javac.code.Type qtype
        end local 6 // com.sun.tools.javac.code.Type from
        end local 5 // com.sun.tools.javac.comp.InferenceContext rsInfoInfContext
        end local 4 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 3 // com.sun.tools.javac.code.Type$MethodType mt
        end local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Lcom/sun/tools/javac/comp/Infer;
            0   38     1              tree  Lcom/sun/tools/javac/tree/JCTree;
            0   38     2        resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0   38     3                mt  Lcom/sun/tools/javac/code/Type$MethodType;
            0   38     4  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            1   38     5  rsInfoInfContext  Lcom/sun/tools/javac/comp/InferenceContext;
            2   38     6              from  Lcom/sun/tools/javac/code/Type;
            7    9     7                 t  Lcom/sun/tools/javac/code/Type;
           11   38     7             qtype  Lcom/sun/tools/javac/code/Type;
           12   38     8                to  Lcom/sun/tools/javac/code/Type;
           34   38     9           retWarn  Lcom/sun/tools/javac/util/Warner;
    MethodParameters:
                  Name  Flags
      tree              
      resultInfo        
      mt                
      inferenceContext  

  private boolean needsEagerInstantiation(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/InferenceContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar from
        start local 2 // com.sun.tools.javac.code.Type to
        start local 3 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         0: .line 433
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifeq 9
         1: .line 437
            aload 1 /* from */
            invokestatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.values:()[Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext top java.util.Iterator
      StackMap stack:
         2: 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
         3: .line 438
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* t */
            invokevirtual com.sun.tools.javac.code.Types.unboxedType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* boundAsPrimitive */
        start local 6 // com.sun.tools.javac.code.Type boundAsPrimitive
         4: .line 439
            aload 6 /* boundAsPrimitive */
            ifnull 7
            aload 6 /* boundAsPrimitive */
            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 6
         5: .line 440
            goto 7
         6: .line 442
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext 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 boundAsPrimitive
        end local 4 // com.sun.tools.javac.code.Type t
         7: .line 437
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 444
            iconst_0
            ireturn
         9: .line 447
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* captureOfTo */
        start local 4 // com.sun.tools.javac.code.Type captureOfTo
        10: .line 450
            aload 4 /* captureOfTo */
            aload 2 /* to */
            if_acmpne 28
        11: .line 454
            aload 1 /* from */
            iconst_2
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            dup
            iconst_1
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
        13: .line 455
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* t */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* captureOfBound */
        start local 7 // com.sun.tools.javac.code.Type captureOfBound
        14: .line 456
            aload 7 /* captureOfBound */
            aload 5 /* t */
            if_acmpeq 16
        15: .line 457
            iconst_1
            ireturn
        end local 7 // com.sun.tools.javac.code.Type captureOfBound
        end local 5 // com.sun.tools.javac.code.Type t
        16: .line 454
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        17: .line 465
            aload 1 /* from */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 27
      StackMap locals:
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* aLowerBound */
        start local 5 // com.sun.tools.javac.code.Type aLowerBound
        19: .line 466
            aload 1 /* from */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 26
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type java.util.Iterator 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 /* anotherLowerBound */
        start local 7 // com.sun.tools.javac.code.Type anotherLowerBound
        21: .line 467
            aload 5 /* aLowerBound */
            aload 7 /* anotherLowerBound */
            if_acmpeq 26
        22: .line 468
            aload 3 /* inferenceContext */
            aload 5 /* aLowerBound */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 26
        23: .line 469
            aload 3 /* inferenceContext */
            aload 7 /* anotherLowerBound */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.free:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 26
        24: .line 470
            aload 0 /* this */
            aload 5 /* aLowerBound */
            aload 7 /* anotherLowerBound */
            invokevirtual com.sun.tools.javac.comp.Infer.commonSuperWithDiffParameterization:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 26
        25: .line 471
            iconst_1
            ireturn
        end local 7 // com.sun.tools.javac.code.Type anotherLowerBound
        26: .line 466
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 5 // com.sun.tools.javac.code.Type aLowerBound
        27: .line 465
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        28: .line 482
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* to */
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 35
        29: .line 483
            aload 1 /* from */
            iconst_2
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            dup
            iconst_1
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.LOWER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
        30: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
        31: .line 484
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* t */
            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 7 /* sup */
        start local 7 // com.sun.tools.javac.code.Type sup
        32: .line 485
            aload 7 /* sup */
            ifnull 34
            aload 7 /* sup */
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifeq 34
        33: .line 486
            iconst_1
            ireturn
        end local 7 // com.sun.tools.javac.code.Type sup
        end local 5 // com.sun.tools.javac.code.Type t
        34: .line 483
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        35: .line 490
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.code.Type
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // com.sun.tools.javac.code.Type captureOfTo
        end local 3 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 2 // com.sun.tools.javac.code.Type to
        end local 1 // com.sun.tools.javac.code.Type$UndetVar from
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0               this  Lcom/sun/tools/javac/comp/Infer;
            0   36     1               from  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   36     2                 to  Lcom/sun/tools/javac/code/Type;
            0   36     3   inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            3    7     4                  t  Lcom/sun/tools/javac/code/Type;
            4    7     6   boundAsPrimitive  Lcom/sun/tools/javac/code/Type;
           10   36     4        captureOfTo  Lcom/sun/tools/javac/code/Type;
           13   16     5                  t  Lcom/sun/tools/javac/code/Type;
           14   16     7     captureOfBound  Lcom/sun/tools/javac/code/Type;
           19   27     5        aLowerBound  Lcom/sun/tools/javac/code/Type;
           21   26     7  anotherLowerBound  Lcom/sun/tools/javac/code/Type;
           31   34     5                  t  Lcom/sun/tools/javac/code/Type;
           32   34     7                sup  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
                  Name  Flags
      from              
      to                
      inferenceContext  

  private boolean commonSuperWithDiffParameterization(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=5, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 494
            aload 0 /* this */
            aload 1 /* t */
            aload 2 /* s */
            invokevirtual com.sun.tools.javac.comp.Infer.getParameterizedSupers:(Lcom/sun/tools/javac/code/Type;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.comp.Infer com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Pair
            astore 3 /* supers */
        start local 3 // com.sun.tools.javac.util.Pair supers
         2: .line 495
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 3 /* supers */
            getfield com.sun.tools.javac.util.Pair.fst:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 3 /* supers */
            getfield com.sun.tools.javac.util.Pair.snd: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 3
            iconst_1
            ireturn
        end local 3 // com.sun.tools.javac.util.Pair supers
         3: .line 494
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 497
            iconst_0
            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.comp.Infer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1       t  Lcom/sun/tools/javac/code/Type;
            0    5     2       s  Lcom/sun/tools/javac/code/Type;
            2    3     3  supers  Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      t     
      s     

  private com.sun.tools.javac.code.Type generateReferenceToTargetConstraint(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/InferenceContext;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.code.Type$UndetVar from
        start local 3 // com.sun.tools.javac.code.Type to
        start local 4 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        start local 5 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         0: .line 503
            aload 5 /* inferenceContext */
            aload 2 /* from */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            new com.sun.tools.javac.util.Warner
            dup
            invokespecial com.sun.tools.javac.util.Warner.<init>:()V
            invokevirtual com.sun.tools.javac.comp.InferenceContext.solve:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)V
         1: .line 504
            aload 5 /* inferenceContext */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
         2: .line 505
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
         3: .line 506
            aload 1 /* tree */
            aload 2 /* from */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getInst:()Lcom/sun/tools/javac/code/Type;
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkMode:Lcom/sun/tools/javac/comp/Attr$CheckMode;
            invokevirtual com.sun.tools.javac.comp.Attr$CheckMode.updateTreeType:()Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.comp.InferenceContext
      StackMap stack: com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type
         4: iconst_1
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.comp.InferenceContext
      StackMap stack: com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int
         5: invokevirtual com.sun.tools.javac.comp.InferenceContext.cachedCapture:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
         6: .line 505
            astore 6 /* capturedType */
        start local 6 // com.sun.tools.javac.code.Type capturedType
         7: .line 507
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 6 /* capturedType */
         8: .line 508
            aload 4 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            aload 3 /* to */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
         9: .line 507
            invokevirtual com.sun.tools.javac.code.Types.isConvertible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
        10: .line 508
            ifeq 12
        11: .line 510
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            areturn
        12: .line 512
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 3 /* to */
            areturn
        end local 6 // com.sun.tools.javac.code.Type capturedType
        end local 5 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 4 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 3 // com.sun.tools.javac.code.Type to
        end local 2 // com.sun.tools.javac.code.Type$UndetVar from
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/sun/tools/javac/comp/Infer;
            0   13     1              tree  Lcom/sun/tools/javac/tree/JCTree;
            0   13     2              from  Lcom/sun/tools/javac/code/Type$UndetVar;
            0   13     3                to  Lcom/sun/tools/javac/code/Type;
            0   13     4        resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0   13     5  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            7   13     6      capturedType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
                  Name  Flags
      tree              
      from              
      to                
      resultInfo        
      inferenceContext  

  void instantiateAsUninferredVars(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/comp/InferenceContext;)V
    flags: (0x0000) 
    Code:
      stack=10, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.util.List vars
        start local 2 // com.sun.tools.javac.comp.InferenceContext inferenceContext
         0: .line 519
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* todo */
        start local 3 // com.sun.tools.javac.util.ListBuffer todo
         1: .line 521
            aload 1 /* vars */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         2: 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
         3: .line 522
            aload 2 /* inferenceContext */
            aload 4 /* t */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 6 /* uv */
        start local 6 // com.sun.tools.javac.code.Type$UndetVar uv
         4: .line 523
            aload 6 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            astore 7 /* upperBounds */
        start local 7 // com.sun.tools.javac.util.List upperBounds
         5: .line 524
            aload 7 /* upperBounds */
            aload 1 /* vars */
            invokestatic com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Z
            ifeq 11
         6: .line 525
            new com.sun.tools.javac.code.Symbol$TypeVariableSymbol
            dup
            ldc 4096
            aload 6 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.name:Lcom/sun/tools/javac/util/Name;
            aconst_null
            aload 6 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            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;
            invokespecial com.sun.tools.javac.code.Symbol$TypeVariableSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
            astore 8 /* fresh_tvar */
        start local 8 // com.sun.tools.javac.code.Symbol$TypeSymbol fresh_tvar
         7: .line 526
            aload 8 /* fresh_tvar */
            new com.sun.tools.javac.code.Type$TypeVar
            dup
            aload 8 /* fresh_tvar */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 6 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            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;)V
            putfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
         8: .line 527
            aload 3 /* todo */
            aload 6 /* uv */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         9: .line 528
            aload 6 /* uv */
            aload 8 /* fresh_tvar */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.setInst:(Lcom/sun/tools/javac/code/Type;)V
        end local 8 // com.sun.tools.javac.code.Symbol$TypeSymbol fresh_tvar
        10: .line 529
            goto 15
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.util.List
      StackMap stack:
        11: aload 7 /* upperBounds */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 14
        12: .line 530
            aload 6 /* uv */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 7 /* upperBounds */
            invokevirtual com.sun.tools.javac.code.Types.glb:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.setInst:(Lcom/sun/tools/javac/code/Type;)V
        13: .line 531
            goto 15
        14: .line 532
      StackMap locals:
      StackMap stack:
            aload 6 /* uv */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.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.code.Type$UndetVar.setInst:(Lcom/sun/tools/javac/code/Type;)V
        end local 7 // com.sun.tools.javac.util.List upperBounds
        end local 6 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 4 // com.sun.tools.javac.code.Type t
        15: .line 521
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 536
            aload 1 /* vars */
            astore 4 /* formals */
        start local 4 // com.sun.tools.javac.util.List formals
        17: .line 537
            aload 3 /* todo */
            invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
            astore 6
            goto 25
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
        19: .line 538
            aload 5 /* t */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 7 /* uv */
        start local 7 // com.sun.tools.javac.code.Type$UndetVar uv
        20: .line 539
            aload 7 /* uv */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getInst:()Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$TypeVar
            astore 8 /* ct */
        start local 8 // com.sun.tools.javac.code.Type$TypeVar ct
        21: .line 540
            aload 8 /* ct */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* inferenceContext */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 8 /* ct */
            invokevirtual com.sun.tools.javac.code.Types.getBounds:(Lcom/sun/tools/javac/code/Type$TypeVar;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asInstTypes:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.glb:(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
        22: .line 541
            aload 8 /* ct */
            invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 24
        23: .line 543
            aload 0 /* this */
            aload 7 /* uv */
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.UPPER:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            invokevirtual com.sun.tools.javac.comp.Infer.reportBoundError:(Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
        24: .line 545
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Type$UndetVar com.sun.tools.javac.code.Type$TypeVar
      StackMap stack:
            aload 4 /* formals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* formals */
        end local 8 // com.sun.tools.javac.code.Type$TypeVar ct
        end local 7 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 5 // com.sun.tools.javac.code.Type t
        25: .line 537
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.List com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        26: .line 547
            return
        end local 4 // com.sun.tools.javac.util.List formals
        end local 3 // com.sun.tools.javac.util.ListBuffer todo
        end local 2 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 1 // com.sun.tools.javac.util.List vars
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lcom/sun/tools/javac/comp/Infer;
            0   27     1              vars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   27     2  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            1   27     3              todo  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
            3   15     4                 t  Lcom/sun/tools/javac/code/Type;
            4   15     6                uv  Lcom/sun/tools/javac/code/Type$UndetVar;
            5   15     7       upperBounds  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            7   10     8        fresh_tvar  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
           17   27     4           formals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           19   25     5                 t  Lcom/sun/tools/javac/code/Type;
           20   25     7                uv  Lcom/sun/tools/javac/code/Type$UndetVar;
           21   25     8                ct  Lcom/sun/tools/javac/code/Type$TypeVar;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/comp/InferenceContext;)V
    MethodParameters:
                  Name  Flags
      vars              
      inferenceContext  

  com.sun.tools.javac.code.Type instantiatePolymorphicSignatureInstance(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.code.Symbol$MethodSymbol, com.sun.tools.javac.comp.Resolve$MethodResolutionContext, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol spMethod
        start local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext resolveContext
        start local 4 // com.sun.tools.javac.util.List argtypes
         0: .line 560
            aload 2 /* spMethod */
            ifnull 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* spMethod */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.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.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 17
         1: .line 570
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$Tag:()[I
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.next: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.getTag:()Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iaload
            lookupswitch { // 2
                   22: 8
                   34: 2
              default: 15
          }
         2: .line 572
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.next:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCTypeCast
            astore 6 /* castTree */
        start local 6 // com.sun.tools.javac.tree.JCTree$JCTypeCast castTree
         3: .line 573
            aload 6 /* castTree */
            getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.skipParens:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            if_acmpne 5
         4: .line 574
            aload 6 /* castTree */
            getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.clazz:Lcom/sun/tools/javac/tree/JCTree;
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            goto 6
         5: .line 575
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.List top com.sun.tools.javac.tree.JCTree$JCTypeCast
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
         6: .line 573
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 5 /* restype */
        start local 5 // com.sun.tools.javac.code.Type restype
         7: .line 576
            goto 18
        end local 6 // com.sun.tools.javac.tree.JCTree$JCTypeCast castTree
        end local 5 // com.sun.tools.javac.code.Type restype
         8: .line 579
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.List
      StackMap stack:
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.next:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpressionStatement
         9: .line 578
            astore 7 /* execTree */
        start local 7 // com.sun.tools.javac.tree.JCTree$JCExpressionStatement execTree
        10: .line 580
            aload 7 /* execTree */
            getfield com.sun.tools.javac.tree.JCTree$JCExpressionStatement.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.skipParens:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            if_acmpne 12
        11: .line 581
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.voidType:Lcom/sun/tools/javac/code/Type$JCVoidType;
            goto 13
        12: .line 582
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.List top top com.sun.tools.javac.tree.JCTree$JCExpressionStatement
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
        13: .line 580
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 5 /* restype */
        start local 5 // com.sun.tools.javac.code.Type restype
        14: .line 583
            goto 18
        end local 7 // com.sun.tools.javac.tree.JCTree$JCExpressionStatement execTree
        end local 5 // com.sun.tools.javac.code.Type restype
        15: .line 585
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.Env com.sun.tools.javac.code.Symbol$MethodSymbol com.sun.tools.javac.comp.Resolve$MethodResolutionContext com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            astore 5 /* restype */
        start local 5 // com.sun.tools.javac.code.Type restype
        16: .line 587
            goto 18
        end local 5 // com.sun.tools.javac.code.Type restype
        17: .line 590
      StackMap locals:
      StackMap stack:
            aload 2 /* spMethod */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.getReturnType:()Lcom/sun/tools/javac/code/Type;
            astore 5 /* restype */
        start local 5 // com.sun.tools.javac.code.Type restype
        18: .line 593
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* argtypes */
            new com.sun.tools.javac.comp.Infer$ImplicitArgType
            dup
            aload 0 /* this */
            aload 2 /* spMethod */
            aload 3 /* resolveContext */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            invokespecial com.sun.tools.javac.comp.Infer$ImplicitArgType.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)V
            invokevirtual com.sun.tools.javac.util.List.map:(Ljava/util/function/Function;)Lcom/sun/tools/javac/util/List;
            astore 6 /* paramtypes */
        start local 6 // com.sun.tools.javac.util.List paramtypes
        19: .line 594
            aload 2 /* spMethod */
            ifnull 21
        20: .line 595
            aload 2 /* spMethod */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            goto 22
        21: .line 596
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.throwableType:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
        22: .line 594
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 7 /* exType */
        start local 7 // com.sun.tools.javac.util.List exType
        23: .line 598
            new com.sun.tools.javac.code.Type$MethodType
            dup
            aload 6 /* paramtypes */
        24: .line 599
            aload 5 /* restype */
        25: .line 600
            aload 7 /* exType */
        26: .line 601
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.methodClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
        27: .line 598
            invokespecial com.sun.tools.javac.code.Type$MethodType.<init>:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 8 /* mtype */
        start local 8 // com.sun.tools.javac.code.Type$MethodType mtype
        28: .line 602
            aload 8 /* mtype */
            areturn
        end local 8 // com.sun.tools.javac.code.Type$MethodType mtype
        end local 7 // com.sun.tools.javac.util.List exType
        end local 6 // com.sun.tools.javac.util.List paramtypes
        end local 5 // com.sun.tools.javac.code.Type restype
        end local 4 // com.sun.tools.javac.util.List argtypes
        end local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext resolveContext
        end local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol spMethod
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Lcom/sun/tools/javac/comp/Infer;
            0   29     1             env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0   29     2        spMethod  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            0   29     3  resolveContext  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            0   29     4        argtypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            7    8     5         restype  Lcom/sun/tools/javac/code/Type;
           14   15     5         restype  Lcom/sun/tools/javac/code/Type;
           16   17     5         restype  Lcom/sun/tools/javac/code/Type;
           18   29     5         restype  Lcom/sun/tools/javac/code/Type;
            3    8     6        castTree  Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;
           10   15     7        execTree  Lcom/sun/tools/javac/tree/JCTree$JCExpressionStatement;
           19   29     6      paramtypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           23   29     7          exType  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           28   29     8           mtype  Lcom/sun/tools/javac/code/Type$MethodType;
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
                Name  Flags
      env             
      spMethod        
      resolveContext  
      argtypes        

  public com.sun.tools.javac.code.Type instantiateFunctionalInterface(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.comp.Check$CheckContext);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/comp/Check$CheckContext;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Type funcInterface
        start local 3 // com.sun.tools.javac.util.List paramTypes
        start local 4 // com.sun.tools.javac.comp.Check$CheckContext checkContext
         0: .line 647
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* funcInterface */
            invokevirtual com.sun.tools.javac.code.Types.capture:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 2 /* funcInterface */
            if_acmpne 2
         1: .line 650
            aload 2 /* funcInterface */
            areturn
         2: .line 652
      StackMap locals:
      StackMap stack:
            aload 2 /* funcInterface */
            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;
            astore 5 /* formalInterface */
        start local 5 // com.sun.tools.javac.code.Type formalInterface
         3: .line 654
            new com.sun.tools.javac.comp.InferenceContext
            dup
            aload 0 /* this */
            aload 2 /* funcInterface */
            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;
            invokespecial com.sun.tools.javac.comp.InferenceContext.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/util/List;)V
         4: .line 653
            astore 6 /* funcInterfaceContext */
        start local 6 // com.sun.tools.javac.comp.InferenceContext funcInterfaceContext
         5: .line 656
            aload 3 /* paramTypes */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         8: .line 660
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* formalInterface */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            astore 7 /* descParameterTypes */
        start local 7 // com.sun.tools.javac.util.List descParameterTypes
         9: .line 661
            aload 7 /* descParameterTypes */
            invokevirtual com.sun.tools.javac.util.List.size:()I
            aload 3 /* paramTypes */
            invokevirtual com.sun.tools.javac.util.List.size:()I
            if_icmpeq 12
        10: .line 662
            aload 4 /* checkContext */
            aload 1 /* pos */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleArgTypesInLambda:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
        11: .line 663
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* funcInterface */
            invokevirtual com.sun.tools.javac.code.Types.createErrorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        12: .line 665
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 7 /* descParameterTypes */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 18
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        13: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 8 /* p */
        start local 8 // com.sun.tools.javac.code.Type p
        14: .line 666
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 6 /* funcInterfaceContext */
            aload 8 /* p */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 3 /* paramTypes */
            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 17
        15: .line 667
            aload 4 /* checkContext */
            aload 1 /* pos */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 2 /* funcInterface */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.NoSuitableFunctionalIntfInst:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
        16: .line 668
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* funcInterface */
            invokevirtual com.sun.tools.javac.code.Types.createErrorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        17: .line 670
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator
      StackMap stack:
            aload 3 /* paramTypes */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* paramTypes */
        end local 8 // com.sun.tools.javac.code.Type p
        18: .line 665
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        19: .line 673
            aload 2 /* funcInterface */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 8 /* actualTypeargs */
        start local 8 // com.sun.tools.javac.util.List actualTypeargs
        20: .line 674
            aload 6 /* funcInterfaceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.undetvars:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 28
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        21: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 9 /* t */
        start local 9 // com.sun.tools.javac.code.Type t
        22: .line 675
            aload 9 /* t */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 11 /* uv */
        start local 11 // com.sun.tools.javac.code.Type$UndetVar uv
        23: .line 676
            aload 11 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            getstatic com.sun.tools.javac.code.Type$UndetVar$InferenceBound.EQ:Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
        24: .line 677
            aload 5 /* formalInterface */
            invokedynamic test(Lcom/sun/tools/javac/code/Type;)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/comp/Infer.lambda$1(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z (6)
                  (Lcom/sun/tools/javac/code/Type;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        25: .line 676
            astore 12 /* inst */
        start local 12 // java.util.Optional inst
        26: .line 678
            aload 11 /* uv */
            aload 12 /* inst */
            aload 8 /* actualTypeargs */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.setInst:(Lcom/sun/tools/javac/code/Type;)V
        27: .line 679
            aload 8 /* actualTypeargs */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* actualTypeargs */
        end local 12 // java.util.Optional inst
        end local 11 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 9 // com.sun.tools.javac.code.Type t
        28: .line 674
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        29: .line 682
            aload 6 /* funcInterfaceContext */
            aload 5 /* formalInterface */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asInstType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 9 /* owntype */
        start local 9 // com.sun.tools.javac.code.Type owntype
        30: .line 683
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.chk:Lcom/sun/tools/javac/comp/Check;
            aload 9 /* owntype */
            invokevirtual com.sun.tools.javac.comp.Check.checkValidGenericType:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 32
        31: .line 686
            aload 4 /* checkContext */
            aload 1 /* pos */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 2 /* funcInterface */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.NoSuitableFunctionalIntfInst:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
        32: .line 689
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.code.Type com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* checkContext */
            aload 9 /* owntype */
            aload 2 /* funcInterface */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.compatible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            pop
        33: .line 690
            aload 9 /* owntype */
            areturn
        end local 9 // com.sun.tools.javac.code.Type owntype
        end local 8 // com.sun.tools.javac.util.List actualTypeargs
        end local 7 // com.sun.tools.javac.util.List descParameterTypes
        end local 6 // com.sun.tools.javac.comp.InferenceContext funcInterfaceContext
        end local 5 // com.sun.tools.javac.code.Type formalInterface
        end local 4 // com.sun.tools.javac.comp.Check$CheckContext checkContext
        end local 3 // com.sun.tools.javac.util.List paramTypes
        end local 2 // com.sun.tools.javac.code.Type funcInterface
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   34     0                  this  Lcom/sun/tools/javac/comp/Infer;
            0   34     1                   pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0   34     2         funcInterface  Lcom/sun/tools/javac/code/Type;
            0   34     3            paramTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   34     4          checkContext  Lcom/sun/tools/javac/comp/Check$CheckContext;
            3   34     5       formalInterface  Lcom/sun/tools/javac/code/Type;
            5   34     6  funcInterfaceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            9   34     7    descParameterTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           14   18     8                     p  Lcom/sun/tools/javac/code/Type;
           20   34     8        actualTypeargs  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           22   28     9                     t  Lcom/sun/tools/javac/code/Type;
           23   28    11                    uv  Lcom/sun/tools/javac/code/Type$UndetVar;
           26   28    12                  inst  Ljava/util/Optional<Lcom/sun/tools/javac/code/Type;>;
           30   34     9               owntype  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/comp/Check$CheckContext;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
               Name  Flags
      pos            
      funcInterface  
      paramTypes     
      checkContext   

  com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine incorporationEngine();
    descriptor: ()Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Infer this
         0: .line 1096
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.allowGraphInference:Z
            ifeq 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.graphEngine:Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.legacyEngine:Lcom/sun/tools/javac/comp/Infer$AbstractIncorporationEngine;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine
         2: areturn
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Infer;

  void doIncorporation(com.sun.tools.javac.comp.InferenceContext, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        start local 2 // com.sun.tools.javac.util.Warner warn
         0: .line 1107
            iconst_1
            istore 3 /* progress */
        start local 3 // boolean progress
         1: .line 1108
            iconst_0
            istore 4 /* round */
        start local 4 // int round
         2: .line 1109
            goto 12
         3: .line 1110
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* progress */
         4: .line 1111
            aload 1 /* inferenceContext */
            getfield com.sun.tools.javac.comp.InferenceContext.undetvars:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.Warner int int 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 /* t */
        start local 5 // com.sun.tools.javac.code.Type t
         6: .line 1112
            aload 5 /* t */
            checkcast com.sun.tools.javac.code.Type$UndetVar
            astore 7 /* uv */
        start local 7 // com.sun.tools.javac.code.Type$UndetVar uv
         7: .line 1113
            aload 7 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifne 10
         8: .line 1114
            iconst_1
            istore 3 /* progress */
         9: .line 1115
            aload 7 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.incorporationActions:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Infer$IncorporationAction
            aload 1 /* inferenceContext */
            aload 2 /* warn */
            invokevirtual com.sun.tools.javac.comp.Infer$IncorporationAction.apply:(Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
        end local 7 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 5 // com.sun.tools.javac.code.Type t
        10: .line 1111
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 1118
            iinc 4 /* round */ 1
        12: .line 1109
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.Warner int int
      StackMap stack:
            iload 3 /* progress */
            ifeq 17
            iload 4 /* round */
            sipush 10000
            if_icmplt 3
        end local 4 // int round
        end local 3 // boolean progress
        13: .line 1120
            goto 17
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.comp.InferenceContext com.sun.tools.javac.util.Warner
      StackMap stack: java.lang.Throwable
        14: astore 8
        15: .line 1121
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.incorporationCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        16: .line 1122
            aload 8
            athrow
        17: .line 1121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.incorporationCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        18: .line 1123
            return
        end local 2 // com.sun.tools.javac.util.Warner warn
        end local 1 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lcom/sun/tools/javac/comp/Infer;
            0   19     1  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            0   19     2              warn  Lcom/sun/tools/javac/util/Warner;
            1   13     3          progress  Z
            2   13     4             round  I
            6   10     5                 t  Lcom/sun/tools/javac/code/Type;
            7   10     7                uv  Lcom/sun/tools/javac/code/Type$UndetVar;
      Exception table:
        from    to  target  type
           0    14      14  any
    Exceptions:
      throws com.sun.tools.javac.comp.Infer$InferenceException
    MethodParameters:
                  Name  Flags
      inferenceContext  
      warn              

  private com.sun.tools.javac.util.List<com.sun.tools.javac.util.Pair<com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type>> getParameterizedSupers(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=10, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type s
         0: .line 1141
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            iconst_2
            anewarray com.sun.tools.javac.code.Type
            dup
            iconst_0
            aload 1 /* t */
            aastore
            dup
            iconst_1
            aload 2 /* s */
            aastore
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 3 /* lubResult */
        start local 3 // com.sun.tools.javac.code.Type lubResult
         1: .line 1142
            aload 3 /* lubResult */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            if_acmpeq 2
            aload 3 /* lubResult */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.botType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 3
         2: .line 1143
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         3: .line 1145
      StackMap locals:
      StackMap stack:
            aload 3 /* lubResult */
            invokevirtual com.sun.tools.javac.code.Type.isIntersection:()Z
            ifeq 5
         4: .line 1146
            aload 3 /* lubResult */
            checkcast com.sun.tools.javac.code.Type$IntersectionClassType
            invokevirtual com.sun.tools.javac.code.Type$IntersectionClassType.getComponents:()Lcom/sun/tools/javac/util/List;
            goto 6
         5: .line 1147
      StackMap locals:
      StackMap stack:
            aload 3 /* lubResult */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
         6: .line 1145
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 4 /* supertypesToCheck */
        start local 4 // com.sun.tools.javac.util.List supertypesToCheck
         7: .line 1148
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 5 /* commonSupertypes */
        start local 5 // com.sun.tools.javac.util.ListBuffer commonSupertypes
         8: .line 1149
            aload 4 /* supertypesToCheck */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: com.sun.tools.javac.comp.Infer com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 6 /* sup */
        start local 6 // com.sun.tools.javac.code.Type sup
        10: .line 1150
            aload 6 /* sup */
            invokevirtual com.sun.tools.javac.code.Type.isParameterized:()Z
            ifeq 14
        11: .line 1151
            aload 0 /* this */
            aload 1 /* t */
            aload 6 /* sup */
            invokevirtual com.sun.tools.javac.comp.Infer.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 8 /* asSuperOfT */
        start local 8 // com.sun.tools.javac.code.Type asSuperOfT
        12: .line 1152
            aload 0 /* this */
            aload 2 /* s */
            aload 6 /* sup */
            invokevirtual com.sun.tools.javac.comp.Infer.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 9 /* asSuperOfS */
        start local 9 // com.sun.tools.javac.code.Type asSuperOfS
        13: .line 1153
            aload 5 /* commonSupertypes */
            new com.sun.tools.javac.util.Pair
            dup
            aload 8 /* asSuperOfT */
            aload 9 /* asSuperOfS */
            invokespecial com.sun.tools.javac.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.sun.tools.javac.code.Type asSuperOfS
        end local 8 // com.sun.tools.javac.code.Type asSuperOfT
        end local 6 // com.sun.tools.javac.code.Type sup
        14: .line 1149
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 1156
            aload 5 /* commonSupertypes */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 5 // com.sun.tools.javac.util.ListBuffer commonSupertypes
        end local 4 // com.sun.tools.javac.util.List supertypesToCheck
        end local 3 // com.sun.tools.javac.code.Type lubResult
        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.comp.Infer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lcom/sun/tools/javac/comp/Infer;
            0   16     1                  t  Lcom/sun/tools/javac/code/Type;
            0   16     2                  s  Lcom/sun/tools/javac/code/Type;
            1   16     3          lubResult  Lcom/sun/tools/javac/code/Type;
            7   16     4  supertypesToCheck  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            8   16     5   commonSupertypes  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;>;
           10   14     6                sup  Lcom/sun/tools/javac/code/Type;
           12   14     8         asSuperOfT  Lcom/sun/tools/javac/code/Type;
           13   14     9         asSuperOfS  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/util/Pair<Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;>;>;
    MethodParameters:
      Name  Flags
      t     
      s     

  private com.sun.tools.javac.code.Type asSuper(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=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Type sup
         0: .line 1160
            aload 2 /* sup */
            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 2
         1: .line 1161
            new com.sun.tools.javac.code.Type$ArrayType
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            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 */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* sup */
            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.comp.Infer.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.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
            goto 3
         2: .line 1162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* t */
            aload 2 /* sup */
            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;
         3: .line 1160
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            areturn
        end local 2 // com.sun.tools.javac.code.Type sup
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Infer;
            0    4     1     t  Lcom/sun/tools/javac/code/Type;
            0    4     2   sup  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      t     
      sup   

  boolean doIncorporationOp(com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/comp/Infer$IncorporationBinaryOpKind;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind opKind
        start local 2 // com.sun.tools.javac.code.Type op1
        start local 3 // com.sun.tools.javac.code.Type op2
        start local 4 // com.sun.tools.javac.util.Warner warn
         0: .line 1166
            new com.sun.tools.javac.comp.Infer$IncorporationBinaryOp
            dup
            aload 0 /* this */
            aload 1 /* opKind */
            aload 2 /* op1 */
            aload 3 /* op2 */
            invokespecial com.sun.tools.javac.comp.Infer$IncorporationBinaryOp.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/comp/Infer$IncorporationBinaryOpKind;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)V
            astore 5 /* newOp */
        start local 5 // com.sun.tools.javac.comp.Infer$IncorporationBinaryOp newOp
         1: .line 1167
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.incorporationCache:Ljava/util/Map;
            aload 5 /* newOp */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 6 /* res */
        start local 6 // java.lang.Boolean res
         2: .line 1168
            aload 6 /* res */
            ifnonnull 4
         3: .line 1169
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.incorporationCache:Ljava/util/Map;
            aload 5 /* newOp */
            aload 5 /* newOp */
            aload 4 /* warn */
            invokevirtual com.sun.tools.javac.comp.Infer$IncorporationBinaryOp.apply:(Lcom/sun/tools/javac/util/Warner;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            dup
            astore 6 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1171
      StackMap locals: com.sun.tools.javac.comp.Infer$IncorporationBinaryOp java.lang.Boolean
      StackMap stack:
            aload 6 /* res */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 6 // java.lang.Boolean res
        end local 5 // com.sun.tools.javac.comp.Infer$IncorporationBinaryOp newOp
        end local 4 // com.sun.tools.javac.util.Warner warn
        end local 3 // com.sun.tools.javac.code.Type op2
        end local 2 // com.sun.tools.javac.code.Type op1
        end local 1 // com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind opKind
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1  opKind  Lcom/sun/tools/javac/comp/Infer$IncorporationBinaryOpKind;
            0    5     2     op1  Lcom/sun/tools/javac/code/Type;
            0    5     3     op2  Lcom/sun/tools/javac/code/Type;
            0    5     4    warn  Lcom/sun/tools/javac/util/Warner;
            1    5     5   newOp  Lcom/sun/tools/javac/comp/Infer$IncorporationBinaryOp;
            2    5     6     res  Ljava/lang/Boolean;
    MethodParameters:
        Name  Flags
      opKind  
      op1     
      op2     
      warn    

  void reportInstError(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type$UndetVar$InferenceBound);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        start local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         0: .line 1264
            invokestatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:()[I
            aload 2 /* ib */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 1
                    3: 3
              default: 4
          }
         1: .line 1266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 1 /* uv */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getInst:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.InferredDoNotConformToEqBounds:(Lcom/sun/tools/javac/code/Type;Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
         2: .line 1268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 1 /* uv */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getInst:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.InferredDoNotConformToLowerBounds:(Lcom/sun/tools/javac/code/Type;Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
         3: .line 1270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 1 /* uv */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getInst:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.InferredDoNotConformToUpperBounds:(Lcom/sun/tools/javac/code/Type;Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
         4: .line 1272
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1    uv  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    5     2    ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
    MethodParameters:
      Name  Flags
      uv    
      ib    

  void reportBoundError(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type$UndetVar$InferenceBound);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        start local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
         0: .line 1278
            invokestatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:()[I
            aload 2 /* ib */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 3
                    2: 1
                    3: 2
              default: 4
          }
         1: .line 1280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 1 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleEqBounds:(Lcom/sun/tools/javac/code/Type;Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
         2: .line 1282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 1 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleUpperBounds:(Lcom/sun/tools/javac/code/Type;Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
         3: .line 1284
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "this case shouldn't happen"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 1286
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1    uv  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    5     2    ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
    MethodParameters:
      Name  Flags
      uv    
      ib    

  void reportBoundError(com.sun.tools.javac.code.Type$UndetVar, com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.code.Type$UndetVar$InferenceBound);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)V
    flags: (0x0000) 
    Code:
      stack=11, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        start local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib1
        start local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib2
         0: .line 1292
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Infer.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
         1: .line 1293
            aload 1 /* uv */
            getfield com.sun.tools.javac.code.Type$UndetVar.qtype:Lcom/sun/tools/javac/code/Type;
         2: .line 1294
            aload 0 /* this */
            aload 2 /* ib1 */
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 2 /* ib1 */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Infer.getBoundFragment:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
         3: .line 1295
            aload 0 /* this */
            aload 3 /* ib2 */
            aload 1 /* uv */
            iconst_1
            anewarray com.sun.tools.javac.code.Type$UndetVar$InferenceBound
            dup
            iconst_0
            aload 3 /* ib2 */
            aastore
            invokevirtual com.sun.tools.javac.code.Type$UndetVar.getBounds:([Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Infer.getBoundFragment:(Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
         4: .line 1292
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleBounds:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokevirtual com.sun.tools.javac.comp.Infer.error:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/comp/Infer$InferenceException;
            athrow
        end local 3 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib2
        end local 2 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib1
        end local 1 // com.sun.tools.javac.code.Type$UndetVar uv
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1    uv  Lcom/sun/tools/javac/code/Type$UndetVar;
            0    5     2   ib1  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    5     3   ib2  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
    MethodParameters:
      Name  Flags
      uv    
      ib1   
      ib2   

  com.sun.tools.javac.util.JCDiagnostic$Fragment getBoundFragment(com.sun.tools.javac.code.Type$UndetVar$InferenceBound, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Infer this
        start local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        start local 2 // com.sun.tools.javac.util.List types
         0: .line 1299
            invokestatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$code$Type$UndetVar$InferenceBound:()[I
            aload 1 /* ib */
            invokevirtual com.sun.tools.javac.code.Type$UndetVar$InferenceBound.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 1
                    3: 3
              default: 4
          }
         1: .line 1300
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.EqBounds:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         2: .line 1301
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.LowerBounds:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         3: .line 1302
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.UpperBounds:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         4: .line 1304
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "can't get to this place"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // com.sun.tools.javac.util.List types
        end local 1 // com.sun.tools.javac.code.Type$UndetVar$InferenceBound ib
        end local 0 // com.sun.tools.javac.comp.Infer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/tools/javac/comp/Infer;
            0    5     1     ib  Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;
            0    5     2  types  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/code/Type$UndetVar$InferenceBound;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
    MethodParameters:
       Name  Flags
      ib     
      types  

  static int[] $SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$Tag();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 81
            getstatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$Tag:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.tools.javac.tree.JCTree$Tag.values:()[Lcom/sun/tools/javac/tree/JCTree$Tag;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.AND:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 64
            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.tree.JCTree$Tag.ANNOTATED_TYPE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 52
            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.tree.JCTree$Tag.ANNOTATION:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 49
            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.tree.JCTree$Tag.APPLY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 28
            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.tree.JCTree$Tag.ASSERT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 27
            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.tree.JCTree$Tag.ASSIGN:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 33
            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.tree.JCTree$Tag.BITAND:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 67
            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.tree.JCTree$Tag.BITAND_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 84
            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.tree.JCTree$Tag.BITOR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 65
            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.tree.JCTree$Tag.BITOR_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 82
            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.tree.JCTree$Tag.BITXOR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 66
            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.tree.JCTree$Tag.BITXOR_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 83
            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.tree.JCTree$Tag.BLOCK:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 9
            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.tree.JCTree$Tag.BREAK:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 23
            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.tree.JCTree$Tag.CASE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 16
            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.tree.JCTree$Tag.CATCH:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 19
            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.tree.JCTree$Tag.CLASSDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iconst_5
            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.tree.JCTree$Tag.COMPL:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 57
            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.tree.JCTree$Tag.CONDEXPR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 20
            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.tree.JCTree$Tag.CONTINUE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 24
            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.tree.JCTree$Tag.DIV:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 80
            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.tree.JCTree$Tag.DIV_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 91
            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.tree.JCTree$Tag.DOLOOP:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 10
            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.tree.JCTree$Tag.EQ:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 68
            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.tree.JCTree$Tag.ERRONEOUS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 53
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.EXEC:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 22
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.EXPORTS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 94
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.FOREACHLOOP:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 13
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.FORLOOP:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 12
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.GE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 73
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.GT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 71
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.IDENT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 39
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.IF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 21
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.IMPORT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iconst_4
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.INDEXED:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 36
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LABELLED:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 14
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LAMBDA:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 31
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 72
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LETEXPR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 99
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LITERAL:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 40
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 70
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 6
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MINUS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 78
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MINUS_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 89
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MOD:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 81
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MODIFIERS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 51
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MODULEDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 93
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MOD_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 92
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MUL:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 79
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MUL_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 90
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 69
            iastore
       153: goto 155
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       154: pop
      StackMap locals:
      StackMap stack:
       155: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NEG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 55
            iastore
       156: goto 158
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       157: pop
      StackMap locals:
      StackMap stack:
       158: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NEWARRAY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 30
            iastore
       159: goto 161
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       160: pop
      StackMap locals:
      StackMap stack:
       161: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NEWCLASS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 29
            iastore
       162: goto 164
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       163: pop
      StackMap locals:
      StackMap stack:
       164: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NOT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 56
            iastore
       165: goto 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       166: pop
      StackMap locals:
      StackMap stack:
       167: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NO_TAG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iconst_1
            iastore
       168: goto 170
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       169: pop
      StackMap locals:
      StackMap stack:
       170: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.NULLCHK:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 62
            iastore
       171: goto 173
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       172: pop
      StackMap locals:
      StackMap stack:
       173: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.OPENS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 95
            iastore
       174: goto 176
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       175: pop
      StackMap locals:
      StackMap stack:
       176: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.OR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 63
            iastore
       177: goto 179
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       178: pop
      StackMap locals:
      StackMap stack:
       179: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PACKAGEDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iconst_3
            iastore
       180: goto 182
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       181: pop
      StackMap locals:
      StackMap stack:
       182: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PARENS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 32
            iastore
       183: goto 185
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       184: pop
      StackMap locals:
      StackMap stack:
       185: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PLUS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 77
            iastore
       186: goto 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       187: pop
      StackMap locals:
      StackMap stack:
       188: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PLUS_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 88
            iastore
       189: goto 191
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       190: pop
      StackMap locals:
      StackMap stack:
       191: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.POS:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 54
            iastore
       192: goto 194
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       193: pop
      StackMap locals:
      StackMap stack:
       194: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.POSTDEC:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 61
            iastore
       195: goto 197
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       196: pop
      StackMap locals:
      StackMap stack:
       197: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.POSTINC:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 60
            iastore
       198: goto 200
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       199: pop
      StackMap locals:
      StackMap stack:
       200: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PREDEC:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 59
            iastore
       201: goto 203
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       202: pop
      StackMap locals:
      StackMap stack:
       203: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PREINC:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 58
            iastore
       204: goto 206
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       205: pop
      StackMap locals:
      StackMap stack:
       206: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.PROVIDES:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 96
            iastore
       207: goto 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       208: pop
      StackMap locals:
      StackMap stack:
       209: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.REFERENCE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 38
            iastore
       210: goto 212
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       211: pop
      StackMap locals:
      StackMap stack:
       212: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.REQUIRES:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 97
            iastore
       213: goto 215
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       214: pop
      StackMap locals:
      StackMap stack:
       215: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.RETURN:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 25
            iastore
       216: goto 218
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       217: pop
      StackMap locals:
      StackMap stack:
       218: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SELECT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 37
            iastore
       219: goto 221
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       220: pop
      StackMap locals:
      StackMap stack:
       221: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SKIP:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 8
            iastore
       222: goto 224
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       223: pop
      StackMap locals:
      StackMap stack:
       224: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SL:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 74
            iastore
       225: goto 227
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       226: pop
      StackMap locals:
      StackMap stack:
       227: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SL_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 85
            iastore
       228: goto 230
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       229: pop
      StackMap locals:
      StackMap stack:
       230: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 75
            iastore
       231: goto 233
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       232: pop
      StackMap locals:
      StackMap stack:
       233: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SR_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 86
            iastore
       234: goto 236
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       235: pop
      StackMap locals:
      StackMap stack:
       236: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SWITCH:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 15
            iastore
       237: goto 239
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       238: pop
      StackMap locals:
      StackMap stack:
       239: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.SYNCHRONIZED:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 17
            iastore
       240: goto 242
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       241: pop
      StackMap locals:
      StackMap stack:
       242: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.THROW:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 26
            iastore
       243: goto 245
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       244: pop
      StackMap locals:
      StackMap stack:
       245: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TOPLEVEL:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            iconst_2
            iastore
       246: goto 248
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       247: pop
      StackMap locals:
      StackMap stack:
       248: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TRY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 18
            iastore
       249: goto 251
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       250: pop
      StackMap locals:
      StackMap stack:
       251: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEAPPLY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 43
            iastore
       252: goto 254
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       253: pop
      StackMap locals:
      StackMap stack:
       254: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEARRAY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 42
            iastore
       255: goto 257
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       256: pop
      StackMap locals:
      StackMap stack:
       257: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEBOUNDKIND:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 48
            iastore
       258: goto 260
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       259: pop
      StackMap locals:
      StackMap stack:
       260: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPECAST:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 34
            iastore
       261: goto 263
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       262: pop
      StackMap locals:
      StackMap stack:
       263: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEIDENT:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 41
            iastore
       264: goto 266
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       265: pop
      StackMap locals:
      StackMap stack:
       266: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEINTERSECTION:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 45
            iastore
       267: goto 269
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       268: pop
      StackMap locals:
      StackMap stack:
       269: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEPARAMETER:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 46
            iastore
       270: goto 272
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       271: pop
      StackMap locals:
      StackMap stack:
       272: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPETEST:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 35
            iastore
       273: goto 275
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       274: pop
      StackMap locals:
      StackMap stack:
       275: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEUNION:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 44
            iastore
       276: goto 278
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       277: pop
      StackMap locals:
      StackMap stack:
       278: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPE_ANNOTATION:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 50
            iastore
       279: goto 281
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       280: pop
      StackMap locals:
      StackMap stack:
       281: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.USES:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 98
            iastore
       282: goto 284
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       283: pop
      StackMap locals:
      StackMap stack:
       284: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.USR:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 76
            iastore
       285: goto 287
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       286: pop
      StackMap locals:
      StackMap stack:
       287: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.USR_ASG:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 87
            iastore
       288: goto 290
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       289: pop
      StackMap locals:
      StackMap stack:
       290: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.VARDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 7
            iastore
       291: goto 293
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       292: pop
      StackMap locals:
      StackMap stack:
       293: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.WHILELOOP:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 11
            iastore
       294: goto 296
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       295: pop
      StackMap locals:
      StackMap stack:
       296: aload 0
            getstatic com.sun.tools.javac.tree.JCTree$Tag.WILDCARD:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$Tag.ordinal:()I
            bipush 47
            iastore
       297: goto 299
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       298: pop
      StackMap locals:
      StackMap stack:
       299: aload 0
            dup
            putstatic com.sun.tools.javac.comp.Infer.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$Tag:[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
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
         152   153     154  Class java.lang.NoSuchFieldError
         155   156     157  Class java.lang.NoSuchFieldError
         158   159     160  Class java.lang.NoSuchFieldError
         161   162     163  Class java.lang.NoSuchFieldError
         164   165     166  Class java.lang.NoSuchFieldError
         167   168     169  Class java.lang.NoSuchFieldError
         170   171     172  Class java.lang.NoSuchFieldError
         173   174     175  Class java.lang.NoSuchFieldError
         176   177     178  Class java.lang.NoSuchFieldError
         179   180     181  Class java.lang.NoSuchFieldError
         182   183     184  Class java.lang.NoSuchFieldError
         185   186     187  Class java.lang.NoSuchFieldError
         188   189     190  Class java.lang.NoSuchFieldError
         191   192     193  Class java.lang.NoSuchFieldError
         194   195     196  Class java.lang.NoSuchFieldError
         197   198     199  Class java.lang.NoSuchFieldError
         200   201     202  Class java.lang.NoSuchFieldError
         203   204     205  Class java.lang.NoSuchFieldError
         206   207     208  Class java.lang.NoSuchFieldError
         209   210     211  Class java.lang.NoSuchFieldError
         212   213     214  Class java.lang.NoSuchFieldError
         215   216     217  Class java.lang.NoSuchFieldError
         218   219     220  Class java.lang.NoSuchFieldError
         221   222     223  Class java.lang.NoSuchFieldError
         224   225     226  Class java.lang.NoSuchFieldError
         227   228     229  Class java.lang.NoSuchFieldError
         230   231     232  Class java.lang.NoSuchFieldError
         233   234     235  Class java.lang.NoSuchFieldError
         236   237     238  Class java.lang.NoSuchFieldError
         239   240     241  Class java.lang.NoSuchFieldError
         242   243     244  Class java.lang.NoSuchFieldError
         245   246     247  Class java.lang.NoSuchFieldError
         248   249     250  Class java.lang.NoSuchFieldError
         251   252     253  Class java.lang.NoSuchFieldError
         254   255     256  Class java.lang.NoSuchFieldError
         257   258     259  Class java.lang.NoSuchFieldError
         260   261     262  Class java.lang.NoSuchFieldError
         263   264     265  Class java.lang.NoSuchFieldError
         266   267     268  Class java.lang.NoSuchFieldError
         269   270     271  Class java.lang.NoSuchFieldError
         272   273     274  Class java.lang.NoSuchFieldError
         275   276     277  Class java.lang.NoSuchFieldError
         278   279     280  Class java.lang.NoSuchFieldError
         281   282     283  Class java.lang.NoSuchFieldError
         284   285     286  Class java.lang.NoSuchFieldError
         287   288     289  Class java.lang.NoSuchFieldError
         290   291     292  Class java.lang.NoSuchFieldError
         293   294     295  Class java.lang.NoSuchFieldError
         296   297     298  Class java.lang.NoSuchFieldError

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

  private static boolean lambda$0(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Type tv
         0: .line 272
            aload 0 /* tv */
            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 140737488355328
            land
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.tools.javac.code.Type tv
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    tv  Lcom/sun/tools/javac/code/Type;

  private static boolean lambda$1(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 1 // com.sun.tools.javac.code.Type b
         0: .line 677
            aload 1 /* b */
            aload 0
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Type.containsAny:(Lcom/sun/tools/javac/util/List;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // com.sun.tools.javac.code.Type b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     b  Lcom/sun/tools/javac/code/Type;
}
SourceFile: "Infer.java"
NestMembers:
  com.sun.tools.javac.comp.Infer$1  com.sun.tools.javac.comp.Infer$2  com.sun.tools.javac.comp.Infer$3  com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine  com.sun.tools.javac.comp.Infer$BestLeafSolver  com.sun.tools.javac.comp.Infer$BoundFilter  com.sun.tools.javac.comp.Infer$CheckBounds  com.sun.tools.javac.comp.Infer$CheckInst  com.sun.tools.javac.comp.Infer$CheckUpperBounds  com.sun.tools.javac.comp.Infer$DependencyKind  com.sun.tools.javac.comp.Infer$EqCheckLegacy  com.sun.tools.javac.comp.Infer$FreeTypeListener  com.sun.tools.javac.comp.Infer$GraphInferenceSteps  com.sun.tools.javac.comp.Infer$GraphSolver  com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph  com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph$Node  com.sun.tools.javac.comp.Infer$GraphStrategy  com.sun.tools.javac.comp.Infer$GraphStrategy$NodeNotFoundException  com.sun.tools.javac.comp.Infer$ImplicitArgType  com.sun.tools.javac.comp.Infer$IncorporationAction  com.sun.tools.javac.comp.Infer$IncorporationBinaryOp  com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind  com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind$1  com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind$2  com.sun.tools.javac.comp.Infer$InferenceException  com.sun.tools.javac.comp.Infer$InferenceStep  com.sun.tools.javac.comp.Infer$InferenceStep$1  com.sun.tools.javac.comp.Infer$InferenceStep$2  com.sun.tools.javac.comp.Infer$InferenceStep$3  com.sun.tools.javac.comp.Infer$InferenceStep$4  com.sun.tools.javac.comp.Infer$InferenceStep$5  com.sun.tools.javac.comp.Infer$InferenceStep$6  com.sun.tools.javac.comp.Infer$LeafSolver  com.sun.tools.javac.comp.Infer$LegacyInferenceSteps  com.sun.tools.javac.comp.Infer$PartiallyInferredMethodType  com.sun.tools.javac.comp.Infer$PropagateBounds  com.sun.tools.javac.comp.Infer$SubstBounds
InnerClasses:
  public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
  public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol 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 TypeVariableSymbol = com.sun.tools.javac.code.Symbol$TypeVariableSymbol of com.sun.tools.javac.code.Symbol
  public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
  public IntersectionClassType = com.sun.tools.javac.code.Type$IntersectionClassType of com.sun.tools.javac.code.Type
  public JCNoType = com.sun.tools.javac.code.Type$JCNoType of com.sun.tools.javac.code.Type
  public MethodType = com.sun.tools.javac.code.Type$MethodType 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 TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
  CheckMode = com.sun.tools.javac.comp.Attr$CheckMode of com.sun.tools.javac.comp.Attr
  ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
  public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
  public final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
  DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
  DeferredAttrNode = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode of com.sun.tools.javac.comp.DeferredAttr
  abstract DeferredStuckPolicy = com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy of com.sun.tools.javac.comp.DeferredAttr
  com.sun.tools.javac.comp.Infer$1
  com.sun.tools.javac.comp.Infer$2
  com.sun.tools.javac.comp.Infer$3
  abstract AbstractIncorporationEngine = com.sun.tools.javac.comp.Infer$AbstractIncorporationEngine of com.sun.tools.javac.comp.Infer
  abstract BestLeafSolver = com.sun.tools.javac.comp.Infer$BestLeafSolver of com.sun.tools.javac.comp.Infer
  protected BoundFilter = com.sun.tools.javac.comp.Infer$BoundFilter of com.sun.tools.javac.comp.Infer
  CheckBounds = com.sun.tools.javac.comp.Infer$CheckBounds of com.sun.tools.javac.comp.Infer
  CheckInst = com.sun.tools.javac.comp.Infer$CheckInst of com.sun.tools.javac.comp.Infer
  CheckUpperBounds = com.sun.tools.javac.comp.Infer$CheckUpperBounds of com.sun.tools.javac.comp.Infer
  final DependencyKind = com.sun.tools.javac.comp.Infer$DependencyKind of com.sun.tools.javac.comp.Infer
  EqCheckLegacy = com.sun.tools.javac.comp.Infer$EqCheckLegacy of com.sun.tools.javac.comp.Infer
  abstract FreeTypeListener = com.sun.tools.javac.comp.Infer$FreeTypeListener of com.sun.tools.javac.comp.Infer
  final GraphInferenceSteps = com.sun.tools.javac.comp.Infer$GraphInferenceSteps of com.sun.tools.javac.comp.Infer
  GraphSolver = com.sun.tools.javac.comp.Infer$GraphSolver of com.sun.tools.javac.comp.Infer
  abstract GraphStrategy = com.sun.tools.javac.comp.Infer$GraphStrategy of com.sun.tools.javac.comp.Infer
  ImplicitArgType = com.sun.tools.javac.comp.Infer$ImplicitArgType of com.sun.tools.javac.comp.Infer
  public abstract IncorporationAction = com.sun.tools.javac.comp.Infer$IncorporationAction of com.sun.tools.javac.comp.Infer
  IncorporationBinaryOp = com.sun.tools.javac.comp.Infer$IncorporationBinaryOp of com.sun.tools.javac.comp.Infer
  abstract IncorporationBinaryOpKind = com.sun.tools.javac.comp.Infer$IncorporationBinaryOpKind of com.sun.tools.javac.comp.Infer
  public InferenceException = com.sun.tools.javac.comp.Infer$InferenceException of com.sun.tools.javac.comp.Infer
  abstract InferenceStep = com.sun.tools.javac.comp.Infer$InferenceStep of com.sun.tools.javac.comp.Infer
  abstract LeafSolver = com.sun.tools.javac.comp.Infer$LeafSolver of com.sun.tools.javac.comp.Infer
  final LegacyInferenceSteps = com.sun.tools.javac.comp.Infer$LegacyInferenceSteps of com.sun.tools.javac.comp.Infer
  public PartiallyInferredMethodType = com.sun.tools.javac.comp.Infer$PartiallyInferredMethodType of com.sun.tools.javac.comp.Infer
  PropagateBounds = com.sun.tools.javac.comp.Infer$PropagateBounds of com.sun.tools.javac.comp.Infer
  SubstBounds = com.sun.tools.javac.comp.Infer$SubstBounds of com.sun.tools.javac.comp.Infer
  abstract MethodCheck = com.sun.tools.javac.comp.Resolve$MethodCheck of com.sun.tools.javac.comp.Resolve
  MethodResolutionContext = com.sun.tools.javac.comp.Resolve$MethodResolutionContext of com.sun.tools.javac.comp.Resolve
  MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
  final VerboseResolutionMode = com.sun.tools.javac.comp.Resolve$VerboseResolutionMode of com.sun.tools.javac.comp.Resolve
  public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
  public Notes = com.sun.tools.javac.resources.CompilerProperties$Notes of com.sun.tools.javac.resources.CompilerProperties
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCExpressionStatement = com.sun.tools.javac.tree.JCTree$JCExpressionStatement of com.sun.tools.javac.tree.JCTree
  public JCTypeCast = com.sun.tools.javac.tree.JCTree$JCTypeCast of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag 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 Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic
  public final Note = com.sun.tools.javac.util.JCDiagnostic$Note of com.sun.tools.javac.util.JCDiagnostic
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles