public class org.springframework.context.event.GenericApplicationListenerAdapter implements org.springframework.context.event.GenericApplicationListener, org.springframework.context.event.SmartApplicationListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.context.event.GenericApplicationListenerAdapter
  super_class: java.lang.Object
{
  private static final java.util.Map<java.lang.Class<?>, org.springframework.core.ResolvableType> eventTypeCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/springframework/core/ResolvableType;>;

  private final org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent> delegate;
    descriptor: Lorg/springframework/context/ApplicationListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/context/ApplicationListener<Lorg/springframework/context/ApplicationEvent;>;

  private final org.springframework.core.ResolvableType declaredEventType;
    descriptor: Lorg/springframework/core/ResolvableType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 41
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:()V
            putstatic org.springframework.context.event.GenericApplicationListenerAdapter.eventTypeCache:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.springframework.context.ApplicationListener<?>);
    descriptor: (Lorg/springframework/context/ApplicationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
        start local 1 // org.springframework.context.ApplicationListener delegate
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 1 /* delegate */
            ldc "Delegate listener must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 57
            aload 0 /* this */
            aload 1 /* delegate */
            putfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
         3: .line 58
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            invokestatic org.springframework.context.event.GenericApplicationListenerAdapter.resolveDeclaredEventType:(Lorg/springframework/context/ApplicationListener;)Lorg/springframework/core/ResolvableType;
            putfield org.springframework.context.event.GenericApplicationListenerAdapter.declaredEventType:Lorg/springframework/core/ResolvableType;
         4: .line 59
            return
        end local 1 // org.springframework.context.ApplicationListener delegate
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;
            0    5     1  delegate  Lorg/springframework/context/ApplicationListener<*>;
    Signature: (Lorg/springframework/context/ApplicationListener<*>;)V
    MethodParameters:
          Name  Flags
      delegate  

  public void onApplicationEvent(org.springframework.context.ApplicationEvent);
    descriptor: (Lorg/springframework/context/ApplicationEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
        start local 1 // org.springframework.context.ApplicationEvent event
         0: .line 64
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            aload 1 /* event */
            invokeinterface org.springframework.context.ApplicationListener.onApplicationEvent:(Lorg/springframework/context/ApplicationEvent;)V
         1: .line 65
            return
        end local 1 // org.springframework.context.ApplicationEvent event
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;
            0    2     1  event  Lorg/springframework/context/ApplicationEvent;
    MethodParameters:
       Name  Flags
      event  

  public boolean supportsEventType(org.springframework.core.ResolvableType);
    descriptor: (Lorg/springframework/core/ResolvableType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
        start local 1 // org.springframework.core.ResolvableType eventType
         0: .line 70
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            instanceof org.springframework.context.event.SmartApplicationListener
            ifeq 4
         1: .line 71
            aload 1 /* eventType */
            invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
            astore 2 /* eventClass */
        start local 2 // java.lang.Class eventClass
         2: .line 72
            aload 2 /* eventClass */
            ifnull 3
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            checkcast org.springframework.context.event.SmartApplicationListener
            aload 2 /* eventClass */
            invokeinterface org.springframework.context.event.SmartApplicationListener.supportsEventType:(Ljava/lang/Class;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: java.lang.Class
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // java.lang.Class eventClass
         4: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.declaredEventType:Lorg/springframework/core/ResolvableType;
            ifnull 5
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.declaredEventType:Lorg/springframework/core/ResolvableType;
            aload 1 /* eventType */
            invokevirtual org.springframework.core.ResolvableType.isAssignableFrom:(Lorg/springframework/core/ResolvableType;)Z
            ifne 5
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 1 // org.springframework.core.ResolvableType eventType
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;
            0    6     1   eventType  Lorg/springframework/core/ResolvableType;
            2    4     2  eventClass  Ljava/lang/Class<+Lorg/springframework/context/ApplicationEvent;>;
    MethodParameters:
           Name  Flags
      eventType  

  public boolean supportsEventType(java.lang.Class<? extends org.springframework.context.ApplicationEvent>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
        start local 1 // java.lang.Class eventType
         0: .line 81
            aload 0 /* this */
            aload 1 /* eventType */
            invokestatic org.springframework.core.ResolvableType.forClass:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            invokevirtual org.springframework.context.event.GenericApplicationListenerAdapter.supportsEventType:(Lorg/springframework/core/ResolvableType;)Z
            ireturn
        end local 1 // java.lang.Class eventType
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;
            0    1     1  eventType  Ljava/lang/Class<+Lorg/springframework/context/ApplicationEvent;>;
    Signature: (Ljava/lang/Class<+Lorg/springframework/context/ApplicationEvent;>;)Z
    MethodParameters:
           Name  Flags
      eventType  

  public boolean supportsSourceType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
        start local 1 // java.lang.Class sourceType
         0: .line 86
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            instanceof org.springframework.context.event.SmartApplicationListener
            ifeq 3
         1: .line 87
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            checkcast org.springframework.context.event.SmartApplicationListener
            aload 1 /* sourceType */
            invokeinterface org.springframework.context.event.SmartApplicationListener.supportsSourceType:(Ljava/lang/Class;)Z
            ifne 3
         2: .line 86
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.lang.Class sourceType
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;
            0    4     1  sourceType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      sourceType  

  public int getOrder();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
         0: .line 92
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            instanceof org.springframework.core.Ordered
            ifeq 1
            aload 0 /* this */
            getfield org.springframework.context.event.GenericApplicationListenerAdapter.delegate:Lorg/springframework/context/ApplicationListener;
            checkcast org.springframework.core.Ordered
            invokeinterface org.springframework.core.Ordered.getOrder:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc 2147483647
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.springframework.context.event.GenericApplicationListenerAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/context/event/GenericApplicationListenerAdapter;

  private static org.springframework.core.ResolvableType resolveDeclaredEventType(org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>);
    descriptor: (Lorg/springframework/context/ApplicationListener;)Lorg/springframework/core/ResolvableType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.springframework.context.ApplicationListener listener
         0: .line 98
            aload 0 /* listener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.springframework.context.event.GenericApplicationListenerAdapter.resolveDeclaredEventType:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            astore 1 /* declaredEventType */
        start local 1 // org.springframework.core.ResolvableType declaredEventType
         1: .line 99
            aload 1 /* declaredEventType */
            ifnull 2
            aload 1 /* declaredEventType */
            ldc Lorg/springframework/context/ApplicationEvent;
            invokevirtual org.springframework.core.ResolvableType.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 5
         2: .line 100
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
            aload 0 /* listener */
            invokestatic org.springframework.aop.support.AopUtils.getTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
            astore 2 /* targetClass */
        start local 2 // java.lang.Class targetClass
         3: .line 101
            aload 2 /* targetClass */
            aload 0 /* listener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 5
         4: .line 102
            aload 2 /* targetClass */
            invokestatic org.springframework.context.event.GenericApplicationListenerAdapter.resolveDeclaredEventType:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            astore 1 /* declaredEventType */
        end local 2 // java.lang.Class targetClass
         5: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* declaredEventType */
            areturn
        end local 1 // org.springframework.core.ResolvableType declaredEventType
        end local 0 // org.springframework.context.ApplicationListener listener
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0           listener  Lorg/springframework/context/ApplicationListener<Lorg/springframework/context/ApplicationEvent;>;
            1    6     1  declaredEventType  Lorg/springframework/core/ResolvableType;
            3    5     2        targetClass  Ljava/lang/Class<*>;
    Signature: (Lorg/springframework/context/ApplicationListener<Lorg/springframework/context/ApplicationEvent;>;)Lorg/springframework/core/ResolvableType;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      listener  

  static org.springframework.core.ResolvableType resolveDeclaredEventType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class listenerType
         0: .line 110
            getstatic org.springframework.context.event.GenericApplicationListenerAdapter.eventTypeCache:Ljava/util/Map;
            aload 0 /* listenerType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.core.ResolvableType
            astore 1 /* eventType */
        start local 1 // org.springframework.core.ResolvableType eventType
         1: .line 111
            aload 1 /* eventType */
            ifnonnull 4
         2: .line 112
            aload 0 /* listenerType */
            invokestatic org.springframework.core.ResolvableType.forClass:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            ldc Lorg/springframework/context/ApplicationListener;
            invokevirtual org.springframework.core.ResolvableType.as:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            iconst_0
            newarray 10
            invokevirtual org.springframework.core.ResolvableType.getGeneric:([I)Lorg/springframework/core/ResolvableType;
            astore 1 /* eventType */
         3: .line 113
            getstatic org.springframework.context.event.GenericApplicationListenerAdapter.eventTypeCache:Ljava/util/Map;
            aload 0 /* listenerType */
            aload 1 /* eventType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 115
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
            aload 1 /* eventType */
            getstatic org.springframework.core.ResolvableType.NONE:Lorg/springframework/core/ResolvableType;
            if_acmpeq 5
            aload 1 /* eventType */
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.springframework.core.ResolvableType
         6: areturn
        end local 1 // org.springframework.core.ResolvableType eventType
        end local 0 // java.lang.Class listenerType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  listenerType  Ljava/lang/Class<*>;
            1    7     1     eventType  Lorg/springframework/core/ResolvableType;
    Signature: (Ljava/lang/Class<*>;)Lorg/springframework/core/ResolvableType;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      listenerType  
}
SourceFile: "GenericApplicationListenerAdapter.java"