class org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate<A extends java.lang.annotation.Annotation, K> implements java.util.function.Predicate<org.springframework.core.annotation.MergedAnnotation<A>>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate
super_class: java.lang.Object
{
private final java.util.function.Function<? super org.springframework.core.annotation.MergedAnnotation<A>, K> ;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;TK;>;
private final java.util.Set<K> seen;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<TK;>;
void <init>(java.util.function.Function<? super org.springframework.core.annotation.MergedAnnotation<A>, K>);
descriptor: (Ljava/util/function/Function;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate.seen:Ljava/util/Set;
2: aload 1
ldc "Key extractor must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate.keyExtractor:Ljava/util/function/Function;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/core/annotation/MergedAnnotationPredicates$UniquePredicate<TA;TK;>;
0 5 1 keyExtractor Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;TK;>;
Signature: (Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;TK;>;)V
MethodParameters:
Name Flags
keyExtractor
public boolean test(org.springframework.core.annotation.MergedAnnotation<A>);
descriptor: (Lorg/springframework/core/annotation/MergedAnnotation;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate.keyExtractor:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate.seen:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/annotation/MergedAnnotationPredicates$UniquePredicate<TA;TK;>;
0 2 1 annotation Lorg/springframework/core/annotation/MergedAnnotation<TA;>;
1 2 2 key TK;
Signature: (Lorg/springframework/core/annotation/MergedAnnotation<TA;>;)Z
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
annotation
public boolean test(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.springframework.core.annotation.MergedAnnotation
invokevirtual org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate.test:(Lorg/springframework/core/annotation/MergedAnnotation;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <A::Ljava/lang/annotation/Annotation;K:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/function/Predicate<Lorg/springframework/core/annotation/MergedAnnotation<TA;>;>;
SourceFile: "MergedAnnotationPredicates.java"
NestHost: org.springframework.core.annotation.MergedAnnotationPredicates
InnerClasses:
private UniquePredicate = org.springframework.core.annotation.MergedAnnotationPredicates$UniquePredicate of org.springframework.core.annotation.MergedAnnotationPredicates