class com.sun.tools.javac.code.Types$DescriptorCache
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.code.Types$DescriptorCache
super_class: java.lang.Object
{
private java.util.WeakHashMap<com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Types$DescriptorCache$Entry> _map;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/WeakHashMap<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Types$DescriptorCache$Entry;>;
final com.sun.tools.javac.code.Types this$0;
descriptor: Lcom/sun/tools/javac/code/Types;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.code.Types);
descriptor: (Lcom/sun/tools/javac/code/Types;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.sun.tools.javac.code.Types$DescriptorCache._map:Ljava/util/WeakHashMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
MethodParameters:
Name Flags
this$0 final
com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor get(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache._map:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Types$DescriptorCache$Entry
astore 2
start local 2 1: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
iconst_0
invokevirtual com.sun.tools.javac.code.Types.membersClosure:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Scope$CompoundScope;
astore 3
start local 3 2: aload 2
ifnull 4
3: aload 2
aload 3
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getMark:()I
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache$Entry.matches:(I)Z
ifne 7
4: StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache$Entry com.sun.tools.javac.code.Scope$CompoundScope
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.findDescriptorInternal:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Scope$CompoundScope;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
astore 4
start local 4 5: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache._map:Ljava/util/WeakHashMap;
aload 1
new com.sun.tools.javac.code.Types$DescriptorCache$Entry
dup
aload 0
aload 4
aload 3
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getMark:()I
invokespecial com.sun.tools.javac.code.Types$DescriptorCache$Entry.<init>:(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;I)V
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 4
areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.tools.javac.code.Types$DescriptorCache$Entry.cachedDescRes:Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 8 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
1 8 2 e Lcom/sun/tools/javac/code/Types$DescriptorCache$Entry;
2 8 3 members Lcom/sun/tools/javac/code/Scope$CompoundScope;
5 7 4 descRes Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
Exceptions:
throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
origin
public com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor findDescriptorInternal(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Scope$CompoundScope);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Scope$CompoundScope;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isInterface:()Z
ifeq 1
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 8192
land
lconst_0
lcmp
ifne 1
aload 1
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSealed:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
ldc "not.a.functional.intf"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.failure:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
athrow
2: StackMap locals:
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 3
start local 3 3: aload 2
new com.sun.tools.javac.code.Types$DescriptorFilter
dup
aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
invokespecial com.sun.tools.javac.code.Types$DescriptorFilter.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.getSymbols:(Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 19
StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 4
start local 4 5: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 4
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
astore 6
start local 6 6: aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.isEmpty:()Z
ifeq 9
7: aload 3
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
8: goto 19
StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator com.sun.tools.javac.code.Type
StackMap stack:
9: aload 4
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.first:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
if_acmpne 16
10: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 6
aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.first:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.overrideEquivalent:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 16
11: aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.stream:()Ljava/util/stream/Stream;
aload 0
aload 4
invokedynamic test(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Symbol;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/code/Types$DescriptorCache.lambda$0(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Z (7)
(Lcom/sun/tools/javac/code/Symbol;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
12: aload 0
aload 1
invokedynamic apply(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)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/code/Types$DescriptorCache.lambda$1(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type; (7)
(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
13: aload 0
aload 6
invokedynamic test(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Type;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/code/Types$DescriptorCache.lambda$2(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z (7)
(Lcom/sun/tools/javac/code/Type;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifne 19
14: aload 3
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
ldc "not.a.functional.intf.1"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
17: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
aload 1
invokestatic com.sun.tools.javac.code.Kinds.kindName:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Kinds$KindName;
aload 1
invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleAbstracts:(Lcom/sun/tools/javac/code/Kinds$KindName;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
aastore
18: invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.failure:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
athrow
end local 6 end local 4 19: StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
20: aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.isEmpty:()Z
ifeq 24
21: aload 0
ldc "not.a.functional.intf.1"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
22: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
aload 1
invokestatic com.sun.tools.javac.code.Kinds.kindName:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Kinds$KindName;
aload 1
invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.NoAbstracts:(Lcom/sun/tools/javac/code/Kinds$KindName;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
aastore
23: invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.failure:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
athrow
24: StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.size:()I
iconst_1
if_icmpne 26
25: new com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor
dup
aload 0
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.first:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
invokespecial com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor.<init>:(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Symbol;)V
areturn
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.mergeDescriptors:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
astore 4
start local 4 27: aload 4
ifnonnull 48
28: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 5
start local 5 29: aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
astore 7
goto 40
StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
30: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 6
start local 6 31: aload 6
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 33
32: ldc "descriptor.throws"
goto 34
StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol java.util.Iterator
StackMap stack:
33: ldc "descriptor"
34: StackMap locals:
StackMap stack: java.lang.String
astore 8
start local 8 35: aload 5
aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
aload 8
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 6
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
aastore
dup
iconst_1
36: aload 6
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
aastore
dup
iconst_2
37: aload 6
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
aastore
dup
iconst_3
38: aload 6
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
aastore
39: invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 8 end local 6 40: StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
41: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
aload 1
invokestatic com.sun.tools.javac.code.Kinds.kindName:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Kinds$KindName;
42: aload 1
43: invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleDescsInFunctionalIntf:(Lcom/sun/tools/javac/code/Kinds$KindName;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
44: astore 6
start local 6 45: new com.sun.tools.javac.util.JCDiagnostic$MultilineDiagnostic
dup
aload 6
aload 5
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokespecial com.sun.tools.javac.util.JCDiagnostic$MultilineDiagnostic.<init>:(Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/util/List;)V
46: astore 7
start local 7 47: aload 0
aload 7
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.failure:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
athrow
end local 7 end local 6 end local 5 48: StackMap locals: com.sun.tools.javac.code.Types$DescriptorCache com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Scope$CompoundScope com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 49 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 49 2 membersCache Lcom/sun/tools/javac/code/Scope$CompoundScope;
3 49 3 abstracts Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol;>;
5 19 4 sym Lcom/sun/tools/javac/code/Symbol;
6 19 6 mtype Lcom/sun/tools/javac/code/Type;
27 49 4 descRes Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
29 48 5 descriptors Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/util/JCDiagnostic;>;
31 40 6 desc Lcom/sun/tools/javac/code/Symbol;
35 40 8 key Ljava/lang/String;
45 48 6 msg Lcom/sun/tools/javac/util/JCDiagnostic;
47 48 7 incompatibleDescriptors Lcom/sun/tools/javac/util/JCDiagnostic$MultilineDiagnostic;
Exceptions:
throws com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
MethodParameters:
Name Flags
origin
membersCache
private com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor mergeDescriptors(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol>);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 2
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
iconst_0
invokevirtual com.sun.tools.javac.code.Types.mergeAbstracts:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Z)Ljava/util/Optional;
1: aload 0
invokedynamic apply(Lcom/sun/tools/javac/code/Types$DescriptorCache;)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/code/Types$DescriptorCache.lambda$3(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$1; (7)
(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$1;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
2: aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 4 1 origin Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
0 4 2 methodSyms Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
Signature: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;)Lcom/sun/tools/javac/code/Types$DescriptorCache$FunctionDescriptor;
MethodParameters:
Name Flags
origin
methodSyms
com.sun.tools.javac.code.Types$FunctionDescriptorLookupError failure(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
flags: (0x0080) ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
aload 1
aload 2
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
invokevirtual com.sun.tools.javac.code.Types$DescriptorCache.failure:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 1 1 msg Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
msg
args
com.sun.tools.javac.code.Types$FunctionDescriptorLookupError failure(com.sun.tools.javac.util.JCDiagnostic);
descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
dup
invokespecial com.sun.tools.javac.code.Types$FunctionDescriptorLookupError.<init>:()V
aload 1
invokevirtual com.sun.tools.javac.code.Types$FunctionDescriptorLookupError.setMessage:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 1 1 diag Lcom/sun/tools/javac/util/JCDiagnostic;
MethodParameters:
Name Flags
diag
static com.sun.tools.javac.code.Types access$0(com.sun.tools.javac.code.Types$DescriptorCache);
descriptor: (Lcom/sun/tools/javac/code/Types$DescriptorCache;)Lcom/sun/tools/javac/code/Types;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
areturn
LocalVariableTable:
Start End Slot Name Signature
private boolean lambda$0(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 2
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
aload 1
invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.code.Symbol.isSubClass:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 1 2 msym Lcom/sun/tools/javac/code/Symbol;
private com.sun.tools.javac.code.Type lambda$1(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 1 2 msym Lcom/sun/tools/javac/code/Symbol;
private boolean lambda$2(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types$DescriptorCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.Types.isSubSignature:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 1 2 abstractMType Lcom/sun/tools/javac/code/Type;
private com.sun.tools.javac.code.Types$DescriptorCache$1 lambda$3(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Types$DescriptorCache$1;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.Types$DescriptorCache$1
dup
aload 0
aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Symbol.baseSymbol:()Lcom/sun/tools/javac/code/Symbol;
aload 1
invokespecial com.sun.tools.javac.code.Types$DescriptorCache$1.<init>:(Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Types$DescriptorCache;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)V
1: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Types$DescriptorCache;
0 2 1 bestSoFar Lcom/sun/tools/javac/code/Symbol;
}
SourceFile: "Types.java"
NestHost: com.sun.tools.javac.code.Types
InnerClasses:
public final KindName = com.sun.tools.javac.code.Kinds$KindName of com.sun.tools.javac.code.Kinds
public CompoundScope = com.sun.tools.javac.code.Scope$CompoundScope of com.sun.tools.javac.code.Scope
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
DescriptorCache = com.sun.tools.javac.code.Types$DescriptorCache of com.sun.tools.javac.code.Types
com.sun.tools.javac.code.Types$DescriptorCache$1
Entry = com.sun.tools.javac.code.Types$DescriptorCache$Entry of com.sun.tools.javac.code.Types$DescriptorCache
FunctionDescriptor = com.sun.tools.javac.code.Types$DescriptorCache$FunctionDescriptor of com.sun.tools.javac.code.Types$DescriptorCache
DescriptorFilter = com.sun.tools.javac.code.Types$DescriptorFilter of com.sun.tools.javac.code.Types
public FunctionDescriptorLookupError = com.sun.tools.javac.code.Types$FunctionDescriptorLookupError of com.sun.tools.javac.code.Types
public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic
public MultilineDiagnostic = com.sun.tools.javac.util.JCDiagnostic$MultilineDiagnostic of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles