class jdk.jshell.ExpressionToTypeInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.jshell.ExpressionToTypeInfo
  super_class: java.lang.Object
{
  private static final java.lang.String OBJECT_TYPE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Object"

  final jdk.jshell.TaskFactory$AnalyzeTask at;
    descriptor: Ljdk/jshell/TaskFactory$AnalyzeTask;
    flags: (0x0010) ACC_FINAL

  final com.sun.source.tree.CompilationUnitTree cu;
    descriptor: Lcom/sun/source/tree/CompilationUnitTree;
    flags: (0x0010) ACC_FINAL

  final jdk.jshell.JShell state;
    descriptor: Ljdk/jshell/JShell;
    flags: (0x0010) ACC_FINAL

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

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

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

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

  final java.util.Map<com.sun.tools.javac.code.Symbol$TypeSymbol, java.lang.String> anon2Name;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljava/lang/String;>;

  private static final java.util.Set<javax.lang.model.element.ElementKind> LOCAL_VARIABLES;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljavax/lang/model/element/ElementKind;>;

  private static volatile int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 510
            getstatic javax.lang.model.element.ElementKind.EXCEPTION_PARAMETER:Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.LOCAL_VARIABLE:Ljavax/lang/model/element/ElementKind;
         1: .line 511
            getstatic javax.lang.model.element.ElementKind.PARAMETER:Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.RESOURCE_VARIABLE:Ljavax/lang/model/element/ElementKind;
         2: .line 510
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
         3: .line 509
            putstatic jdk.jshell.ExpressionToTypeInfo.LOCAL_VARIABLES:Ljava/util/Set;
         4: .line 511
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(jdk.jshell.TaskFactory$AnalyzeTask, com.sun.source.tree.CompilationUnitTree, jdk.jshell.JShell, boolean, boolean);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Ljdk/jshell/JShell;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        start local 2 // com.sun.source.tree.CompilationUnitTree cu
        start local 3 // jdk.jshell.JShell state
        start local 4 // boolean computeEnhancedInfo
        start local 5 // boolean enhancedTypesAccessible
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.jshell.ExpressionToTypeInfo.anon2Name:Ljava/util/Map;
         2: .line 86
            aload 0 /* this */
            aload 1 /* at */
            putfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
         3: .line 87
            aload 0 /* this */
            aload 2 /* cu */
            putfield jdk.jshell.ExpressionToTypeInfo.cu:Lcom/sun/source/tree/CompilationUnitTree;
         4: .line 88
            aload 0 /* this */
            aload 3 /* state */
            putfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
         5: .line 89
            aload 0 /* this */
            iload 4 /* computeEnhancedInfo */
            putfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
         6: .line 90
            aload 0 /* this */
            iload 5 /* enhancedTypesAccessible */
            putfield jdk.jshell.ExpressionToTypeInfo.enhancedTypesAccessible:Z
         7: .line 91
            aload 0 /* this */
            aload 1 /* at */
            getfield jdk.jshell.TaskFactory$AnalyzeTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield jdk.jshell.ExpressionToTypeInfo.syms:Lcom/sun/tools/javac/code/Symtab;
         8: .line 92
            aload 0 /* this */
            aload 1 /* at */
            getfield jdk.jshell.TaskFactory$AnalyzeTask.context:Lcom/sun/tools/javac/util/Context;
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
         9: .line 93
            return
        end local 5 // boolean enhancedTypesAccessible
        end local 4 // boolean computeEnhancedInfo
        end local 3 // jdk.jshell.JShell state
        end local 2 // com.sun.source.tree.CompilationUnitTree cu
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Ljdk/jshell/ExpressionToTypeInfo;
            0   10     1                       at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            0   10     2                       cu  Lcom/sun/source/tree/CompilationUnitTree;
            0   10     3                    state  Ljdk/jshell/JShell;
            0   10     4      computeEnhancedInfo  Z
            0   10     5  enhancedTypesAccessible  Z
    MethodParameters:
                         Name  Flags
      at                       
      cu                       
      state                    
      computeEnhancedInfo      
      enhancedTypesAccessible  

  private com.sun.tools.javac.code.Type pathToType(com.sun.source.util.TreePath);
    descriptor: (Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.source.util.TreePath tp
         0: .line 208
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
            aload 1 /* tp */
            invokevirtual com.sun.source.util.Trees.getTypeMirror:(Lcom/sun/source/util/TreePath;)Ljavax/lang/model/type/TypeMirror;
            checkcast com.sun.tools.javac.code.Type
            areturn
        end local 1 // com.sun.source.util.TreePath tp
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    1     1    tp  Lcom/sun/source/util/TreePath;
    MethodParameters:
      Name  Flags
      tp    

  private com.sun.tools.javac.code.Type pathToType(com.sun.source.util.TreePath, com.sun.source.tree.Tree);
    descriptor: (Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.source.util.TreePath tp
        start local 2 // com.sun.source.tree.Tree tree
         0: .line 212
            aload 2 /* tree */
            instanceof com.sun.source.tree.ConditionalExpressionTree
            ifeq 7
         1: .line 214
            aload 2 /* tree */
            checkcast com.sun.source.tree.ConditionalExpressionTree
            astore 3 /* cet */
        start local 3 // com.sun.source.tree.ConditionalExpressionTree cet
         2: .line 215
            aload 0 /* this */
            new com.sun.source.util.TreePath
            dup
            aload 1 /* tp */
            aload 3 /* cet */
            invokeinterface com.sun.source.tree.ConditionalExpressionTree.getTrueExpression:()Lcom/sun/source/tree/ExpressionTree;
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* tmt */
        start local 4 // com.sun.tools.javac.code.Type tmt
         3: .line 216
            aload 0 /* this */
            new com.sun.source.util.TreePath
            dup
            aload 1 /* tp */
            aload 3 /* cet */
            invokeinterface com.sun.source.tree.ConditionalExpressionTree.getFalseExpression:()Lcom/sun/source/tree/ExpressionTree;
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* tmf */
        start local 5 // com.sun.tools.javac.code.Type tmf
         4: .line 217
            aload 4 /* tmt */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 7
            aload 5 /* tmf */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 7
         5: .line 218
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            iconst_2
            anewarray com.sun.tools.javac.code.Type
            dup
            iconst_0
            aload 4 /* tmt */
            aastore
            dup
            iconst_1
            aload 5 /* tmf */
            aastore
            invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* lub */
        start local 6 // com.sun.tools.javac.code.Type lub
         6: .line 221
            aload 6 /* lub */
            areturn
        end local 6 // com.sun.tools.javac.code.Type lub
        end local 5 // com.sun.tools.javac.code.Type tmf
        end local 4 // com.sun.tools.javac.code.Type tmt
        end local 3 // com.sun.source.tree.ConditionalExpressionTree cet
         7: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tp */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 2 // com.sun.source.tree.Tree tree
        end local 1 // com.sun.source.util.TreePath tp
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    8     1    tp  Lcom/sun/source/util/TreePath;
            0    8     2  tree  Lcom/sun/source/tree/Tree;
            2    7     3   cet  Lcom/sun/source/tree/ConditionalExpressionTree;
            3    7     4   tmt  Lcom/sun/tools/javac/code/Type;
            4    7     5   tmf  Lcom/sun/tools/javac/code/Type;
            6    7     6   lub  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tp    
      tree  

  public static jdk.jshell.ExpressionToTypeInfo$ExpressionInfo expressionInfo(java.lang.String, jdk.jshell.JShell);
    descriptor: (Ljava/lang/String;Ljdk/jshell/JShell;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String code
        start local 1 // jdk.jshell.JShell state
         0: .line 234
            aload 0 /* code */
            ifnull 1
            aload 0 /* code */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
            aload 0 /* code */
            invokestatic jdk.jshell.Wrap.methodReturnWrap:(Ljava/lang/String;)Ljdk/jshell/Wrap;
            invokevirtual jdk.jshell.OuterWrapMap.wrapInTrialClass:(Ljdk/jshell/Wrap;)Ljdk/jshell/OuterWrap;
            astore 2 /* codeWrap */
        start local 2 // jdk.jshell.OuterWrap codeWrap
         3: .line 239
            aload 1 /* state */
            getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
            aload 2 /* codeWrap */
            aload 1 /* state */
            invokedynamic withTask(Ljdk/jshell/JShell;)Ljdk/jshell/TaskFactory$Worker;
              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:
                  (Ljdk/jshell/TaskFactory$BaseTask;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$0(Ljdk/jshell/JShell;Ljdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo; (6)
                  (Ljdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            invokevirtual jdk.jshell.TaskFactory.analyze:(Ljdk/jshell/OuterWrap;Ljdk/jshell/TaskFactory$Worker;)Ljava/lang/Object;
            checkcast jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
         4: areturn
         5: .line 246
      StackMap locals: java.lang.String jdk.jshell.JShell jdk.jshell.OuterWrap
      StackMap stack: java.lang.Exception
            pop
         6: .line 247
            aconst_null
            areturn
        end local 2 // jdk.jshell.OuterWrap codeWrap
        end local 1 // jdk.jshell.JShell state
        end local 0 // java.lang.String code
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      code  Ljava/lang/String;
            0    7     1     state  Ljdk/jshell/JShell;
            3    7     2  codeWrap  Ljdk/jshell/OuterWrap;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      code   
      state  

  public static jdk.jshell.ExpressionToTypeInfo$ExpressionInfo localVariableTypeForInitializer(java.lang.String, jdk.jshell.JShell, boolean);
    descriptor: (Ljava/lang/String;Ljdk/jshell/JShell;Z)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.String code
        start local 1 // jdk.jshell.JShell state
        start local 2 // boolean onlyAccessible
         0: .line 259
            aload 0 /* code */
            ifnull 1
            aload 0 /* code */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 260
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
            new java.lang.StringBuilder
            dup
            ldc "var $$$ = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jshell.Wrap.methodWrap:(Ljava/lang/String;)Ljdk/jshell/Wrap;
            invokevirtual jdk.jshell.OuterWrapMap.wrapInTrialClass:(Ljdk/jshell/Wrap;)Ljdk/jshell/OuterWrap;
            astore 3 /* codeWrap */
        start local 3 // jdk.jshell.OuterWrap codeWrap
         3: .line 264
            aload 1 /* state */
            getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
            aload 3 /* codeWrap */
            aload 1 /* state */
            iload 2 /* onlyAccessible */
            invokedynamic withTask(Ljdk/jshell/JShell;Z)Ljdk/jshell/TaskFactory$Worker;
              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:
                  (Ljdk/jshell/TaskFactory$BaseTask;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$1(Ljdk/jshell/JShell;ZLjdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo; (6)
                  (Ljdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            invokevirtual jdk.jshell.TaskFactory.analyze:(Ljdk/jshell/OuterWrap;Ljdk/jshell/TaskFactory$Worker;)Ljava/lang/Object;
            checkcast jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
         4: areturn
        end local 3 // jdk.jshell.OuterWrap codeWrap
         5: .line 272
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 273
            aconst_null
            areturn
        end local 2 // boolean onlyAccessible
        end local 1 // jdk.jshell.JShell state
        end local 0 // java.lang.String code
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            code  Ljava/lang/String;
            0    7     1           state  Ljdk/jshell/JShell;
            0    7     2  onlyAccessible  Z
            3    5     3        codeWrap  Ljdk/jshell/OuterWrap;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception
    MethodParameters:
                Name  Flags
      code            
      state           
      onlyAccessible  

  public static com.sun.tools.javac.util.List<com.sun.source.tree.NewClassTree> listAnonymousClassesToConvert(com.sun.source.tree.Tree);
    descriptor: (Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.source.tree.Tree from
         0: .line 284
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 1 /* classes */
        start local 1 // com.sun.tools.javac.util.ListBuffer classes
         1: .line 286
            new jdk.jshell.ExpressionToTypeInfo$1
            dup
            aload 1 /* classes */
            invokespecial jdk.jshell.ExpressionToTypeInfo$1.<init>:(Lcom/sun/tools/javac/util/ListBuffer;)V
         2: .line 295
            aload 0 /* from */
            aconst_null
            invokevirtual jdk.jshell.ExpressionToTypeInfo$1.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 297
            aload 1 /* classes */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 1 // com.sun.tools.javac.util.ListBuffer classes
        end local 0 // com.sun.source.tree.Tree from
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     from  Lcom/sun/source/tree/Tree;
            1    4     1  classes  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/source/tree/NewClassTree;>;
    Signature: (Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/util/List<Lcom/sun/source/tree/NewClassTree;>;
    MethodParameters:
      Name  Flags
      from  

  private jdk.jshell.ExpressionToTypeInfo$ExpressionInfo typeOfExpression();
    descriptor: ()Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
         0: .line 301
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.findExpressionPath:()Lcom/sun/source/util/TreePath;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.treeToInfo:(Lcom/sun/source/util/TreePath;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            areturn
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/ExpressionToTypeInfo;

  private com.sun.source.util.TreePath findExpressionPath();
    descriptor: ()Lcom/sun/source/util/TreePath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
         0: .line 306
            new jdk.jshell.ExpressionToTypeInfo$PathFinder
            dup
            invokespecial jdk.jshell.ExpressionToTypeInfo$PathFinder.<init>:()V
            new com.sun.source.util.TreePath
            dup
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.cu:Lcom/sun/source/tree/CompilationUnitTree;
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/tree/CompilationUnitTree;)V
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual jdk.jshell.ExpressionToTypeInfo$PathFinder.scan:(Lcom/sun/source/util/TreePath;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 307
            goto 4
      StackMap locals:
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$Result
         2: astore 1 /* result */
        start local 1 // jdk.jshell.ExpressionToTypeInfo$Result result
         3: .line 308
            aload 1 /* result */
            getfield jdk.jshell.ExpressionToTypeInfo$Result.expressionPath:Lcom/sun/source/util/TreePath;
            areturn
        end local 1 // jdk.jshell.ExpressionToTypeInfo$Result result
         4: .line 310
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/jshell/ExpressionToTypeInfo;
            3    4     1  result  Ljdk/jshell/ExpressionToTypeInfo$Result;
      Exception table:
        from    to  target  type
           0     1       2  Class jdk.jshell.ExpressionToTypeInfo$Result

  private boolean isAccessible(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type type
         0: .line 322
            aload 1 /* type */
            invokevirtual com.sun.tools.javac.code.Type.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            astore 2 /* tsym */
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
         1: .line 323
            aload 2 /* tsym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 4
         2: .line 324
            aload 2 /* tsym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 2
            land
            lconst_0
            lcmp
            ifne 7
         3: .line 325
            aload 2 /* tsym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            invokestatic jdk.jshell.Util.isInJShellClass:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 326
      StackMap locals: com.sun.tools.javac.code.Symbol$TypeSymbol
      StackMap stack:
            aload 1 /* type */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
         5: .line 327
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/ExpressionToTypeInfo;)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
                  jdk/jshell/ExpressionToTypeInfo.isAccessible(Lcom/sun/tools/javac/code/Type;)Z (7)
                  (Lcom/sun/tools/javac/code/Type;)Z
            invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
            ifeq 7
         6: .line 323
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol tsym
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    8     1  type  Lcom/sun/tools/javac/code/Type;
            1    8     2  tsym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    MethodParameters:
      Name  Flags
      type  

  private com.sun.tools.javac.code.Type supertype(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type type
         0: .line 337
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* type */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* sup */
        start local 2 // com.sun.tools.javac.code.Type sup
         1: .line 338
            aload 2 /* sup */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            if_acmpeq 2
            aload 2 /* sup */
            ifnonnull 3
         2: .line 339
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            areturn
         3: .line 341
      StackMap locals:
      StackMap stack:
            aload 2 /* sup */
            areturn
        end local 2 // com.sun.tools.javac.code.Type sup
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    4     1  type  Lcom/sun/tools/javac/code/Type;
            1    4     2   sup  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      type  

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> findAccessibleSupertypes(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type type
         0: .line 352
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 2 /* accessible */
        start local 2 // com.sun.tools.javac.util.List accessible
         1: .line 353
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            astore 3 /* accessibleSuper */
        start local 3 // com.sun.tools.javac.code.Type accessibleSuper
         2: .line 355
            aload 1 /* type */
            astore 4 /* sup */
        start local 4 // com.sun.tools.javac.code.Type sup
         3: goto 9
         4: .line 356
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            aload 4 /* sup */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.isAccessible:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 8
         5: .line 357
            aload 2 /* accessible */
            aload 4 /* sup */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* accessible */
         6: .line 358
            aload 4 /* sup */
            astore 3 /* accessibleSuper */
         7: .line 359
            goto 10
         8: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* sup */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* sup */
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* sup */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.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 4
        end local 4 // com.sun.tools.javac.code.Type sup
        10: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            astore 4 /* sup */
        start local 4 // com.sun.tools.javac.code.Type sup
        11: goto 18
        12: .line 364
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* sup */
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 5 /* itf */
        start local 5 // com.sun.tools.javac.code.Type itf
        14: .line 365
            aload 0 /* this */
            aload 5 /* itf */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.isAccessible:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 16
        15: .line 366
            aload 2 /* accessible */
            aload 5 /* itf */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* accessible */
        end local 5 // com.sun.tools.javac.code.Type itf
        16: .line 364
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 363
            aload 0 /* this */
            aload 4 /* sup */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* sup */
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack:
        18: aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* sup */
            aload 3 /* accessibleSuper */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 12
        end local 4 // com.sun.tools.javac.code.Type sup
        19: .line 370
            aload 2 /* accessible */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 21
        20: .line 372
            aload 2 /* accessible */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 2 /* accessible */
        21: .line 375
      StackMap locals:
      StackMap stack:
            aload 2 /* accessible */
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 3 // com.sun.tools.javac.code.Type accessibleSuper
        end local 2 // com.sun.tools.javac.util.List accessible
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Ljdk/jshell/ExpressionToTypeInfo;
            0   22     1             type  Lcom/sun/tools/javac/code/Type;
            1   22     2       accessible  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2   22     3  accessibleSuper  Lcom/sun/tools/javac/code/Type;
            3   10     4              sup  Lcom/sun/tools/javac/code/Type;
           11   19     4              sup  Lcom/sun/tools/javac/code/Type;
           14   16     5              itf  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      type  

  private jdk.jshell.ExpressionToTypeInfo$ExpressionInfo treeToInfo(com.sun.source.util.TreePath);
    descriptor: (Lcom/sun/source/util/TreePath;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.source.util.TreePath tp
         0: .line 379
            aload 1 /* tp */
            ifnull 99
         1: .line 380
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getLeaf:()Lcom/sun/source/tree/Tree;
            astore 2 /* tree */
        start local 2 // com.sun.source.tree.Tree tree
         2: .line 381
            aload 2 /* tree */
            instanceof com.sun.source.tree.ExpressionTree
            istore 3 /* isExpression */
        start local 3 // boolean isExpression
         3: .line 382
            iload 3 /* isExpression */
            ifne 4
            aload 2 /* tree */
            invokeinterface com.sun.source.tree.Tree.getKind:()Lcom/sun/source/tree/Tree$Kind;
            getstatic com.sun.source.tree.Tree$Kind.VARIABLE:Lcom/sun/source/tree/Tree$Kind;
            if_acmpne 99
         4: .line 383
      StackMap locals: com.sun.source.tree.Tree int
      StackMap stack:
            new jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
            dup
            invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.<init>:()V
            astore 4 /* ei */
        start local 4 // jdk.jshell.ExpressionToTypeInfo$ExpressionInfo ei
         5: .line 384
            iload 3 /* isExpression */
            ifeq 7
         6: .line 385
            aload 4 /* ei */
            aload 2 /* tree */
            checkcast com.sun.source.tree.ExpressionTree
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.tree:Lcom/sun/source/tree/ExpressionTree;
         7: .line 386
      StackMap locals: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tp */
            aload 2 /* tree */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/code/Type;
            astore 5 /* type */
        start local 5 // com.sun.tools.javac.code.Type type
         8: .line 387
            aload 5 /* type */
            ifnull 39
         9: .line 388
            invokestatic jdk.jshell.ExpressionToTypeInfo.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
            aload 5 /* type */
            invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iaload
            tableswitch { // 9 - 19
                    9: 10
                   10: 10
                   11: 11
                   12: 15
                   13: 15
                   14: 10
                   15: 15
                   16: 15
                   17: 15
                   18: 15
                   19: 10
              default: 15
          }
        10: .line 393
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            goto 39
        11: .line 395
      StackMap locals:
      StackMap stack:
            aload 4 /* ei */
            iconst_1
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
        12: .line 396
            aload 4 /* ei */
            ldc "Object"
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.typeName:Ljava/lang/String;
        13: .line 397
            aload 4 /* ei */
            ldc "Object"
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
        14: .line 398
            goto 39
        15: .line 400
      StackMap locals:
      StackMap stack:
            aload 4 /* ei */
            iconst_1
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
        16: .line 401
            aload 4 /* ei */
            aload 5 /* type */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isPrimitiveType:Z
        17: .line 402
            aload 4 /* ei */
            aload 0 /* this */
            aload 5 /* type */
            iconst_0
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.SUPER:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.typeName:Ljava/lang/String;
        18: .line 403
            aload 0 /* this */
            aload 5 /* type */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.findAccessibleSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 6 /* accessibleTypes */
        start local 6 // com.sun.tools.javac.util.List accessibleTypes
        19: .line 404
            aload 4 /* ei */
        20: .line 405
            aload 0 /* this */
            aload 6 /* accessibleTypes */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            iconst_0
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.SUPER:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
        21: .line 404
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
        22: .line 406
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
            ifeq 39
        23: .line 407
            aload 6 /* accessibleTypes */
            invokevirtual com.sun.tools.javac.util.List.size:()I
            iconst_1
            if_icmpne 24
            aload 6 /* accessibleTypes */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            goto 25
        24: .line 408
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 6 /* accessibleTypes */
            invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
        25: .line 407
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 7 /* accessibleType */
        start local 7 // com.sun.tools.javac.code.Type accessibleType
        26: .line 409
            aload 4 /* ei */
        27: .line 410
            aload 0 /* this */
            aload 7 /* accessibleType */
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$3(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            iconst_0
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
        28: .line 409
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.declareTypeName:Ljava/lang/String;
        29: .line 411
            aload 4 /* ei */
        30: .line 412
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.enhancedTypesAccessible:Z
            ifeq 31
            aload 7 /* accessibleType */
            goto 32
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo jdk.jshell.ExpressionToTypeInfo
        31: aload 5 /* type */
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type
        32: invokedynamic apply()Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$4(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        33: .line 413
            iconst_1
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        34: .line 412
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
        35: .line 411
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.fullTypeName:Ljava/lang/String;
        36: .line 414
            aload 4 /* ei */
        37: .line 415
            aload 0 /* this */
            aload 5 /* type */
            iconst_1
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DISPLAY:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
        38: .line 414
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.displayTypeName:Ljava/lang/String;
        end local 7 // com.sun.tools.javac.code.Type accessibleType
        end local 6 // com.sun.tools.javac.util.List accessibleTypes
        39: .line 421
      StackMap locals:
      StackMap stack:
            aload 2 /* tree */
            invokeinterface com.sun.source.tree.Tree.getKind:()Lcom/sun/source/tree/Tree$Kind;
            getstatic com.sun.source.tree.Tree$Kind.VARIABLE:Lcom/sun/source/tree/Tree$Kind;
            if_acmpne 98
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
            ifeq 98
        40: .line 422
            aload 2 /* tree */
            checkcast com.sun.source.tree.VariableTree
            invokeinterface com.sun.source.tree.VariableTree.getInitializer:()Lcom/sun/source/tree/ExpressionTree;
            astore 6 /* init */
        start local 6 // com.sun.source.tree.Tree init
        41: .line 423
            aload 6 /* init */
            invokestatic jdk.jshell.ExpressionToTypeInfo.listAnonymousClassesToConvert:(Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 96
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree top java.util.Iterator
      StackMap stack:
        42: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.source.tree.NewClassTree
            astore 7 /* node */
        start local 7 // com.sun.source.tree.NewClassTree node
        43: .line 424
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
        44: .line 425
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
        45: .line 426
            aload 7 /* node */
        46: .line 424
            invokestatic jdk.jshell.ExpressionToTypeInfo.capturedVariables:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set;
            astore 9 /* captured */
        start local 9 // java.util.Set captured
        47: .line 427
            aload 7 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getClassBody:()Lcom/sun/source/tree/ClassTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCClassDecl
            astore 10 /* clazz */
        start local 10 // com.sun.tools.javac.tree.JCTree$JCClassDecl clazz
        48: .line 429
            aload 10 /* clazz */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCClassDecl.getMembers:()Lcom/sun/tools/javac/util/List;
        49: .line 430
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
        50: .line 431
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/javac/tree/TreeInfo.firstConstructorCall(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation; (6)
                  (Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        51: .line 432
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
        52: .line 433
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast com.sun.source.tree.MethodInvocationTree
        53: .line 428
            astore 11 /* superCall */
        start local 11 // com.sun.source.tree.MethodInvocationTree superCall
        54: .line 435
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
        55: .line 436
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
            aload 11 /* superCall */
        56: .line 437
            invokeinterface com.sun.source.tree.MethodInvocationTree.getMethodSelect:()Lcom/sun/source/tree/ExpressionTree;
        57: .line 436
            invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
        58: .line 434
            astore 12 /* superCallPath */
        start local 12 // com.sun.source.util.TreePath superCallPath
        59: .line 438
            aload 0 /* this */
            aload 12 /* superCallPath */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
            astore 13 /* constrType */
        start local 13 // com.sun.tools.javac.code.Type constrType
        60: .line 439
            new jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
            dup
            invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.<init>:()V
            astore 14 /* desc */
        start local 14 // jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription desc
        61: .line 440
            aload 14 /* desc */
            aload 13 /* constrType */
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
        62: .line 441
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
        63: .line 442
            aload 0 /* this */
            invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$6(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String; (7)
                  (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        64: .line 443
            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
        65: .line 440
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.parameterTypes:Lcom/sun/tools/javac/util/List;
        66: .line 444
            aload 7 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
            ifnull 74
        67: .line 445
            new com.sun.source.util.TreePath
            dup
            aload 1 /* tp */
        68: .line 446
            aload 7 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
        69: .line 445
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            astore 15 /* enclPath */
        start local 15 // com.sun.source.util.TreePath enclPath
        70: .line 447
            aload 14 /* desc */
            aload 0 /* this */
            aload 0 /* this */
            aload 15 /* enclPath */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
        71: .line 448
            iconst_0
        72: .line 449
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        73: .line 447
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.enclosingInstanceType:Ljava/lang/String;
        end local 15 // com.sun.source.util.TreePath enclPath
        74: .line 451
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree com.sun.source.tree.NewClassTree java.util.Iterator java.util.Set com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.source.tree.MethodInvocationTree com.sun.source.util.TreePath com.sun.tools.javac.code.Type jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
        75: .line 452
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
        76: .line 453
            aload 7 /* node */
        77: .line 452
            invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
        78: .line 451
            astore 15 /* currentPath */
        start local 15 // com.sun.source.util.TreePath currentPath
        79: .line 454
            aload 0 /* this */
            aload 15 /* currentPath */
            aload 7 /* node */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/code/Type;
            astore 16 /* nodeType */
        start local 16 // com.sun.tools.javac.code.Type nodeType
        80: .line 455
            aload 14 /* desc */
            aload 0 /* this */
            aload 16 /* nodeType */
        81: .line 456
            iconst_0
        82: .line 457
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.SUPER:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        83: .line 455
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.superTypeName:Ljava/lang/String;
        84: .line 458
            aload 14 /* desc */
            aload 0 /* this */
            aload 16 /* nodeType */
        85: .line 459
            iconst_1
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        86: .line 458
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.declareTypeName:Ljava/lang/String;
        87: .line 460
            aload 14 /* desc */
        88: .line 461
            aload 9 /* captured */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        89: .line 462
            aload 0 /* this */
            invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$7(Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc; (7)
                  (Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        90: .line 466
            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
        91: .line 460
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.capturedVariables:Lcom/sun/tools/javac/util/List;
        92: .line 468
            aload 14 /* desc */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            getfield jdk.jshell.TaskFactory$AnalyzeTask.task:Lcom/sun/tools/javac/api/JavacTaskImpl;
            invokevirtual com.sun.tools.javac.api.JavacTaskImpl.getTypes:()Ljavax/lang/model/util/Types;
            aload 16 /* nodeType */
            invokeinterface javax.lang.model.util.Types.directSupertypes:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 93
            iconst_1
            goto 94
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree com.sun.source.tree.NewClassTree java.util.Iterator java.util.Set com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.source.tree.MethodInvocationTree com.sun.source.util.TreePath com.sun.tools.javac.code.Type jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription com.sun.source.util.TreePath com.sun.tools.javac.code.Type
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
        93: iconst_0
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree com.sun.source.tree.NewClassTree java.util.Iterator java.util.Set com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.source.tree.MethodInvocationTree com.sun.source.util.TreePath com.sun.tools.javac.code.Type jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription com.sun.source.util.TreePath com.sun.tools.javac.code.Type
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription int
        94: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.isClass:Z
        95: .line 469
            aload 4 /* ei */
            aload 4 /* ei */
            getfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.anonymousClasses:Lcom/sun/tools/javac/util/List;
            aload 14 /* desc */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.anonymousClasses:Lcom/sun/tools/javac/util/List;
        end local 16 // com.sun.tools.javac.code.Type nodeType
        end local 15 // com.sun.source.util.TreePath currentPath
        end local 14 // jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription desc
        end local 13 // com.sun.tools.javac.code.Type constrType
        end local 12 // com.sun.source.util.TreePath superCallPath
        end local 11 // com.sun.source.tree.MethodInvocationTree superCall
        end local 10 // com.sun.tools.javac.tree.JCTree$JCClassDecl clazz
        end local 9 // java.util.Set captured
        end local 7 // com.sun.source.tree.NewClassTree node
        96: .line 423
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        97: .line 471
            aload 4 /* ei */
            aload 4 /* ei */
            getfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.anonymousClasses:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.anonymousClasses:Lcom/sun/tools/javac/util/List;
        end local 6 // com.sun.source.tree.Tree init
        98: .line 473
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* ei */
            areturn
        end local 5 // com.sun.tools.javac.code.Type type
        end local 4 // jdk.jshell.ExpressionToTypeInfo$ExpressionInfo ei
        end local 3 // boolean isExpression
        end local 2 // com.sun.source.tree.Tree tree
        99: .line 476
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath
      StackMap stack:
            aconst_null
            areturn
        end local 1 // com.sun.source.util.TreePath tp
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  100     0             this  Ljdk/jshell/ExpressionToTypeInfo;
            0  100     1               tp  Lcom/sun/source/util/TreePath;
            2   99     2             tree  Lcom/sun/source/tree/Tree;
            3   99     3     isExpression  Z
            5   99     4               ei  Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            8   99     5             type  Lcom/sun/tools/javac/code/Type;
           19   39     6  accessibleTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           26   39     7   accessibleType  Lcom/sun/tools/javac/code/Type;
           41   98     6             init  Lcom/sun/source/tree/Tree;
           43   96     7             node  Lcom/sun/source/tree/NewClassTree;
           47   96     9         captured  Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
           48   96    10            clazz  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
           54   96    11        superCall  Lcom/sun/source/tree/MethodInvocationTree;
           59   96    12    superCallPath  Lcom/sun/source/util/TreePath;
           60   96    13       constrType  Lcom/sun/tools/javac/code/Type;
           61   96    14             desc  Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription;
           70   74    15         enclPath  Lcom/sun/source/util/TreePath;
           79   96    15      currentPath  Lcom/sun/source/util/TreePath;
           80   96    16         nodeType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tp    

  private static java.util.Set<javax.lang.model.element.VariableElement> capturedVariables(jdk.jshell.TaskFactory$AnalyzeTask, com.sun.source.tree.CompilationUnitTree, com.sun.source.tree.Tree);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.jshell.TaskFactory$AnalyzeTask at
        start local 1 // com.sun.source.tree.CompilationUnitTree topLevel
        start local 2 // com.sun.source.tree.Tree tree
         0: .line 482
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* capturedVars */
        start local 3 // java.util.Set capturedVars
         1: .line 483
            new jdk.jshell.ExpressionToTypeInfo$2
            dup
            aload 0 /* at */
            aload 1 /* topLevel */
            aload 3 /* capturedVars */
            invokespecial jdk.jshell.ExpressionToTypeInfo$2.<init>:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Ljava/util/Set;)V
         2: .line 505
            aload 2 /* tree */
            aconst_null
            invokevirtual jdk.jshell.ExpressionToTypeInfo$2.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 507
            aload 3 /* capturedVars */
            areturn
        end local 3 // java.util.Set capturedVars
        end local 2 // com.sun.source.tree.Tree tree
        end local 1 // com.sun.source.tree.CompilationUnitTree topLevel
        end local 0 // jdk.jshell.TaskFactory$AnalyzeTask at
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0            at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            0    4     1      topLevel  Lcom/sun/source/tree/CompilationUnitTree;
            0    4     2          tree  Lcom/sun/source/tree/Tree;
            1    4     3  capturedVars  Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
    Signature: (Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
    MethodParameters:
          Name  Flags
      at        
      topLevel  
      tree      

  private java.lang.String varTypeName(com.sun.tools.javac.code.Type, boolean, jdk.jshell.TypePrinter$AnonymousTypeKind);
    descriptor: (Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type type
        start local 2 // boolean printIntersectionTypes
        start local 3 // jdk.jshell.TypePrinter$AnonymousTypeKind anonymousTypesKind
         0: .line 514
            aload 0 /* this */
            aload 1 /* type */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljdk/jshell/SnippetMaps;)Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/SnippetMaps.fullClassNameAndPackageToClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (5)
                  (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            iload 2 /* printIntersectionTypes */
            aload 3 /* anonymousTypesKind */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            areturn
        end local 3 // jdk.jshell.TypePrinter$AnonymousTypeKind anonymousTypesKind
        end local 2 // boolean printIntersectionTypes
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Ljdk/jshell/ExpressionToTypeInfo;
            0    1     1                    type  Lcom/sun/tools/javac/code/Type;
            0    1     2  printIntersectionTypes  Z
            0    1     3      anonymousTypesKind  Ljdk/jshell/TypePrinter$AnonymousTypeKind;
    MethodParameters:
                        Name  Flags
      type                    
      printIntersectionTypes  
      anonymousTypesKind      

  private java.lang.String varTypeName(com.sun.tools.javac.code.Type, java.util.function.BinaryOperator<java.lang.String>, boolean, jdk.jshell.TypePrinter$AnonymousTypeKind);
    descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type type
        start local 2 // java.util.function.BinaryOperator fullClassNameAndPackageToClass
        start local 3 // boolean printIntersectionTypes
        start local 4 // jdk.jshell.TypePrinter$AnonymousTypeKind anonymousTypesKind
         0: .line 520
            aload 0 /* this */
            invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ExpressionToTypeInfo.lambda$9(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String; (7)
                  (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
         1: .line 519
            astore 5 /* anonymousClass2DeclareName */
        start local 5 // java.util.function.Function anonymousClass2DeclareName
         2: .line 521
            new jdk.jshell.TypePrinter
            dup
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.messages:()Lcom/sun/tools/javac/util/JavacMessages;
         3: .line 522
            aload 2 /* fullClassNameAndPackageToClass */
            aload 5 /* anonymousClass2DeclareName */
         4: .line 523
            iload 3 /* printIntersectionTypes */
            aload 4 /* anonymousTypesKind */
         5: .line 521
            invokespecial jdk.jshell.TypePrinter.<init>:(Lcom/sun/tools/javac/util/JavacMessages;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)V
            astore 6 /* tp */
        start local 6 // jdk.jshell.TypePrinter tp
         6: .line 524
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* type */
            invokevirtual com.sun.tools.javac.code.Types.captures:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            astore 7 /* captures */
        start local 7 // com.sun.tools.javac.util.List captures
         7: .line 525
            aload 6 /* tp */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
            aload 1 /* type */
            aload 7 /* captures */
            invokevirtual com.sun.tools.javac.code.Types.upward:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            invokevirtual jdk.jshell.TypePrinter.toString:(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
            astore 8 /* res */
        start local 8 // java.lang.String res
         8: .line 527
            aload 8 /* res */
            ifnonnull 10
         9: .line 528
            ldc "Object"
            astore 8 /* res */
        10: .line 530
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type java.util.function.BinaryOperator int jdk.jshell.TypePrinter$AnonymousTypeKind java.util.function.Function jdk.jshell.TypePrinter com.sun.tools.javac.util.List java.lang.String
      StackMap stack:
            aload 8 /* res */
        11: areturn
        end local 8 // java.lang.String res
        end local 7 // com.sun.tools.javac.util.List captures
        end local 6 // jdk.jshell.TypePrinter tp
        end local 5 // java.util.function.Function anonymousClass2DeclareName
        12: .line 531
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type java.util.function.BinaryOperator int jdk.jshell.TypePrinter$AnonymousTypeKind
      StackMap stack: java.lang.Exception
            pop
        13: .line 532
            ldc "Object"
            areturn
        end local 4 // jdk.jshell.TypePrinter$AnonymousTypeKind anonymousTypesKind
        end local 3 // boolean printIntersectionTypes
        end local 2 // java.util.function.BinaryOperator fullClassNameAndPackageToClass
        end local 1 // com.sun.tools.javac.code.Type type
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   14     0                            this  Ljdk/jshell/ExpressionToTypeInfo;
            0   14     1                            type  Lcom/sun/tools/javac/code/Type;
            0   14     2  fullClassNameAndPackageToClass  Ljava/util/function/BinaryOperator<Ljava/lang/String;>;
            0   14     3          printIntersectionTypes  Z
            0   14     4              anonymousTypesKind  Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            2   12     5      anonymousClass2DeclareName  Ljava/util/function/Function<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljava/lang/String;>;
            6   12     6                              tp  Ljdk/jshell/TypePrinter;
            7   12     7                        captures  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            8   12     8                             res  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.Exception
    Signature: (Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator<Ljava/lang/String;>;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
    MethodParameters:
                                Name  Flags
      type                            
      fullClassNameAndPackageToClass  
      printIntersectionTypes          
      anonymousTypesKind              

  static int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 71
            getstatic jdk.jshell.ExpressionToTypeInfo.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.lang.model.type.TypeKind.values:()[Ljavax/lang/model/type/TypeKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 12
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.lang.model.type.TypeKind.BOOLEAN:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.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 javax.lang.model.type.TypeKind.BYTE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.lang.model.type.TypeKind.CHAR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 13
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 8
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.lang.model.type.TypeKind.ERROR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 14
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.lang.model.type.TypeKind.EXECUTABLE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 18
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.lang.model.type.TypeKind.FLOAT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 7
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.lang.model.type.TypeKind.INT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_4
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 21
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_5
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.lang.model.type.TypeKind.MODULE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 22
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic javax.lang.model.type.TypeKind.NONE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 10
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 11
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic javax.lang.model.type.TypeKind.OTHER:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.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 javax.lang.model.type.TypeKind.PACKAGE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 17
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic javax.lang.model.type.TypeKind.SHORT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_3
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 15
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic javax.lang.model.type.TypeKind.UNION:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 20
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 9
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic javax.lang.model.type.TypeKind.WILDCARD:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 16
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            dup
            putstatic jdk.jshell.ExpressionToTypeInfo.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[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

  private static jdk.jshell.ExpressionToTypeInfo$ExpressionInfo lambda$0(jdk.jshell.JShell, jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/JShell;Ljdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=2
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
         0: .line 240
            aload 1 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.firstCuTree:()Lcom/sun/source/tree/CompilationUnitTree;
            astore 2 /* cu */
        start local 2 // com.sun.source.tree.CompilationUnitTree cu
         1: .line 241
            aload 1 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
            ifne 2
            aload 2 /* cu */
            ifnonnull 3
         2: .line 242
      StackMap locals: com.sun.source.tree.CompilationUnitTree
      StackMap stack:
            aconst_null
            areturn
         3: .line 244
      StackMap locals:
      StackMap stack:
            new jdk.jshell.ExpressionToTypeInfo
            dup
            aload 1 /* at */
            aload 2 /* cu */
            aload 0
            iconst_0
            iconst_0
            invokespecial jdk.jshell.ExpressionToTypeInfo.<init>:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Ljdk/jshell/JShell;ZZ)V
            invokevirtual jdk.jshell.ExpressionToTypeInfo.typeOfExpression:()Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            areturn
        end local 2 // com.sun.source.tree.CompilationUnitTree cu
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1    at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            1    4     2    cu  Lcom/sun/source/tree/CompilationUnitTree;

  private static jdk.jshell.ExpressionToTypeInfo$ExpressionInfo lambda$1(jdk.jshell.JShell, boolean, jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/JShell;ZLjdk/jshell/TaskFactory$AnalyzeTask;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=4, args_size=3
        start local 2 // jdk.jshell.TaskFactory$AnalyzeTask at
         0: .line 265
            aload 2 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.firstCuTree:()Lcom/sun/source/tree/CompilationUnitTree;
            astore 3 /* cu */
        start local 3 // com.sun.source.tree.CompilationUnitTree cu
         1: .line 266
            aload 2 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
            ifne 2
            aload 3 /* cu */
            ifnonnull 3
         2: .line 267
      StackMap locals: com.sun.source.tree.CompilationUnitTree
      StackMap stack:
            aconst_null
            areturn
         3: .line 269
      StackMap locals:
      StackMap stack:
            new jdk.jshell.ExpressionToTypeInfo
            dup
            aload 2 /* at */
            aload 3 /* cu */
            aload 0
            iconst_1
            iload 1
            invokespecial jdk.jshell.ExpressionToTypeInfo.<init>:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Ljdk/jshell/JShell;ZZ)V
         4: .line 270
            invokevirtual jdk.jshell.ExpressionToTypeInfo.typeOfExpression:()Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
         5: .line 269
            areturn
        end local 3 // com.sun.source.tree.CompilationUnitTree cu
        end local 2 // jdk.jshell.TaskFactory$AnalyzeTask at
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     2    at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            1    6     3    cu  Lcom/sun/source/tree/CompilationUnitTree;

  private static java.lang.String lambda$3(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String full
        start local 1 // java.lang.String pkg
         0: .line 410
            aload 0 /* full */
            areturn
        end local 1 // java.lang.String pkg
        end local 0 // java.lang.String full
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  full  Ljava/lang/String;
            0    1     1   pkg  Ljava/lang/String;

  private static java.lang.String lambda$4(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String full
        start local 1 // java.lang.String pkg
         0: .line 412
            aload 0 /* full */
            areturn
        end local 1 // java.lang.String pkg
        end local 0 // java.lang.String full
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  full  Ljava/lang/String;
            0    1     1   pkg  Ljava/lang/String;

  private java.lang.String lambda$6(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 442
            aload 0 /* this */
            aload 1 /* t */
            iconst_0
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    1     1     t  Lcom/sun/tools/javac/code/Type;

  private jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc lambda$7(javax.lang.model.element.VariableElement);
    descriptor: (Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // javax.lang.model.element.VariableElement ve
         0: .line 462
            new jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc
            dup
            aload 0 /* this */
            aload 1 /* ve */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast com.sun.tools.javac.code.Type
         1: .line 463
            iconst_0
         2: .line 464
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
         3: .line 462
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
         4: .line 465
            aload 1 /* ve */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
         5: .line 462
            invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 465
            areturn
        end local 1 // javax.lang.model.element.VariableElement ve
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    7     1    ve  Ljavax/lang/model/element/VariableElement;

  private java.lang.String lambda$9(com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol cs
         0: .line 520
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.anon2Name:Ljava/util/Map;
            aload 1 /* cs */
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.eval:Ljdk/jshell/Eval;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljdk/jshell/Eval;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Eval.computeDeclareName(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String; (5)
                  (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol cs
        end local 0 // jdk.jshell.ExpressionToTypeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/ExpressionToTypeInfo;
            0    1     1    cs  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
}
SourceFile: "ExpressionToTypeInfo.java"
NestMembers:
  jdk.jshell.ExpressionToTypeInfo$1  jdk.jshell.ExpressionToTypeInfo$2  jdk.jshell.ExpressionToTypeInfo$ExpressionInfo  jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription  jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc  jdk.jshell.ExpressionToTypeInfo$PathFinder  jdk.jshell.ExpressionToTypeInfo$Result
InnerClasses:
  public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public IntersectionClassType = com.sun.tools.javac.code.Type$IntersectionClassType of com.sun.tools.javac.code.Type
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.jshell.ExpressionToTypeInfo$1
  jdk.jshell.ExpressionToTypeInfo$2
  public ExpressionInfo = jdk.jshell.ExpressionToTypeInfo$ExpressionInfo of jdk.jshell.ExpressionToTypeInfo
  AnonymousDescription = jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription of jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
  VariableDesc = jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc of jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
  private PathFinder = jdk.jshell.ExpressionToTypeInfo$PathFinder of jdk.jshell.ExpressionToTypeInfo
  private Result = jdk.jshell.ExpressionToTypeInfo$Result of jdk.jshell.ExpressionToTypeInfo
  AnalyzeTask = jdk.jshell.TaskFactory$AnalyzeTask of jdk.jshell.TaskFactory
  abstract Worker = jdk.jshell.TaskFactory$Worker of jdk.jshell.TaskFactory
  public final AnonymousTypeKind = jdk.jshell.TypePrinter$AnonymousTypeKind of jdk.jshell.TypePrinter