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: 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: 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: invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
3: putstatic jdk.jshell.ExpressionToTypeInfo.LOCAL_VARIABLES:Ljava/util/Set;
4: 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.jshell.ExpressionToTypeInfo.anon2Name:Ljava/util/Map;
2: aload 0
aload 1
putfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
3: aload 0
aload 2
putfield jdk.jshell.ExpressionToTypeInfo.cu:Lcom/sun/source/tree/CompilationUnitTree;
4: aload 0
aload 3
putfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
5: aload 0
iload 4
putfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
6: aload 0
iload 5
putfield jdk.jshell.ExpressionToTypeInfo.enhancedTypesAccessible:Z
7: aload 0
aload 1
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: aload 0
aload 1
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: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
aload 1
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 end local 0 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 start local 1 start local 2 0: aload 2
instanceof com.sun.source.tree.ConditionalExpressionTree
ifeq 7
1: aload 2
checkcast com.sun.source.tree.ConditionalExpressionTree
astore 3
start local 3 2: aload 0
new com.sun.source.util.TreePath
dup
aload 1
aload 3
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
start local 4 3: aload 0
new com.sun.source.util.TreePath
dup
aload 1
aload 3
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
start local 5 4: aload 4
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 7
aload 5
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 7
5: aload 0
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
aastore
dup
iconst_1
aload 5
aastore
invokevirtual com.sun.tools.javac.code.Types.lub:([Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 6
start local 6 6: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
aload 0
invokestatic jdk.jshell.Wrap.methodReturnWrap:(Ljava/lang/String;)Ljdk/jshell/Wrap;
invokevirtual jdk.jshell.OuterWrapMap.wrapInTrialClass:(Ljdk/jshell/Wrap;)Ljdk/jshell/OuterWrap;
astore 2
start local 2 3: aload 1
getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
aload 2
aload 1
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: StackMap locals: java.lang.String jdk.jshell.JShell jdk.jshell.OuterWrap
StackMap stack: java.lang.Exception
pop
6: aconst_null
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
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
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
start local 3 3: aload 1
getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
aload 3
aload 1
iload 2
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 5: StackMap locals:
StackMap stack: java.lang.Exception
pop
6: aconst_null
areturn
end local 2 end local 1 end local 0 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 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 1
start local 1 1: new jdk.jshell.ExpressionToTypeInfo$1
dup
aload 1
invokespecial jdk.jshell.ExpressionToTypeInfo$1.<init>:(Lcom/sun/tools/javac/util/ListBuffer;)V
2: aload 0
aconst_null
invokevirtual jdk.jshell.ExpressionToTypeInfo$1.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
areturn
end local 1 end local 0 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 0: aload 0
aload 0
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 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 0: new jdk.jshell.ExpressionToTypeInfo$PathFinder
dup
invokespecial jdk.jshell.ExpressionToTypeInfo$PathFinder.<init>:()V
new com.sun.source.util.TreePath
dup
aload 0
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: goto 4
StackMap locals:
StackMap stack: jdk.jshell.ExpressionToTypeInfo$Result
2: astore 1
start local 1 3: aload 1
getfield jdk.jshell.ExpressionToTypeInfo$Result.expressionPath:Lcom/sun/source/util/TreePath;
areturn
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 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 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.asElement:()Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
astore 2
start local 2 1: aload 2
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
lconst_1
land
lconst_0
lcmp
ifne 4
2: aload 2
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 2
land
lconst_0
lcmp
ifne 7
3: aload 2
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: StackMap locals: com.sun.tools.javac.code.Symbol$TypeSymbol
StackMap stack:
aload 1
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: aload 0
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: iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: aload 2
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
if_acmpeq 2
aload 2
ifnonnull 3
2: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 0
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: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 1: aload 0
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
start local 3 2: aload 1
astore 4
start local 4 3: goto 9
4: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
StackMap stack:
aload 0
aload 4
invokevirtual jdk.jshell.ExpressionToTypeInfo.isAccessible:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 8
5: aload 2
aload 4
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 2
6: aload 4
astore 3
7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.jshell.ExpressionToTypeInfo.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 4
StackMap locals:
StackMap stack:
9: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 4
aload 0
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 10: StackMap locals:
StackMap stack:
aload 1
astore 4
start local 4 11: goto 18
12: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 4
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
start local 5 14: aload 0
aload 5
invokevirtual jdk.jshell.ExpressionToTypeInfo.isAccessible:(Lcom/sun/tools/javac/code/Type;)Z
ifeq 16
15: aload 2
aload 5
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 2
end local 5 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 0
aload 4
invokevirtual jdk.jshell.ExpressionToTypeInfo.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 4
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
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 4
aload 3
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 19: aload 2
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 21
20: aload 2
aload 0
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
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 22 1 type Lcom/sun/tools/javac/code/Type;
1 22 2 accessible Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 22 3 accessibleSuper Lcom/sun/tools/javac/code/Type;
3 10 4 sup Lcom/sun/tools/javac/code/Type;
11 19 4 sup Lcom/sun/tools/javac/code/Type;
14 16 5 itf Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
MethodParameters:
Name Flags
type
private jdk.jshell.ExpressionToTypeInfo$ExpressionInfo treeToInfo(com.sun.source.util.TreePath);
descriptor: (Lcom/sun/source/util/TreePath;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: aload 1
ifnull 99
1: aload 1
invokevirtual com.sun.source.util.TreePath.getLeaf:()Lcom/sun/source/tree/Tree;
astore 2
start local 2 2: aload 2
instanceof com.sun.source.tree.ExpressionTree
istore 3
start local 3 3: iload 3
ifne 4
aload 2
invokeinterface com.sun.source.tree.Tree.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.VARIABLE:Lcom/sun/source/tree/Tree$Kind;
if_acmpne 99
4: 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
start local 4 5: iload 3
ifeq 7
6: aload 4
aload 2
checkcast com.sun.source.tree.ExpressionTree
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.tree:Lcom/sun/source/tree/ExpressionTree;
7: StackMap locals: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/code/Type;
astore 5
start local 5 8: aload 5
ifnull 39
9: invokestatic jdk.jshell.ExpressionToTypeInfo.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 5
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: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
goto 39
11: StackMap locals:
StackMap stack:
aload 4
iconst_1
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
12: aload 4
ldc "Object"
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.typeName:Ljava/lang/String;
13: aload 4
ldc "Object"
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
14: goto 39
15: StackMap locals:
StackMap stack:
aload 4
iconst_1
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isNonVoid:Z
16: aload 4
aload 5
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.isPrimitiveType:Z
17: aload 4
aload 0
aload 5
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: aload 0
aload 5
invokevirtual jdk.jshell.ExpressionToTypeInfo.findAccessibleSupertypes:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 19: aload 4
20: aload 0
aload 6
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: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.accessibleTypeName:Ljava/lang/String;
22: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
ifeq 39
23: aload 6
invokevirtual com.sun.tools.javac.util.List.size:()I
iconst_1
if_icmpne 24
aload 6
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
goto 25
24: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 6
invokevirtual com.sun.tools.javac.code.Types.makeIntersectionType:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type$IntersectionClassType;
25: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 7
start local 7 26: aload 4
27: aload 0
aload 7
invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/ExpressionToTypeInfo.lambda$3(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
iconst_0
getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
28: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.declareTypeName:Ljava/lang/String;
29: aload 4
30: aload 0
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.enhancedTypesAccessible:Z
ifeq 31
aload 7
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
StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.code.Type
StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type
32: invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/ExpressionToTypeInfo.lambda$4(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
33: iconst_1
getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
34: invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
35: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.fullTypeName:Ljava/lang/String;
36: aload 4
37: aload 0
aload 5
iconst_1
getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DISPLAY:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
38: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.displayTypeName:Ljava/lang/String;
end local 7 end local 6 39: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.sun.source.tree.Tree.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.VARIABLE:Lcom/sun/source/tree/Tree$Kind;
if_acmpne 98
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.computeEnhancedInfo:Z
ifeq 98
40: aload 2
checkcast com.sun.source.tree.VariableTree
invokeinterface com.sun.source.tree.VariableTree.getInitializer:()Lcom/sun/source/tree/ExpressionTree;
astore 6
start local 6 41: aload 6
invokestatic jdk.jshell.ExpressionToTypeInfo.listAnonymousClassesToConvert:(Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 96
StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree top java.util.Iterator
StackMap stack:
42: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.source.tree.NewClassTree
astore 7
start local 7 43: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
44: aload 1
invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
45: aload 7
46: invokestatic jdk.jshell.ExpressionToTypeInfo.capturedVariables:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set;
astore 9
start local 9 47: aload 7
invokeinterface com.sun.source.tree.NewClassTree.getClassBody:()Lcom/sun/source/tree/ClassTree;
checkcast com.sun.tools.javac.tree.JCTree$JCClassDecl
astore 10
start local 10 48: aload 10
invokevirtual com.sun.tools.javac.tree.JCTree$JCClassDecl.getMembers:()Lcom/sun/tools/javac/util/List;
49: invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
50: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/sun/tools/javac/tree/TreeInfo.firstConstructorCall(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation; (6)
(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
51: invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
52: invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast com.sun.source.tree.MethodInvocationTree
53: astore 11
start local 11 54: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
55: aload 1
invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
aload 11
56: invokeinterface com.sun.source.tree.MethodInvocationTree.getMethodSelect:()Lcom/sun/source/tree/ExpressionTree;
57: invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
58: astore 12
start local 12 59: aload 0
aload 12
invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
astore 13
start local 13 60: new jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
dup
invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.<init>:()V
astore 14
start local 14 61: aload 14
aload 13
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
62: invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
63: aload 0
invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/ExpressionToTypeInfo.lambda$6(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String; (7)
(Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
64: invokestatic com.sun.tools.javac.util.List.collector:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
65: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.parameterTypes:Lcom/sun/tools/javac/util/List;
66: aload 7
invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
ifnull 74
67: new com.sun.source.util.TreePath
dup
aload 1
68: aload 7
invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
69: invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
astore 15
start local 15 70: aload 14
aload 0
aload 0
aload 15
invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;)Lcom/sun/tools/javac/code/Type;
71: iconst_0
72: getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
73: 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 74: 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
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.trees:()Lcom/sun/source/util/Trees;
75: aload 1
invokevirtual com.sun.source.util.TreePath.getCompilationUnit:()Lcom/sun/source/tree/CompilationUnitTree;
76: aload 7
77: invokevirtual com.sun.source.util.Trees.getPath:(Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Lcom/sun/source/util/TreePath;
78: astore 15
start local 15 79: aload 0
aload 15
aload 7
invokevirtual jdk.jshell.ExpressionToTypeInfo.pathToType:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)Lcom/sun/tools/javac/code/Type;
astore 16
start local 16 80: aload 14
aload 0
aload 16
81: iconst_0
82: getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.SUPER:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
83: invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.superTypeName:Ljava/lang/String;
84: aload 14
aload 0
aload 16
85: iconst_1
getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
86: invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.declareTypeName:Ljava/lang/String;
87: aload 14
88: aload 9
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
89: aload 0
invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/ExpressionToTypeInfo.lambda$7(Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc; (7)
(Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
90: invokestatic com.sun.tools.javac.util.List.collector:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
91: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.capturedVariables:Lcom/sun/tools/javac/util/List;
92: aload 14
aload 0
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
invokeinterface javax.lang.model.util.Types.directSupertypes:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 93
iconst_1
goto 94
StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree com.sun.source.tree.NewClassTree java.util.Iterator java.util.Set com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.source.tree.MethodInvocationTree com.sun.source.util.TreePath com.sun.tools.javac.code.Type jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription com.sun.source.util.TreePath com.sun.tools.javac.code.Type
StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription
93: iconst_0
StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree com.sun.source.tree.NewClassTree java.util.Iterator java.util.Set com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.source.tree.MethodInvocationTree com.sun.source.util.TreePath com.sun.tools.javac.code.Type jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription com.sun.source.util.TreePath com.sun.tools.javac.code.Type
StackMap stack: jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription int
94: putfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription.isClass:Z
95: aload 4
aload 4
getfield jdk.jshell.ExpressionToTypeInfo$ExpressionInfo.anonymousClasses:Lcom/sun/tools/javac/util/List;
aload 14
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 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 96: StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath com.sun.source.tree.Tree int jdk.jshell.ExpressionToTypeInfo$ExpressionInfo com.sun.tools.javac.code.Type com.sun.source.tree.Tree top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
97: aload 4
aload 4
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 98: 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
areturn
end local 5 end local 4 end local 3 end local 2 99: StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.source.util.TreePath
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 100 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 100 1 tp Lcom/sun/source/util/TreePath;
2 99 2 tree Lcom/sun/source/tree/Tree;
3 99 3 isExpression Z
5 99 4 ei Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
8 99 5 type Lcom/sun/tools/javac/code/Type;
19 39 6 accessibleTypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
26 39 7 accessibleType Lcom/sun/tools/javac/code/Type;
41 98 6 init Lcom/sun/source/tree/Tree;
43 96 7 node Lcom/sun/source/tree/NewClassTree;
47 96 9 captured Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
48 96 10 clazz Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
54 96 11 superCall Lcom/sun/source/tree/MethodInvocationTree;
59 96 12 superCallPath Lcom/sun/source/util/TreePath;
60 96 13 constrType Lcom/sun/tools/javac/code/Type;
61 96 14 desc Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription;
70 74 15 enclPath Lcom/sun/source/util/TreePath;
79 96 15 currentPath Lcom/sun/source/util/TreePath;
80 96 16 nodeType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
tp
private static java.util.Set<javax.lang.model.element.VariableElement> capturedVariables(jdk.jshell.TaskFactory$AnalyzeTask, com.sun.source.tree.CompilationUnitTree, com.sun.source.tree.Tree);
descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: new jdk.jshell.ExpressionToTypeInfo$2
dup
aload 0
aload 1
aload 3
invokespecial jdk.jshell.ExpressionToTypeInfo$2.<init>:(Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Ljava/util/Set;)V
2: aload 2
aconst_null
invokevirtual jdk.jshell.ExpressionToTypeInfo$2.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 at Ljdk/jshell/TaskFactory$AnalyzeTask;
0 4 1 topLevel Lcom/sun/source/tree/CompilationUnitTree;
0 4 2 tree Lcom/sun/source/tree/Tree;
1 4 3 capturedVars Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
Signature: (Ljdk/jshell/TaskFactory$AnalyzeTask;Lcom/sun/source/tree/CompilationUnitTree;Lcom/sun/source/tree/Tree;)Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
MethodParameters:
Name Flags
at
topLevel
tree
private java.lang.String varTypeName(com.sun.tools.javac.code.Type, boolean, jdk.jshell.TypePrinter$AnonymousTypeKind);
descriptor: (Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.state:Ljdk/jshell/JShell;
getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljdk/jshell/SnippetMaps;)Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/SnippetMaps.fullClassNameAndPackageToClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (5)
(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
iload 2
aload 3
invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 1 1 type Lcom/sun/tools/javac/code/Type;
0 1 2 printIntersectionTypes Z
0 1 3 anonymousTypesKind Ljdk/jshell/TypePrinter$AnonymousTypeKind;
MethodParameters:
Name Flags
type
printIntersectionTypes
anonymousTypesKind
private java.lang.String varTypeName(com.sun.tools.javac.code.Type, java.util.function.BinaryOperator<java.lang.String>, boolean, jdk.jshell.TypePrinter$AnonymousTypeKind);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokedynamic apply(Ljdk/jshell/ExpressionToTypeInfo;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jshell/ExpressionToTypeInfo.lambda$9(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String; (7)
(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
1: astore 5
start local 5 2: new jdk.jshell.TypePrinter
dup
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.messages:()Lcom/sun/tools/javac/util/JavacMessages;
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.at:Ljdk/jshell/TaskFactory$AnalyzeTask;
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.types:()Lcom/sun/tools/javac/code/Types;
3: aload 2
aload 5
4: iload 3
aload 4
5: invokespecial jdk.jshell.TypePrinter.<init>:(Lcom/sun/tools/javac/util/JavacMessages;Lcom/sun/tools/javac/code/Types;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)V
astore 6
start local 6 6: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 1
invokevirtual com.sun.tools.javac.code.Types.captures:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
astore 7
start local 7 7: aload 6
aload 0
getfield jdk.jshell.ExpressionToTypeInfo.types:Lcom/sun/tools/javac/code/Types;
aload 1
aload 7
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
start local 8 8: aload 8
ifnonnull 10
9: ldc "Object"
astore 8
10: StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type java.util.function.BinaryOperator int jdk.jshell.TypePrinter$AnonymousTypeKind java.util.function.Function jdk.jshell.TypePrinter com.sun.tools.javac.util.List java.lang.String
StackMap stack:
aload 8
11: areturn
end local 8 end local 7 end local 6 end local 5 12: StackMap locals: jdk.jshell.ExpressionToTypeInfo com.sun.tools.javac.code.Type java.util.function.BinaryOperator int jdk.jshell.TypePrinter$AnonymousTypeKind
StackMap stack: java.lang.Exception
pop
13: ldc "Object"
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 14 1 type Lcom/sun/tools/javac/code/Type;
0 14 2 fullClassNameAndPackageToClass Ljava/util/function/BinaryOperator<Ljava/lang/String;>;
0 14 3 printIntersectionTypes Z
0 14 4 anonymousTypesKind Ljdk/jshell/TypePrinter$AnonymousTypeKind;
2 12 5 anonymousClass2DeclareName Ljava/util/function/Function<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljava/lang/String;>;
6 12 6 tp Ljdk/jshell/TypePrinter;
7 12 7 captures Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
8 12 8 res Ljava/lang/String;
Exception table:
from to target type
0 11 12 Class java.lang.Exception
Signature: (Lcom/sun/tools/javac/code/Type;Ljava/util/function/BinaryOperator<Ljava/lang/String;>;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
MethodParameters:
Name Flags
type
fullClassNameAndPackageToClass
printIntersectionTypes
anonymousTypesKind
static int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: 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 0: aload 1
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.firstCuTree:()Lcom/sun/source/tree/CompilationUnitTree;
astore 2
start local 2 1: aload 1
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
ifne 2
aload 2
ifnonnull 3
2: StackMap locals: com.sun.source.tree.CompilationUnitTree
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
new jdk.jshell.ExpressionToTypeInfo
dup
aload 1
aload 2
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 end local 1 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 0: aload 2
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.firstCuTree:()Lcom/sun/source/tree/CompilationUnitTree;
astore 3
start local 3 1: aload 2
invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.hasErrors:()Z
ifne 2
aload 3
ifnonnull 3
2: StackMap locals: com.sun.source.tree.CompilationUnitTree
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
new jdk.jshell.ExpressionToTypeInfo
dup
aload 2
aload 3
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: invokevirtual jdk.jshell.ExpressionToTypeInfo.typeOfExpression:()Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo;
5: areturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 6 2 at Ljdk/jshell/TaskFactory$AnalyzeTask;
1 6 3 cu Lcom/sun/source/tree/CompilationUnitTree;
private static java.lang.String lambda$3(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 full Ljava/lang/String;
0 1 1 pkg Ljava/lang/String;
private static java.lang.String lambda$4(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 full Ljava/lang/String;
0 1 1 pkg Ljava/lang/String;
private java.lang.String lambda$6(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
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 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 1 1 t Lcom/sun/tools/javac/code/Type;
private jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc lambda$7(javax.lang.model.element.VariableElement);
descriptor: (Ljavax/lang/model/element/VariableElement;)Ljdk/jshell/ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc
dup
aload 0
aload 1
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
checkcast com.sun.tools.javac.code.Type
1: iconst_0
2: getstatic jdk.jshell.TypePrinter$AnonymousTypeKind.DECLARE:Ljdk/jshell/TypePrinter$AnonymousTypeKind;
3: invokevirtual jdk.jshell.ExpressionToTypeInfo.varTypeName:(Lcom/sun/tools/javac/code/Type;ZLjdk/jshell/TypePrinter$AnonymousTypeKind;)Ljava/lang/String;
4: aload 1
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
5: invokespecial jdk.jshell.ExpressionToTypeInfo$ExpressionInfo$AnonymousDescription$VariableDesc.<init>:(Ljava/lang/String;Ljava/lang/String;)V
6: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jshell/ExpressionToTypeInfo;
0 7 1 ve Ljavax/lang/model/element/VariableElement;
private java.lang.String lambda$9(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.ExpressionToTypeInfo.anon2Name:Ljava/util/Map;
aload 1
aload 0
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 end local 0 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