public class org.springframework.core.annotation.AnnotationAwareOrderComparator extends org.springframework.core.OrderComparator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.core.annotation.AnnotationAwareOrderComparator
super_class: org.springframework.core.OrderComparator
{
public static final org.springframework.core.annotation.AnnotationAwareOrderComparator INSTANCE;
descriptor: Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.springframework.core.annotation.AnnotationAwareOrderComparator
dup
invokespecial org.springframework.core.annotation.AnnotationAwareOrderComparator.<init>:()V
putstatic org.springframework.core.annotation.AnnotationAwareOrderComparator.INSTANCE:Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.core.OrderComparator.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
protected java.lang.Integer findOrder(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Integer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.springframework.core.OrderComparator.findOrder:(Ljava/lang/Object;)Ljava/lang/Integer;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.Integer
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 5
4: aload 1
checkcast java.lang.Class
invokestatic org.springframework.core.annotation.OrderUtils.getOrder:(Ljava/lang/Class;)Ljava/lang/Integer;
areturn
5: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.Method
ifeq 9
6: aload 1
checkcast java.lang.reflect.Method
ldc Lorg/springframework/core/annotation/Order;
invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.springframework.core.annotation.Order
astore 3
start local 3 7: aload 3
ifnull 16
8: aload 3
invokeinterface org.springframework.core.annotation.Order.value:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.AnnotatedElement
ifeq 13
10: aload 1
checkcast java.lang.reflect.AnnotatedElement
ldc Lorg/springframework/core/annotation/Order;
invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.springframework.core.annotation.Order
astore 3
start local 3 11: aload 3
ifnull 16
12: aload 3
invokeinterface org.springframework.core.annotation.Order.value:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 3 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.core.annotation.OrderUtils.getOrder:(Ljava/lang/Class;)Ljava/lang/Integer;
astore 2
14: aload 2
ifnonnull 16
aload 1
instanceof org.springframework.core.DecoratingProxy
ifeq 16
15: aload 1
checkcast org.springframework.core.DecoratingProxy
invokeinterface org.springframework.core.DecoratingProxy.getDecoratedClass:()Ljava/lang/Class;
invokestatic org.springframework.core.annotation.OrderUtils.getOrder:(Ljava/lang/Class;)Ljava/lang/Integer;
astore 2
16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
0 17 1 obj Ljava/lang/Object;
1 17 2 order Ljava/lang/Integer;
7 9 3 ann Lorg/springframework/core/annotation/Order;
11 13 3 ann Lorg/springframework/core/annotation/Order;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
obj
public java.lang.Integer getPriority(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Class
ifeq 2
1: aload 1
checkcast java.lang.Class
invokestatic org.springframework.core.annotation.OrderUtils.getPriority:(Ljava/lang/Class;)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.core.annotation.OrderUtils.getPriority:(Ljava/lang/Class;)Ljava/lang/Integer;
astore 2
start local 2 3: aload 2
ifnonnull 5
aload 1
instanceof org.springframework.core.DecoratingProxy
ifeq 5
4: aload 1
checkcast org.springframework.core.DecoratingProxy
invokeinterface org.springframework.core.DecoratingProxy.getDecoratedClass:()Ljava/lang/Class;
invokestatic org.springframework.core.annotation.OrderUtils.getPriority:(Ljava/lang/Class;)Ljava/lang/Integer;
astore 2
5: StackMap locals: java.lang.Integer
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
0 6 1 obj Ljava/lang/Object;
3 6 2 priority Ljava/lang/Integer;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
obj
public static void sort(java.util.List<?>);
descriptor: (Ljava/util/List;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 2
1: aload 0
getstatic org.springframework.core.annotation.AnnotationAwareOrderComparator.INSTANCE:Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 list Ljava/util/List<*>;
Signature: (Ljava/util/List<*>;)V
MethodParameters:
Name Flags
list
public static void sort(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmple 2
1: aload 0
getstatic org.springframework.core.annotation.AnnotationAwareOrderComparator.INSTANCE:Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 array [Ljava/lang/Object;
MethodParameters:
Name Flags
array
public static void sortIfNecessary(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Object[]
ifeq 3
1: aload 0
checkcast java.lang.Object[]
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:([Ljava/lang/Object;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.List
ifeq 5
4: aload 0
checkcast java.util.List
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
}
SourceFile: "AnnotationAwareOrderComparator.java"