public class org.ehcache.core.spi.ServiceLocator$DependencySet implements org.ehcache.config.Builder<org.ehcache.core.spi.ServiceLocator>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.core.spi.ServiceLocator$DependencySet
super_class: java.lang.Object
{
private final java.lang.Iterable<org.ehcache.core.spi.service.ServiceFactory<?>> serviceFactories;
descriptor: Ljava/lang/Iterable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Iterable<Lorg/ehcache/core/spi/service/ServiceFactory<*>;>;
private final org.ehcache.core.spi.ServiceLocator$ServiceMap provided;
descriptor: Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.lang.Class<? extends org.ehcache.spi.service.Service>> requested;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;>;
private boolean includeMandatoryServices;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc Lorg/ehcache/core/spi/service/ServiceFactory;
invokestatic org.ehcache.core.util.ClassLoading.servicesOfType:(Ljava/lang/Class;)Ljava/lang/Iterable;
putfield org.ehcache.core.spi.ServiceLocator$DependencySet.serviceFactories:Ljava/lang/Iterable;
2: aload 0
new org.ehcache.core.spi.ServiceLocator$ServiceMap
dup
invokespecial org.ehcache.core.spi.ServiceLocator$ServiceMap.<init>:()V
putfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
3: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.ehcache.core.spi.ServiceLocator$DependencySet.requested:Ljava/util/Set;
4: aload 0
iconst_1
putfield org.ehcache.core.spi.ServiceLocator$DependencySet.includeMandatoryServices:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
public org.ehcache.core.spi.ServiceLocator$DependencySet with(org.ehcache.spi.service.Service);
descriptor: (Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 1
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.add:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 2 1 service Lorg/ehcache/spi/service/Service;
MethodParameters:
Name Flags
service
public org.ehcache.core.spi.ServiceLocator$DependencySet with(java.lang.Iterable<? extends org.ehcache.spi.service.Service>);
descriptor: (Ljava/lang/Iterable;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet java.lang.Iterable top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.spi.service.Service
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 5 1 services Ljava/lang/Iterable<+Lorg/ehcache/spi/service/Service;>;
2 3 2 s Lorg/ehcache/spi/service/Service;
Signature: (Ljava/lang/Iterable<+Lorg/ehcache/spi/service/Service;>;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
MethodParameters:
Name Flags
services
public <T extends org.ehcache.spi.service.Service> org.ehcache.core.spi.ServiceLocator$DependencySet with(org.ehcache.spi.service.ServiceCreationConfiguration<T, ?>);
descriptor: (Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.ehcache.spi.service.ServiceCreationConfiguration.getServiceType:()Ljava/lang/Class;
astore 2
start local 2 1: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 3
aload 2
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 3
2: aload 0
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.serviceFactories:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
4: aload 2
invokedynamic test(Ljava/lang/Class;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$0(Ljava/lang/Class;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
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;
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$1(Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory; (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Collection
6: astore 3
start local 3 7: aload 3
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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;)I
org/ehcache/core/spi/service/ServiceFactory.rank()I (9 itf)
(Lorg/ehcache/core/spi/service/ServiceFactory;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.max:()Ljava/util/OptionalInt;
astore 4
start local 4 8: aload 4
invokevirtual java.util.OptionalInt.isPresent:()Z
ifeq 11
9: aload 3
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
aload 4
invokedynamic test(Ljava/util/OptionalInt;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$3(Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 0
aload 1
invokedynamic accept(Lorg/ehcache/core/spi/ServiceLocator$DependencySet;Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Ljava/util/function/Consumer;
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;)V
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$4(Lorg/ehcache/spi/service/ServiceCreationConfiguration;Lorg/ehcache/core/spi/service/ServiceFactory;)V (7)
(Lorg/ehcache/core/spi/service/ServiceFactory;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
10: aload 0
areturn
11: StackMap locals: java.util.Collection java.util.OptionalInt
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No factories exist for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 12 1 config Lorg/ehcache/spi/service/ServiceCreationConfiguration<TT;*>;
1 12 2 serviceType Ljava/lang/Class<TT;>;
7 12 3 typedServiceFactories Ljava/util/Collection<Lorg/ehcache/core/spi/service/ServiceFactory<TT;>;>;
8 12 4 highestRank Ljava/util/OptionalInt;
Signature: <T::Lorg/ehcache/spi/service/Service;>(Lorg/ehcache/spi/service/ServiceCreationConfiguration<TT;*>;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
MethodParameters:
Name Flags
config
public org.ehcache.core.spi.ServiceLocator$DependencySet with(java.lang.Class<? extends org.ehcache.spi.service.Service>);
descriptor: (Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.requested:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 2 1 clazz Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;
Signature: (Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
MethodParameters:
Name Flags
clazz
public org.ehcache.core.spi.ServiceLocator$DependencySet withoutMandatoryServices();
descriptor: ()Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.ehcache.core.spi.ServiceLocator$DependencySet.includeMandatoryServices:Z
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
public boolean contains(java.lang.Class<? extends org.ehcache.spi.service.Service>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 1
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 1 1 serviceClass Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;
Signature: (Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;)Z
MethodParameters:
Name Flags
serviceClass
public <T extends org.ehcache.spi.service.Service> T providerOf(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Cannot retrieve single provider for plural service"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.providersOf:(Ljava/lang/Class;)Ljava/util/Collection;
astore 2
start local 2 3: aload 2
invokeinterface java.util.Collection.size:()I
tableswitch { // 0 - 1
0: 4
1: 5
default: 6
}
4: StackMap locals: java.util.Collection
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.spi.service.Service
areturn
6: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 7 1 serviceClass Ljava/lang/Class<TT;>;
3 7 2 providers Ljava/util/Collection<TT;>;
Signature: <T::Lorg/ehcache/spi/service/Service;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
serviceClass
public <T extends org.ehcache.spi.service.Service> java.util.Collection<T> providersOf(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 1
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.get:(Ljava/lang/Class;)Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 1 1 serviceClass Ljava/lang/Class<TT;>;
Signature: <T::Lorg/ehcache/spi/service/Service;>(Ljava/lang/Class<TT;>;)Ljava/util/Collection<TT;>;
MethodParameters:
Name Flags
serviceClass
public org.ehcache.core.spi.ServiceLocator build();
descriptor: ()Lorg/ehcache/core/spi/ServiceLocator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new org.ehcache.core.spi.ServiceLocator$ServiceMap
dup
invokespecial org.ehcache.core.spi.ServiceLocator$ServiceMap.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.all:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.spi.service.Service
astore 2
start local 2 3: aload 0
aload 1
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupDependenciesOf:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.add:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.requested:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals:
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 7: aload 2
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 13
8: aload 0
aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupService:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
9: goto 15
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.util.Iterator
StackMap stack: org.ehcache.core.spi.ServiceLocator$DependencyException
10: astore 4
start local 4 11: aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifne 15
12: aload 4
athrow
end local 4 13: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifne 15
14: aload 0
aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupService:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
end local 2 15: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.includeMandatoryServices:Z
ifeq 28
17: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.serviceFactories:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
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;
org/ehcache/core/spi/service/ServiceFactory.getServiceType()Ljava/lang/Class; (9 itf)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Ljava/lang/Class;
invokestatic java.util.stream.Collectors.groupingBy:(Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 27
StackMap locals:
StackMap stack:
18: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 19: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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;)I
org/ehcache/core/spi/service/ServiceFactory.rank()I (9 itf)
(Lorg/ehcache/core/spi/service/ServiceFactory;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.max:()Ljava/util/OptionalInt;
astore 4
start local 4 20: aload 4
invokevirtual java.util.OptionalInt.isPresent:()Z
ifeq 27
21: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()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
org/ehcache/core/spi/service/ServiceFactory.isMandatory()Z (9 itf)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 4
invokedynamic test(Ljava/util/OptionalInt;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$8(Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 26
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.util.List java.util.Iterator java.util.OptionalInt top java.util.Iterator
StackMap stack:
22: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.core.spi.service.ServiceFactory
astore 5
start local 5 23: aload 1
aload 5
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifne 26
24: aload 5
aconst_null
invokeinterface org.ehcache.core.spi.service.ServiceFactory.create:(Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Lorg/ehcache/spi/service/Service;
astore 7
start local 7 25: aload 0
aload 1
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupDependenciesOf:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 7
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.add:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
end local 7 end local 5 26: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 4 end local 2 27: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
28: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap
StackMap stack:
new org.ehcache.core.spi.ServiceLocator
dup
aload 1
invokespecial org.ehcache.core.spi.ServiceLocator.<init>:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;)V
29: areturn
end local 1 30: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet
StackMap stack: org.ehcache.core.spi.ServiceLocator$DependencyException
astore 1
start local 1 31: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
1 30 1 resolvedServices Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
3 4 2 service Lorg/ehcache/spi/service/Service;
7 15 2 request Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;
11 13 4 e Lorg/ehcache/core/spi/ServiceLocator$DependencyException;
19 27 2 factories Ljava/util/List<Lorg/ehcache/core/spi/service/ServiceFactory<*>;>;
20 27 4 highestRank Ljava/util/OptionalInt;
23 26 5 manadatory Lorg/ehcache/core/spi/service/ServiceFactory<*>;
25 26 7 service Lorg/ehcache/spi/service/Service;
31 32 1 e Lorg/ehcache/core/spi/ServiceLocator$DependencyException;
Exception table:
from to target type
8 9 10 Class org.ehcache.core.spi.ServiceLocator$DependencyException
0 29 30 Class org.ehcache.core.spi.ServiceLocator$DependencyException
org.ehcache.core.spi.ServiceLocator$ServiceMap lookupDependenciesOf(org.ehcache.core.spi.ServiceLocator$ServiceMap, java.lang.Class<? extends org.ehcache.spi.service.Service>);
descriptor: (Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.ehcache.core.spi.ServiceLocator.identifyImmediateDependenciesOf:(Ljava/lang/Class;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 2: aload 0
aload 1
aload 3
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupService:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
3: goto 10
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.lang.Class java.util.Iterator
StackMap stack: org.ehcache.core.spi.ServiceLocator$DependencyException
4: astore 5
start local 5 5: aload 2
ldc Lorg/ehcache/spi/service/OptionalServiceDependencies;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.ehcache.spi.service.OptionalServiceDependencies
astore 6
start local 6 6: aload 6
ifnull 9
aload 6
invokeinterface org.ehcache.spi.service.OptionalServiceDependencies.value:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 9
7: getstatic org.ehcache.core.spi.ServiceLocator.LOGGER:Lorg/slf4j/Logger;
ldc "Skipping optional dependency of {} that cannot be looked up: {}"
aload 2
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: goto 10
9: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencyException org.ehcache.spi.service.OptionalServiceDependencies
StackMap stack:
aload 5
athrow
end local 6 end local 5 end local 3 10: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 12 1 resolved Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
0 12 2 requested Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;
2 10 3 dependency Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;
5 10 5 de Lorg/ehcache/core/spi/ServiceLocator$DependencyException;
6 10 6 optionalAnnotation Lorg/ehcache/spi/service/OptionalServiceDependencies;
Exception table:
from to target type
2 3 4 Class org.ehcache.core.spi.ServiceLocator$DependencyException
Exceptions:
throws org.ehcache.core.spi.ServiceLocator$DependencyException
Signature: (Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class<+Lorg/ehcache/spi/service/Service;>;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
MethodParameters:
Name Flags
resolved
requested
private <T extends org.ehcache.spi.service.Service> org.ehcache.core.spi.ServiceLocator$ServiceMap lookupService(org.ehcache.core.spi.ServiceLocator$ServiceMap, java.lang.Class<T>);
descriptor: (Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 2
aload 2
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new org.ehcache.core.spi.ServiceLocator$ServiceMap
dup
aload 1
invokespecial org.ehcache.core.spi.ServiceLocator$ServiceMap.<init>:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;)V
aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.get:(Ljava/lang/Class;)Ljava/util/Set;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.addAll:(Ljava/lang/Iterable;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
3: aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 5
aload 2
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 5
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.discoverServices:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Ljava/util/Collection;
astore 3
start local 3 6: aload 3
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmple 8
aload 2
ldc Lorg/ehcache/spi/service/PluralService;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 8
7: new org.ehcache.core.spi.ServiceLocator$DependencyException
dup
ldc "Multiple factories for non-plural service"
invokespecial org.ehcache.core.spi.ServiceLocator$DependencyException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.util.Collection
StackMap stack:
aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 17
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.util.Collection top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.core.spi.service.ServiceFactory
astore 4
start local 4 10: aload 1
aload 4
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifne 17
11: aload 0
aload 1
aload 4
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.lookupDependenciesOf:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
12: goto 15
StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.util.Collection org.ehcache.core.spi.service.ServiceFactory java.util.Iterator
StackMap stack: org.ehcache.core.spi.ServiceLocator$DependencyException
13: pop
14: goto 17
15: StackMap locals:
StackMap stack:
aload 4
aconst_null
invokeinterface org.ehcache.core.spi.service.ServiceFactory.create:(Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Lorg/ehcache/spi/service/Service;
astore 6
start local 6 16: new org.ehcache.core.spi.ServiceLocator$ServiceMap
dup
aload 1
invokespecial org.ehcache.core.spi.ServiceLocator$ServiceMap.<init>:(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;)V
aload 6
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.add:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
astore 1
end local 6 end local 4 17: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.util.Collection top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
18: aload 1
aload 2
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 20
19: aload 1
areturn
20: StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet org.ehcache.core.spi.ServiceLocator$ServiceMap java.lang.Class java.util.Collection
StackMap stack:
new org.ehcache.core.spi.ServiceLocator$DependencyException
dup
new java.lang.StringBuilder
dup
ldc "Failed to find provider with satisfied dependency set for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " [candidates "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.ehcache.core.spi.ServiceLocator$DependencyException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 21 1 resolved Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
0 21 2 requested Ljava/lang/Class<TT;>;
6 21 3 serviceFactories Ljava/util/Collection<Lorg/ehcache/core/spi/service/ServiceFactory<+TT;>;>;
10 17 4 factory Lorg/ehcache/core/spi/service/ServiceFactory<+TT;>;
16 17 6 service TT;
Exception table:
from to target type
11 12 13 Class org.ehcache.core.spi.ServiceLocator$DependencyException
Exceptions:
throws org.ehcache.core.spi.ServiceLocator$DependencyException
Signature: <T::Lorg/ehcache/spi/service/Service;>(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class<TT;>;)Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
MethodParameters:
Name Flags
resolved
requested
private <T, V> java.util.Collection<org.ehcache.core.spi.service.ServiceFactory<? extends T>> discoverServices(org.ehcache.core.spi.ServiceLocator$ServiceMap, java.lang.Class<T>);
descriptor: (Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.serviceFactories:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
1: aload 2
invokedynamic test(Ljava/lang/Class;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$9(Ljava/lang/Class;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
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;
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$10(Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory; (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokedynamic test()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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$11(Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: aload 0
invokedynamic test(Lorg/ehcache/core/spi/ServiceLocator$DependencySet;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$12(Lorg/ehcache/core/spi/service/ServiceFactory;)Z (7)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 1
invokedynamic test(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$13(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Collection
6: astore 3
start local 3 7: aload 3
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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;)I
org/ehcache/core/spi/service/ServiceFactory.rank()I (9 itf)
(Lorg/ehcache/core/spi/service/ServiceFactory;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.max:()Ljava/util/OptionalInt;
astore 4
start local 4 8: aload 4
invokevirtual java.util.OptionalInt.isPresent:()Z
ifeq 10
9: aload 3
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
aload 4
invokedynamic test(Ljava/util/OptionalInt;)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
org/ehcache/core/spi/ServiceLocator$DependencySet.lambda$15(Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z (6)
(Lorg/ehcache/core/spi/service/ServiceFactory;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Collection
areturn
10: StackMap locals: java.util.Collection java.util.OptionalInt
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 11 1 resolved Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
0 11 2 serviceClass Ljava/lang/Class<TT;>;
7 11 3 typedServiceFactories Ljava/util/Collection<Lorg/ehcache/core/spi/service/ServiceFactory<+TT;>;>;
8 11 4 highestRank Ljava/util/OptionalInt;
Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Ljava/lang/Class<TT;>;)Ljava/util/Collection<Lorg/ehcache/core/spi/service/ServiceFactory<+TT;>;>;
MethodParameters:
Name Flags
resolved
serviceClass
public java.lang.Object build();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.build:()Lorg/ehcache/core/spi/ServiceLocator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$0(java.lang.Class, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Ljava/lang/Class;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 f Lorg/ehcache/core/spi/service/ServiceFactory<*>;
private static org.ehcache.core.spi.service.ServiceFactory lambda$1(org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f Lorg/ehcache/core/spi/service/ServiceFactory<*>;
private static boolean lambda$3(java.util.OptionalInt, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual java.util.OptionalInt.getAsInt:()I
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.rank:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 f Lorg/ehcache/core/spi/service/ServiceFactory<TT;>;
private void lambda$4(org.ehcache.spi.service.ServiceCreationConfiguration, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/spi/service/ServiceCreationConfiguration;Lorg/ehcache/core/spi/service/ServiceFactory;)V
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
invokeinterface org.ehcache.core.spi.service.ServiceFactory.create:(Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Lorg/ehcache/spi/service/Service;
invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 1 2 f Lorg/ehcache/core/spi/service/ServiceFactory<TT;>;
private static boolean lambda$8(java.util.OptionalInt, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual java.util.OptionalInt.getAsInt:()I
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.rank:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 f Lorg/ehcache/core/spi/service/ServiceFactory<*>;
private static boolean lambda$9(java.lang.Class, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Ljava/lang/Class;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 f Lorg/ehcache/core/spi/service/ServiceFactory<*>;
private static org.ehcache.core.spi.service.ServiceFactory lambda$10(org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/core/spi/service/ServiceFactory;)Lorg/ehcache/core/spi/service/ServiceFactory;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f Lorg/ehcache/core/spi/service/ServiceFactory<*>;
private static boolean lambda$11(org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lorg/ehcache/core/spi/service/ServiceFactory$RequiresConfiguration;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 f Lorg/ehcache/core/spi/service/ServiceFactory<Ljava/lang/Object;>;
private boolean lambda$12(org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.core.spi.ServiceLocator$DependencySet.provided:Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
0 3 1 f Lorg/ehcache/core/spi/service/ServiceFactory<Ljava/lang/Object;>;
private static boolean lambda$13(org.ehcache.core.spi.ServiceLocator$ServiceMap, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Lorg/ehcache/core/spi/ServiceLocator$ServiceMap;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.getServiceType:()Ljava/lang/Class;
invokevirtual org.ehcache.core.spi.ServiceLocator$ServiceMap.contains:(Ljava/lang/Class;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 f Lorg/ehcache/core/spi/service/ServiceFactory<Ljava/lang/Object;>;
private static boolean lambda$15(java.util.OptionalInt, org.ehcache.core.spi.service.ServiceFactory);
descriptor: (Ljava/util/OptionalInt;Lorg/ehcache/core/spi/service/ServiceFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual java.util.OptionalInt.getAsInt:()I
aload 1
invokeinterface org.ehcache.core.spi.service.ServiceFactory.rank:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 f Lorg/ehcache/core/spi/service/ServiceFactory<+TT;>;
}
Signature: Ljava/lang/Object;Lorg/ehcache/config/Builder<Lorg/ehcache/core/spi/ServiceLocator;>;
SourceFile: "ServiceLocator.java"
NestHost: org.ehcache.core.spi.ServiceLocator
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private DependencyException = org.ehcache.core.spi.ServiceLocator$DependencyException of org.ehcache.core.spi.ServiceLocator
public DependencySet = org.ehcache.core.spi.ServiceLocator$DependencySet of org.ehcache.core.spi.ServiceLocator
private ServiceMap = org.ehcache.core.spi.ServiceLocator$ServiceMap of org.ehcache.core.spi.ServiceLocator
public abstract RequiresConfiguration = org.ehcache.core.spi.service.ServiceFactory$RequiresConfiguration of org.ehcache.core.spi.service.ServiceFactory