class org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate<A extends java.lang.annotation.Annotation> 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$FirstRunOfPredicate
super_class: java.lang.Object
{
private final java.util.function.Function<? super org.springframework.core.annotation.MergedAnnotation<A>, ?> ;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;*>;
private boolean hasLastValue;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object lastValue;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
void <init>(java.util.function.Function<? super org.springframework.core.annotation.MergedAnnotation<A>, ?>);
descriptor: (Ljava/util/function/Function;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Value extractor must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.valueExtractor:Ljava/util/function/Function;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/core/annotation/MergedAnnotationPredicates$FirstRunOfPredicate<TA;>;
0 4 1 valueExtractor Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;*>;
Signature: (Ljava/util/function/Function<-Lorg/springframework/core/annotation/MergedAnnotation<TA;>;*>;)V
MethodParameters:
Name Flags
valueExtractor
public boolean test(org.springframework.core.annotation.MergedAnnotation<A>);
descriptor: (Lorg/springframework/core/annotation/MergedAnnotation;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.hasLastValue:Z
ifne 3
1: aload 0
iconst_1
putfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.hasLastValue:Z
2: aload 0
aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.valueExtractor:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
putfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.lastValue:Ljava/lang/Object;
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.valueExtractor:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 4: aload 2
aload 0
getfield org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate.lastValue:Ljava/lang/Object;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/core/annotation/MergedAnnotationPredicates$FirstRunOfPredicate<TA;>;
0 5 1 annotation Lorg/springframework/core/annotation/MergedAnnotation<TA;>;
4 5 2 value Ljava/lang/Object;
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$FirstRunOfPredicate.test:(Lorg/springframework/core/annotation/MergedAnnotation;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <A::Ljava/lang/annotation/Annotation;>Ljava/lang/Object;Ljava/util/function/Predicate<Lorg/springframework/core/annotation/MergedAnnotation<TA;>;>;
SourceFile: "MergedAnnotationPredicates.java"
NestHost: org.springframework.core.annotation.MergedAnnotationPredicates
InnerClasses:
private FirstRunOfPredicate = org.springframework.core.annotation.MergedAnnotationPredicates$FirstRunOfPredicate of org.springframework.core.annotation.MergedAnnotationPredicates