public abstract class org.springframework.beans.annotation.AnnotationBeanUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.beans.annotation.AnnotationBeanUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.annotation.AnnotationBeanUtils this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.beans.annotation.AnnotationBeanUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/annotation/AnnotationBeanUtils;

  public static void copyPropertiesToBean(java.lang.annotation.Annotation, java.lang.Object, java.lang.String[]);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/Object;[Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.annotation.Annotation ann
        start local 1 // java.lang.Object bean
        start local 2 // java.lang.String[] excludedProperties
         0: .line 49
            aload 0 /* ann */
            aload 1 /* bean */
            aconst_null
            aload 2 /* excludedProperties */
            invokestatic org.springframework.beans.annotation.AnnotationBeanUtils.copyPropertiesToBean:(Ljava/lang/annotation/Annotation;Ljava/lang/Object;Lorg/springframework/util/StringValueResolver;[Ljava/lang/String;)V
         1: .line 50
            return
        end local 2 // java.lang.String[] excludedProperties
        end local 1 // java.lang.Object bean
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                 ann  Ljava/lang/annotation/Annotation;
            0    2     1                bean  Ljava/lang/Object;
            0    2     2  excludedProperties  [Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      ann                 
      bean                
      excludedProperties  

  public static void copyPropertiesToBean(java.lang.annotation.Annotation, java.lang.Object, org.springframework.util.StringValueResolver, java.lang.String[]);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/Object;Lorg/springframework/util/StringValueResolver;[Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=13, args_size=4
        start local 0 // java.lang.annotation.Annotation ann
        start local 1 // java.lang.Object bean
        start local 2 // org.springframework.util.StringValueResolver valueResolver
        start local 3 // java.lang.String[] excludedProperties
         0: .line 65
            new java.util.HashSet
            dup
            aload 3 /* excludedProperties */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* excluded */
        start local 4 // java.util.Set excluded
         1: .line 66
            aload 0 /* ann */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 5 /* annotationProperties */
        start local 5 // java.lang.reflect.Method[] annotationProperties
         2: .line 67
            aload 1 /* bean */
            invokestatic org.springframework.beans.PropertyAccessorFactory.forBeanPropertyAccess:(Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
            astore 6 /* bw */
        start local 6 // org.springframework.beans.BeanWrapper bw
         3: .line 68
            aload 5 /* annotationProperties */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 12
      StackMap locals: java.lang.annotation.Annotation java.lang.Object org.springframework.util.StringValueResolver java.lang.String[] java.util.Set java.lang.reflect.Method[] org.springframework.beans.BeanWrapper top int int java.lang.reflect.Method[]
      StackMap stack:
         4: aload 10
            iload 8
            aaload
            astore 7 /* annotationProperty */
        start local 7 // java.lang.reflect.Method annotationProperty
         5: .line 69
            aload 7 /* annotationProperty */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 11 /* propertyName */
        start local 11 // java.lang.String propertyName
         6: .line 70
            aload 4 /* excluded */
            aload 11 /* propertyName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 11
            aload 6 /* bw */
            aload 11 /* propertyName */
            invokeinterface org.springframework.beans.BeanWrapper.isWritableProperty:(Ljava/lang/String;)Z
            ifeq 11
         7: .line 71
            aload 7 /* annotationProperty */
            aload 0 /* ann */
            invokestatic org.springframework.util.ReflectionUtils.invokeMethod:(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* value */
        start local 12 // java.lang.Object value
         8: .line 72
            aload 2 /* valueResolver */
            ifnull 10
            aload 12 /* value */
            instanceof java.lang.String
            ifeq 10
         9: .line 73
            aload 2 /* valueResolver */
            aload 12 /* value */
            checkcast java.lang.String
            invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* value */
        10: .line 75
      StackMap locals: java.lang.annotation.Annotation java.lang.Object org.springframework.util.StringValueResolver java.lang.String[] java.util.Set java.lang.reflect.Method[] org.springframework.beans.BeanWrapper java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String java.lang.Object
      StackMap stack:
            aload 6 /* bw */
            aload 11 /* propertyName */
            aload 12 /* value */
            invokeinterface org.springframework.beans.BeanWrapper.setPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 12 // java.lang.Object value
        end local 11 // java.lang.String propertyName
        end local 7 // java.lang.reflect.Method annotationProperty
        11: .line 68
      StackMap locals: java.lang.annotation.Annotation java.lang.Object org.springframework.util.StringValueResolver java.lang.String[] java.util.Set java.lang.reflect.Method[] org.springframework.beans.BeanWrapper top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        12: iload 8
            iload 9
            if_icmplt 4
        13: .line 78
            return
        end local 6 // org.springframework.beans.BeanWrapper bw
        end local 5 // java.lang.reflect.Method[] annotationProperties
        end local 4 // java.util.Set excluded
        end local 3 // java.lang.String[] excludedProperties
        end local 2 // org.springframework.util.StringValueResolver valueResolver
        end local 1 // java.lang.Object bean
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0                   ann  Ljava/lang/annotation/Annotation;
            0   14     1                  bean  Ljava/lang/Object;
            0   14     2         valueResolver  Lorg/springframework/util/StringValueResolver;
            0   14     3    excludedProperties  [Ljava/lang/String;
            1   14     4              excluded  Ljava/util/Set<Ljava/lang/String;>;
            2   14     5  annotationProperties  [Ljava/lang/reflect/Method;
            3   14     6                    bw  Lorg/springframework/beans/BeanWrapper;
            5   11     7    annotationProperty  Ljava/lang/reflect/Method;
            6   11    11          propertyName  Ljava/lang/String;
            8   11    12                 value  Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
      3:
    MethodParameters:
                    Name  Flags
      ann                 
      bean                
      valueResolver       
      excludedProperties  
}
SourceFile: "AnnotationBeanUtils.java"