class jdk.jshell.TypePrinter extends com.sun.tools.javac.code.Printer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.jshell.TypePrinter
super_class: com.sun.tools.javac.code.Printer
{
private static final java.lang.String OBJECT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Object"
private final com.sun.tools.javac.util.JavacMessages messages;
descriptor: Lcom/sun/tools/javac/util/JavacMessages;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.function.BinaryOperator<java.lang.String> fullClassNameAndPackageToClass;
descriptor: Ljava/util/function/BinaryOperator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/BinaryOperator<Ljava/lang/String;>;
private final boolean printEnhancedTypes;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.sun.tools.javac.util.JavacMessages, java.util.function.BinaryOperator<java.lang.String>, );
descriptor: (Lcom/sun/tools/javac/util/JavacMessages;Ljava/util/function/BinaryOperator;Z)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.sun.tools.javac.code.Printer.<init>:()V
1: aload 0
aload 1
putfield jdk.jshell.TypePrinter.messages:Lcom/sun/tools/javac/util/JavacMessages;
2: aload 0
aload 2
putfield jdk.jshell.TypePrinter.fullClassNameAndPackageToClass:Ljava/util/function/BinaryOperator;
3: aload 0
iload 3
putfield jdk.jshell.TypePrinter.printEnhancedTypes:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/TypePrinter;
0 5 1 messages Lcom/sun/tools/javac/util/JavacMessages;
0 5 2 fullClassNameAndPackageToClass Ljava/util/function/BinaryOperator<Ljava/lang/String;>;
0 5 3 printEnhancedTypes Z
Signature: (Lcom/sun/tools/javac/util/JavacMessages;Ljava/util/function/BinaryOperator<Ljava/lang/String;>;Z)V
MethodParameters:
Name Flags
messages
fullClassNameAndPackageToClass
printEnhancedTypes
java.lang.String toString(com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual jdk.jshell.TypePrinter.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/TypePrinter;
0 1 1 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
protected java.lang.String localize(java.util.Locale, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.jshell.TypePrinter.messages:Lcom/sun/tools/javac/util/JavacMessages;
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javac.util.JavacMessages.getLocalizedString:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)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/TypePrinter;
0 1 1 locale Ljava/util/Locale;
0 1 2 key Ljava/lang/String;
0 1 3 args [Ljava/lang/Object;
MethodParameters:
Name Flags
locale
key
args
protected java.lang.String capturedVarId(com.sun.tools.javac.code.Type$CapturedType, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Type$CapturedType;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.InternalError
dup
ldc "should never call this"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/TypePrinter;
0 1 1 t Lcom/sun/tools/javac/code/Type$CapturedType;
0 1 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
t
locale
public java.lang.String visitCapturedType(com.sun.tools.javac.code.Type$CapturedType, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Type$CapturedType;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield com.sun.tools.javac.code.Type$CapturedType.wildcard:Lcom/sun/tools/javac/code/Type$WildcardType;
aload 2
invokevirtual jdk.jshell.TypePrinter.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/TypePrinter;
0 1 1 t Lcom/sun/tools/javac/code/Type$CapturedType;
0 1 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
t
locale
public java.lang.String visitType(com.sun.tools.javac.code.Type, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
ifnull 1
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.name:Lcom/sun/tools/javac/util/Name;
ifnonnull 2
1: StackMap locals:
StackMap stack:
ldc "Object"
goto 3
2: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/TypePrinter;
0 5 1 t Lcom/sun/tools/javac/code/Type;
0 5 2 locale Ljava/util/Locale;
4 5 3 s Ljava/lang/String;
MethodParameters:
Name Flags
t
locale
protected java.lang.String className(com.sun.tools.javac.code.Type$ClassType, boolean, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;ZLjava/util/Locale;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
astore 4
start local 4 1: aload 4
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.length:()I
ifne 9
aload 4
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 16777216
land
lconst_0
lcmp
ifeq 9
2: aload 0
getfield jdk.jshell.TypePrinter.printEnhancedTypes:Z
ifeq 8
3: aload 1
checkcast com.sun.tools.javac.code.Type$IntersectionClassType
invokevirtual com.sun.tools.javac.code.Type$IntersectionClassType.getExplicitComponents:()Lcom/sun/tools/javac/util/List;
4: invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
5: aload 0
aload 3
invokedynamic apply(Ljdk/jshell/TypePrinter;Ljava/util/Locale;)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/TypePrinter.lambda$0(Ljava/util/Locale;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;
6: ldc "&"
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
7: areturn
8: StackMap locals: com.sun.tools.javac.code.Symbol
StackMap stack:
ldc "Object"
areturn
9: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.length:()I
ifne 21
10: aload 0
getfield jdk.jshell.TypePrinter.printEnhancedTypes:Z
ifeq 12
11: aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
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;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
checkcast com.sun.tools.javac.code.Type$ClassType
astore 6
start local 6 13: aload 6
ifnonnull 16
14: ldc "Object"
astore 5
start local 5 15: goto 20
end local 5 StackMap locals: jdk.jshell.TypePrinter com.sun.tools.javac.code.Type$ClassType int java.util.Locale com.sun.tools.javac.code.Symbol top com.sun.tools.javac.code.Type$ClassType
StackMap stack:
16: aload 6
getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
ifnull 19
aload 6
getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 19
17: aload 0
aload 6
getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
aload 3
invokevirtual jdk.jshell.TypePrinter.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
astore 5
start local 5 18: goto 20
end local 5 19: StackMap locals:
StackMap stack:
aload 0
aload 6
getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual jdk.jshell.TypePrinter.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
astore 5
start local 5 20: StackMap locals: jdk.jshell.TypePrinter com.sun.tools.javac.code.Type$ClassType int java.util.Locale com.sun.tools.javac.code.Symbol java.lang.String com.sun.tools.javac.code.Type$ClassType
StackMap stack:
aload 5
areturn
end local 6 end local 5 21: StackMap locals:
StackMap stack:
iload 2
ifeq 34
22: ldc ""
astore 5
start local 5 23: aload 4
astore 6
start local 6 24: goto 29
25: StackMap locals: java.lang.String com.sun.tools.javac.code.Symbol
StackMap stack:
aload 6
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.PCK:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 28
26: aload 6
invokevirtual com.sun.tools.javac.code.Symbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
astore 5
27: goto 30
28: StackMap locals:
StackMap stack:
aload 6
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
astore 6
StackMap locals:
StackMap stack:
29: aload 6
ifnonnull 25
end local 6 30: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.TypePrinter.fullClassNameAndPackageToClass:Ljava/util/function/BinaryOperator;
31: aload 4
invokevirtual com.sun.tools.javac.code.Symbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
32: aload 5
33: invokeinterface java.util.function.BinaryOperator.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 5 34: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/jshell/TypePrinter;
0 35 1 t Lcom/sun/tools/javac/code/Type$ClassType;
0 35 2 longform Z
0 35 3 locale Ljava/util/Locale;
1 35 4 sym Lcom/sun/tools/javac/code/Symbol;
15 16 5 s Ljava/lang/String;
18 19 5 s Ljava/lang/String;
20 21 5 s Ljava/lang/String;
13 21 6 norm Lcom/sun/tools/javac/code/Type$ClassType;
23 34 5 pkg Ljava/lang/String;
24 30 6 psym Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
t
longform
locale
public java.lang.String visitClassSymbol(com.sun.tools.javac.code.Symbol$ClassSymbol, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
ifeq 2
1: aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/TypePrinter;
0 4 1 sym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
0 4 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
sym
locale
public java.lang.String visitPackageSymbol(com.sun.tools.javac.code.Symbol$PackageSymbol, java.util.Locale);
descriptor: (Lcom/sun/tools/javac/code/Symbol$PackageSymbol;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Symbol$PackageSymbol.isUnnamed:()Z
ifeq 2
1: ldc ""
goto 3
2: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/TypePrinter;
0 4 1 s Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
0 4 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
s
locale
private java.lang.String lambda$0(java.util.Locale, com.sun.tools.javac.code.Type);
descriptor: (Ljava/util/Locale;Lcom/sun/tools/javac/code/Type;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
aload 1
invokevirtual jdk.jshell.TypePrinter.visit:(Lcom/sun/tools/javac/code/Type;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/TypePrinter;
0 1 2 i Lcom/sun/tools/javac/code/Type;
}
SourceFile: "TypePrinter.java"
InnerClasses:
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public CapturedType = com.sun.tools.javac.code.Type$CapturedType of com.sun.tools.javac.code.Type
public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
public IntersectionClassType = com.sun.tools.javac.code.Type$IntersectionClassType of com.sun.tools.javac.code.Type
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles