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 508
            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 509
            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 508
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
         3: .line 507
            putstatic jdk.jshell.ExpressionToTypeInfo.LOCAL_VARIABLES:Ljava/util/Set;
         4: .line 509
            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 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.jshell.ExpressionToTypeInfo.anon2Name:Ljava/util/Map;
         2: .line 85
            aload 0 /* this */
            aload 1 /* at */
            putfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
         3: .line 86
            aload 0 /* this */
            aload 2 /* cu */
            putfield jdk.jshell.ExpressionToTypeInfo.cu:Lcom/sun/source/tree/CompilationUnitTree;
         4: .line 87
            aload 0 /* this */
            aload 3 /* state */
            putfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
         5: .line 88
            aload 0 /* this */
            iload 4 /* computeEnhancedInfo */
            putfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
         6: .line 89
            aload 0 /* this */
            iload 5 /* enhancedTypesAccessible */
            putfield jdk.jshell.ExpressionToTypeInfo.enhancedTypesAccessible:Z
         7: .line 90
            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 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.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 92
            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 206
            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 210
            aload 2 /* tree */
            instanceof com.sun.source.tree.ConditionalExpressionTree
            ifeq 7
         1: .line 212
            aload 2 /* tree */
            checkcast com.sun.source.tree.ConditionalExpressionTree
            astore 3 /* cet */
        start local 3 // com.sun.source.tree.ConditionalExpressionTree cet
         2: .line 213
            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 214
            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 215
            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 216
            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 219
            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 222
      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 232
            aload 0 /* code */
            ifnull 1
            aload 0 /* code */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 233
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 235
      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 237
            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 244
      StackMap locals: java.lang.String jdk.jshell.JShell jdk.jshell.OuterWrap
      StackMap stack: java.lang.Exception
            pop
         6: .line 245
            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 257
            aload 0 /* code */
            ifnull 1
            aload 0 /* code */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 258
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 261
      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 262
            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 270
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 271
            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 282
            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 284
            new jdk.jshell.ExpressionToTypeInfo$1
            dup
            aload 1 /* classes */
            invokespecial jdk.jshell.ExpressionToTypeInfo$1.<init>:(Lcom/sun/tools/javac/util/ListBuffer;)V
         2: .line 293
            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 295
            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 299
            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 304
            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 305
            goto 4
      StackMap locals:
      StackMap stack: jdk.jshell.ExpressionToTypeInfo$Result
         2: astore 1 /* result */
        start local 1 // jdk.jshell.ExpressionToTypeInfo$Result result
         3: .line 306
            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 308
      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 320
            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 321
            aload 2 /* tsym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 4
         2: .line 322
            aload 2 /* tsym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
            ldc 2
            land
            lconst_0
            lcmp
            ifne 7
         3: .line 323
            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 324
      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 325
            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 321
            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 335
            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 336
            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 337
      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 339
      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 350
            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 351
            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 353
            aload 1 /* type */
            astore 4 /* sup */
        start local 4 // com.sun.tools.javac.code.Type sup
         3: goto 9
         4: .line 354
      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 355
            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 356
            aload 4 /* sup */
            astore 3 /* accessibleSuper */
         7: .line 357
            goto 10
         8: .line 353
      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 361
      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 362
      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 363
            aload 0 /* this */
            aload 5 /* itf */
            invokevirtual jdk.jshell.ExpressionToTypeInfo.isAccessible:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 16
        15: .line 364
            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 362
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 361
            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 368
            aload 2 /* accessible */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 21
        20: .line 370
            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 373
      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=5, locals=17, args_size=2
        start local 0 // jdk.jshell.ExpressionToTypeInfo this
        start local 1 // com.sun.source.util.TreePath tp
         0: .line 377
            aload 1 /* tp */
            ifnull 98
         1: .line 378
            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 379
            aload 2 /* tree */
            instanceof com.sun.source.tree.ExpressionTree
            istore 3 /* isExpression */
        start local 3 // boolean isExpression
         3: .line 380
            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 98
         4: .line 381
      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 382
            iload 3 /* isExpression */
            ifeq 7
         6: .line 383
            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 384
      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 385
            aload 5 /* type */
            ifnull 38
         9: .line 386
            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 391
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            goto 38
        11: .line 393
      StackMap locals:
      StackMap stack:
            aload 4 /* ei */
            iconst_1
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
        12: .line 394
            aload 4 /* ei */
            ldc "Object"
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.typeName:Ljava/lang/String;
        13: .line 395
            aload 4 /* ei */
            ldc "Object"
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
        14: .line 396
            goto 38
        15: .line 398
      StackMap locals:
      StackMap stack:
            aload 4 /* ei */
            iconst_1
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
        16: .line 399
            aload 4 /* ei */
            aload 5 /* type */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isPrimitiveType:Z
        17: .line 400
            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 401
            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 402
            aload 4 /* ei */
        20: .line 403
            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 402
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
        22: .line 404
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
            ifeq 38
        23: .line 405
            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 406
      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 405
      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 407
            aload 4 /* ei */
        27: .line 408
            aload 0 /* this */
            aload 7 /* accessibleType */
            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;
        28: .line 407
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.declareTypeName:Ljava/lang/String;
        29: .line 409
            aload 4 /* ei */
        30: .line 410
            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 */
        32: .line 411
      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
            iconst_1
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        33: .line 410
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
        34: .line 409
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.fullTypeName:Ljava/lang/String;
        35: .line 412
            aload 4 /* ei */
        36: .line 413
            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;
        37: .line 412
            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
        38: .line 419
      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 97
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
            ifeq 97
        39: .line 420
            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
        40: .line 421
            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 95
      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:
        41: 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
        42: .line 422
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
        43: .line 423
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
        44: .line 424
            aload 7 /* node */
        45: .line 422
            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
        46: .line 425
            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
        47: .line 427
            aload 10 /* clazz */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCClassDecl.getMembers:()Lcom/sun/tools/javac/util/List;
        48: .line 428
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
        49: .line 429
            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;
        50: .line 430
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
        51: .line 431
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast com.sun.source.tree.MethodInvocationTree
        52: .line 426
            astore 11 /* superCall */
        start local 11 // com.sun.source.tree.MethodInvocationTree superCall
        53: .line 433
            aload 0 /* this */
            getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
        54: .line 434
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
            aload 11 /* superCall */
        55: .line 435
            invokeinterface com.sun.source.tree.MethodInvocationTree.getMethodSelect:()Lcom/sun/source/tree/ExpressionTree;
        56: .line 434
            invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
        57: .line 432
            astore 12 /* superCallPath */
        start local 12 // com.sun.source.util.TreePath superCallPath
        58: .line 436
            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
        59: .line 437
            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
        60: .line 438
            aload 14 /* desc */
            aload 13 /* constrType */
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
        61: .line 439
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
        62: .line 440
            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$4(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;
        63: .line 441
            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
        64: .line 438
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.parameterTypes:Lcom/sun/tools/javac/util/List;
        65: .line 442
            aload 7 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
            ifnull 73
        66: .line 443
            new com.sun.source.util.TreePath
            dup
            aload 1 /* tp */
        67: .line 444
            aload 7 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
        68: .line 443
            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
        69: .line 445
            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;
        70: .line 446
            iconst_0
        71: .line 447
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        72: .line 445
            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
        73: .line 449
      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;
        74: .line 450
            aload 1 /* tp */
            invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
        75: .line 451
            aload 7 /* node */
        76: .line 450
            invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
        77: .line 449
            astore 15 /* currentPath */
        start local 15 // com.sun.source.util.TreePath currentPath
        78: .line 452
            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
        79: .line 453
            aload 14 /* desc */
            aload 0 /* this */
            aload 16 /* nodeType */
        80: .line 454
            iconst_0
        81: .line 455
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.SUPER:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        82: .line 453
            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;
        83: .line 456
            aload 14 /* desc */
            aload 0 /* this */
            aload 16 /* nodeType */
        84: .line 457
            iconst_1
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
        85: .line 456
            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;
        86: .line 458
            aload 14 /* desc */
        87: .line 459
            aload 9 /* captured */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        88: .line 460
            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$5(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;
        89: .line 464
            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
        90: .line 458
            putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.capturedVariables:Lcom/sun/tools/javac/util/List;
        91: .line 466
            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 92
            iconst_1
            goto 93
      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
        92: 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
        93: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.isClass:Z
        94: .line 467
            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
        95: .line 421
      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 41
        96: .line 469
            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
        97: .line 471
      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
        98: .line 474
      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   99     0             this  Ljdk/jshell/ExpressionToTypeInfo;
            0   99     1               tp  Lcom/sun/source/util/TreePath;
            2   98     2             tree  Lcom/sun/source/tree/Tree;
            3   98     3     isExpression  Z
            5   98     4               ei  Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
            8   98     5             type  Lcom/sun/tools/javac/code/Type;
           19   38     6  accessibleTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           26   38     7   accessibleType  Lcom/sun/tools/javac/code/Type;
           40   97     6             init  Lcom/sun/source/tree/Tree;
           42   95     7             node  Lcom/sun/source/tree/NewClassTree;
           46   95     9         captured  Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
           47   95    10            clazz  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
           53   95    11        superCall  Lcom/sun/source/tree/MethodInvocationTree;
           58   95    12    superCallPath  Lcom/sun/source/util/TreePath;
           59   95    13       constrType  Lcom/sun/tools/javac/code/Type;
           60   95    14             desc  Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription;
           69   73    15         enclPath  Lcom/sun/source/util/TreePath;
           78   95    15      currentPath  Lcom/sun/source/util/TreePath;
           79   95    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 480
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* capturedVars */
        start local 3 // java.util.Set capturedVars
         1: .line 481
            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 503
            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 505
            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=7, locals=9, 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 */
            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/Symbol$TypeSymbol;)Ljava/lang/String; (7)
                  (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
         1: .line 513
            astore 4 /* anonymousClass2DeclareName */
        start local 4 // java.util.function.Function anonymousClass2DeclareName
         2: .line 515
            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 516
            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;
            aload 4 /* anonymousClass2DeclareName */
         4: .line 517
            iload 2 /* printIntersectionTypes */
            aload 3 /* anonymousTypesKind */
         5: .line 515
            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 5 /* tp */
        start local 5 // jdk.jshell.TypePrinter tp
         6: .line 518
            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 519
            aload 5 /* 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 521
            aload 8 /* res */
            ifnonnull 10
         9: .line 522
            ldc "Object"
            astore 8 /* res */
        10: .line 524
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type int jdk.jshell.TypePrinter$AnonymousTypeKind java.util.function.Function jdk.jshell.TypePrinter top 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 5 // jdk.jshell.TypePrinter tp
        end local 4 // java.util.function.Function anonymousClass2DeclareName
        12: .line 525
      StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type int jdk.jshell.TypePrinter$AnonymousTypeKind
      StackMap stack: java.lang.Exception
            pop
        13: .line 526
            ldc "Object"
            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   14     0                        this  Ljdk/jshell/ExpressionToTypeInfo;
            0   14     1                        type  Lcom/sun/tools/javac/code/Type;
            0   14     2      printIntersectionTypes  Z
            0   14     3          anonymousTypesKind  Ljdk/jshell/TypePrinter$AnonymousTypeKind;
            2   12     4  anonymousClass2DeclareName  Ljava/util/function/Function<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljava/lang/String;>;
            6   12     5                          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
    MethodParameters:
                        Name  Flags
      type                    
      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 70
            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 238
            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 239
            aload 1 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
            ifne 2
            aload 2 /* cu */
            ifnonnull 3
         2: .line 240
      StackMap locals: com.sun.source.tree.CompilationUnitTree
      StackMap stack:
            aconst_null
            areturn
         3: .line 242
      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 263
            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 264
            aload 2 /* at */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
            ifne 2
            aload 3 /* cu */
            ifnonnull 3
         2: .line 265
      StackMap locals: com.sun.source.tree.CompilationUnitTree
      StackMap stack:
            aconst_null
            areturn
         3: .line 267
      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 268
            invokevirtual jdk.jshell.ExpressionToTypeInfo.typeOfExpression:()Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
         5: .line 267
            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 java.lang.String lambda$4(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 440
            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$5(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 460
            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 461
            iconst_0
         2: .line 462
            getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
         3: .line 460
            invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
         4: .line 463
            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 460
            invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 463
            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$6(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 514
            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