public class org.springframework.beans.factory.support.RootBeanDefinition extends org.springframework.beans.factory.support.AbstractBeanDefinition
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.beans.factory.support.RootBeanDefinition
  super_class: org.springframework.beans.factory.support.AbstractBeanDefinition
{
  private org.springframework.beans.factory.config.BeanDefinitionHolder decoratedDefinition;
    descriptor: Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.reflect.AnnotatedElement qualifiedElement;
    descriptor: Ljava/lang/reflect/AnnotatedElement;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  volatile boolean stale;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  boolean allowCaching;
    descriptor: Z
    flags: (0x0000) 

  boolean isFactoryMethodUnique;
    descriptor: Z
    flags: (0x0000) 

  volatile org.springframework.core.ResolvableType targetType;
    descriptor: Lorg/springframework/core/ResolvableType;
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  volatile java.lang.Class<?> resolvedTargetType;
    descriptor: Ljava/lang/Class;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  volatile java.lang.Boolean isFactoryBean;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  volatile org.springframework.core.ResolvableType factoryMethodReturnType;
    descriptor: Lorg/springframework/core/ResolvableType;
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  volatile java.lang.reflect.Method factoryMethodToIntrospect;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  final java.lang.Object constructorArgumentLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  java.lang.reflect.Executable resolvedConstructorOrFactoryMethod;
    descriptor: Ljava/lang/reflect/Executable;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  boolean constructorArgumentsResolved;
    descriptor: Z
    flags: (0x0000) 

  java.lang.Object[] resolvedConstructorArguments;
    descriptor: [Ljava/lang/Object;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  java.lang.Object[] preparedConstructorArguments;
    descriptor: [Ljava/lang/Object;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  final java.lang.Object postProcessingLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  boolean postProcessed;
    descriptor: Z
    flags: (0x0000) 

  volatile java.lang.Boolean beforeInstantiationResolved;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.util.Set<java.lang.reflect.Member> externallyManagedConfigMembers;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/reflect/Member;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.util.Set<java.lang.String> externallyManagedInitMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.util.Set<java.lang.String> externallyManagedDestroyMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 136
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 137
            return
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;

  public void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class beanClass
         0: .line 145
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 146
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         7: .line 147
            return
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    8     1  beanClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      beanClass  

  public <T> void <init>(java.lang.Class<T>, java.util.function.Supplier<T>);
    descriptor: (Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class beanClass
        start local 2 // java.util.function.Supplier instanceSupplier
         0: .line 159
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 160
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         7: .line 161
            aload 0 /* this */
            aload 2 /* instanceSupplier */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setInstanceSupplier:(Ljava/util/function/Supplier;)V
         8: .line 162
            return
        end local 2 // java.util.function.Supplier instanceSupplier
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1         beanClass  Ljava/lang/Class<TT;>;
            0    9     2  instanceSupplier  Ljava/util/function/Supplier<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/util/function/Supplier<TT;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      beanClass         
      instanceSupplier  

  public <T> void <init>(java.lang.Class<T>, java.lang.String, java.util.function.Supplier<T>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class beanClass
        start local 2 // java.lang.String scope
        start local 3 // java.util.function.Supplier instanceSupplier
         0: .line 175
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 176
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         7: .line 177
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
         8: .line 178
            aload 0 /* this */
            aload 3 /* instanceSupplier */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setInstanceSupplier:(Ljava/util/function/Supplier;)V
         9: .line 179
            return
        end local 3 // java.util.function.Supplier instanceSupplier
        end local 2 // java.lang.String scope
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0   10     1         beanClass  Ljava/lang/Class<TT;>;
            0   10     2             scope  Ljava/lang/String;
            0   10     3  instanceSupplier  Ljava/util/function/Supplier<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;Ljava/util/function/Supplier<TT;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      beanClass         
      scope             
      instanceSupplier  

  public void <init>(java.lang.Class<?>, int, );
    descriptor: (Ljava/lang/Class;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class beanClass
        start local 2 // int autowireMode
        start local 3 // boolean dependencyCheck
         0: .line 190
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 191
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         7: .line 192
            aload 0 /* this */
            iload 2 /* autowireMode */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setAutowireMode:(I)V
         8: .line 193
            iload 3 /* dependencyCheck */
            ifeq 10
            aload 0 /* this */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
            iconst_3
            if_icmpeq 10
         9: .line 194
            aload 0 /* this */
            iconst_1
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setDependencyCheck:(I)V
        10: .line 196
      StackMap locals: org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class int int
      StackMap stack:
            return
        end local 3 // boolean dependencyCheck
        end local 2 // int autowireMode
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0   11     1        beanClass  Ljava/lang/Class<*>;
            0   11     2     autowireMode  I
            0   11     3  dependencyCheck  Z
    Signature: (Ljava/lang/Class<*>;IZ)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
    MethodParameters:
                 Name  Flags
      beanClass        
      autowireMode     
      dependencyCheck  

  public void <init>(java.lang.Class<?>, org.springframework.beans.factory.config.ConstructorArgumentValues, org.springframework.beans.MutablePropertyValues);
    descriptor: (Ljava/lang/Class;Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class beanClass
        start local 2 // org.springframework.beans.factory.config.ConstructorArgumentValues cargs
        start local 3 // org.springframework.beans.MutablePropertyValues pvs
         0: .line 208
            aload 0 /* this */
            aload 2 /* cargs */
            aload 3 /* pvs */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:(Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;)V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 209
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         7: .line 210
            return
        end local 3 // org.springframework.beans.MutablePropertyValues pvs
        end local 2 // org.springframework.beans.factory.config.ConstructorArgumentValues cargs
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    8     1  beanClass  Ljava/lang/Class<*>;
            0    8     2      cargs  Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
            0    8     3        pvs  Lorg/springframework/beans/MutablePropertyValues;
    Signature: (Ljava/lang/Class<*>;Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      beanClass  
      cargs      
      pvs        

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String beanClassName
         0: .line 218
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 219
            aload 0 /* this */
            aload 1 /* beanClassName */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClassName:(Ljava/lang/String;)V
         7: .line 220
            return
        end local 1 // java.lang.String beanClassName
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    8     1  beanClassName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      beanClassName  

  public void <init>(java.lang.String, org.springframework.beans.factory.config.ConstructorArgumentValues, org.springframework.beans.MutablePropertyValues);
    descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String beanClassName
        start local 2 // org.springframework.beans.factory.config.ConstructorArgumentValues cargs
        start local 3 // org.springframework.beans.MutablePropertyValues pvs
         0: .line 231
            aload 0 /* this */
            aload 2 /* cargs */
            aload 3 /* pvs */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:(Lorg/springframework/beans/factory/config/ConstructorArgumentValues;Lorg/springframework/beans/MutablePropertyValues;)V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 232
            aload 0 /* this */
            aload 1 /* beanClassName */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClassName:(Ljava/lang/String;)V
         7: .line 233
            return
        end local 3 // org.springframework.beans.MutablePropertyValues pvs
        end local 2 // org.springframework.beans.factory.config.ConstructorArgumentValues cargs
        end local 1 // java.lang.String beanClassName
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    8     1  beanClassName  Ljava/lang/String;
            0    8     2          cargs  Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
            0    8     3            pvs  Lorg/springframework/beans/MutablePropertyValues;
    MethodParameters:
               Name  Flags
      beanClassName  
      cargs          
      pvs            

  public void <init>(org.springframework.beans.factory.support.RootBeanDefinition);
    descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // org.springframework.beans.factory.support.RootBeanDefinition original
         0: .line 241
            aload 0 /* this */
            aload 1 /* original */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;)V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 242
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.decoratedDefinition:Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
            putfield org.springframework.beans.factory.support.RootBeanDefinition.decoratedDefinition:Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
         7: .line 243
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.qualifiedElement:Ljava/lang/reflect/AnnotatedElement;
            putfield org.springframework.beans.factory.support.RootBeanDefinition.qualifiedElement:Ljava/lang/reflect/AnnotatedElement;
         8: .line 244
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         9: .line 245
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethodUnique:Z
            putfield org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethodUnique:Z
        10: .line 246
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
            putfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
        11: .line 247
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
            putfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
        12: .line 248
            return
        end local 1 // org.springframework.beans.factory.support.RootBeanDefinition original
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0   13     1  original  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    MethodParameters:
          Name  Flags
      original  

  void <init>(org.springframework.beans.factory.config.BeanDefinition);
    descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // org.springframework.beans.factory.config.BeanDefinition original
         0: .line 256
            aload 0 /* this */
            aload 1 /* original */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;)V
         1: .line 66
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
         2: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
         4: .line 108
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
         5: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
         6: .line 257
            return
        end local 1 // org.springframework.beans.factory.config.BeanDefinition original
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    7     1  original  Lorg/springframework/beans/factory/config/BeanDefinition;
    MethodParameters:
          Name  Flags
      original  

  public java.lang.String getParentName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 262
            aconst_null
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;

  public void setParentName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String parentName
         0: .line 267
            aload 1 /* parentName */
            ifnull 2
         1: .line 268
            new java.lang.IllegalArgumentException
            dup
            ldc "Root bean cannot be changed into a child bean with parent reference"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String parentName
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    3     1  parentName  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      parentName  

  public void setDecoratedDefinition(org.springframework.beans.factory.config.BeanDefinitionHolder);
    descriptor: (Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // org.springframework.beans.factory.config.BeanDefinitionHolder decoratedDefinition
         0: .line 276
            aload 0 /* this */
            aload 1 /* decoratedDefinition */
            putfield org.springframework.beans.factory.support.RootBeanDefinition.decoratedDefinition:Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
         1: .line 277
            return
        end local 1 // org.springframework.beans.factory.config.BeanDefinitionHolder decoratedDefinition
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    2     1  decoratedDefinition  Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      decoratedDefinition  

  public org.springframework.beans.factory.config.BeanDefinitionHolder getDecoratedDefinition();
    descriptor: ()Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 284
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.decoratedDefinition:Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setQualifiedElement(java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.reflect.AnnotatedElement qualifiedElement
         0: .line 295
            aload 0 /* this */
            aload 1 /* qualifiedElement */
            putfield org.springframework.beans.factory.support.RootBeanDefinition.qualifiedElement:Ljava/lang/reflect/AnnotatedElement;
         1: .line 296
            return
        end local 1 // java.lang.reflect.AnnotatedElement qualifiedElement
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    2     1  qualifiedElement  Ljava/lang/reflect/AnnotatedElement;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      qualifiedElement  

  public java.lang.reflect.AnnotatedElement getQualifiedElement();
    descriptor: ()Ljava/lang/reflect/AnnotatedElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 305
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.qualifiedElement:Ljava/lang/reflect/AnnotatedElement;
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setTargetType(org.springframework.core.ResolvableType);
    descriptor: (Lorg/springframework/core/ResolvableType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // org.springframework.core.ResolvableType targetType
         0: .line 313
            aload 0 /* this */
            aload 1 /* targetType */
            putfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
         1: .line 314
            return
        end local 1 // org.springframework.core.ResolvableType targetType
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    2     1  targetType  Lorg/springframework/core/ResolvableType;
    MethodParameters:
            Name  Flags
      targetType  

  public void setTargetType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Class targetType
         0: .line 321
            aload 0 /* this */
            aload 1 /* targetType */
            ifnull 1
            aload 1 /* targetType */
            invokestatic org.springframework.core.ResolvableType.forClass:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
            goto 2
      StackMap locals:
      StackMap stack: org.springframework.beans.factory.support.RootBeanDefinition
         1: aconst_null
      StackMap locals: org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class
      StackMap stack: org.springframework.beans.factory.support.RootBeanDefinition org.springframework.core.ResolvableType
         2: putfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
         3: .line 322
            return
        end local 1 // java.lang.Class targetType
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    4     1  targetType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      targetType  

  public java.lang.Class<?> getTargetType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 331
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.resolvedTargetType:Ljava/lang/Class;
            ifnull 2
         1: .line 332
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.resolvedTargetType:Ljava/lang/Class;
            areturn
         2: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
            astore 1 /* targetType */
        start local 1 // org.springframework.core.ResolvableType targetType
         3: .line 335
            aload 1 /* targetType */
            ifnull 4
            aload 1 /* targetType */
            invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
            goto 5
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
         5: areturn
        end local 1 // org.springframework.core.ResolvableType targetType
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            3    6     1  targetType  Lorg/springframework/core/ResolvableType;
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public org.springframework.core.ResolvableType getResolvableType();
    descriptor: ()Lorg/springframework/core/ResolvableType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 350
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
            astore 1 /* targetType */
        start local 1 // org.springframework.core.ResolvableType targetType
         1: .line 351
            aload 1 /* targetType */
            ifnull 3
         2: .line 352
            aload 1 /* targetType */
            areturn
         3: .line 354
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodReturnType:Lorg/springframework/core/ResolvableType;
            astore 2 /* returnType */
        start local 2 // org.springframework.core.ResolvableType returnType
         4: .line 355
            aload 2 /* returnType */
            ifnull 6
         5: .line 356
            aload 2 /* returnType */
            areturn
         6: .line 358
      StackMap locals: org.springframework.core.ResolvableType
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
            astore 3 /* factoryMethod */
        start local 3 // java.lang.reflect.Method factoryMethod
         7: .line 359
            aload 3 /* factoryMethod */
            ifnull 9
         8: .line 360
            aload 3 /* factoryMethod */
            invokestatic org.springframework.core.ResolvableType.forMethodReturnType:(Ljava/lang/reflect/Method;)Lorg/springframework/core/ResolvableType;
            areturn
         9: .line 362
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.getResolvableType:()Lorg/springframework/core/ResolvableType;
            areturn
        end local 3 // java.lang.reflect.Method factoryMethod
        end local 2 // org.springframework.core.ResolvableType returnType
        end local 1 // org.springframework.core.ResolvableType targetType
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            1   10     1     targetType  Lorg/springframework/core/ResolvableType;
            4   10     2     returnType  Lorg/springframework/core/ResolvableType;
            7   10     3  factoryMethod  Ljava/lang/reflect/Method;

  public java.lang.reflect.Constructor<?>[] getPreferredConstructors();
    descriptor: ()[Ljava/lang/reflect/Constructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 374
            aconst_null
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    Signature: ()[Ljava/lang/reflect/Constructor<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setUniqueFactoryMethodName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String name
         0: .line 381
            aload 1 /* name */
            ldc "Factory method name must not be empty"
            invokestatic org.springframework.util.Assert.hasText:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 382
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setFactoryMethodName:(Ljava/lang/String;)V
         2: .line 383
            aload 0 /* this */
            iconst_1
            putfield org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethodUnique:Z
         3: .line 384
            return
        end local 1 // java.lang.String name
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setNonUniqueFactoryMethodName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String name
         0: .line 391
            aload 1 /* name */
            ldc "Factory method name must not be empty"
            invokestatic org.springframework.util.Assert.hasText:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 392
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setFactoryMethodName:(Ljava/lang/String;)V
         2: .line 393
            aload 0 /* this */
            iconst_0
            putfield org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethodUnique:Z
         3: .line 394
            return
        end local 1 // java.lang.String name
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean isFactoryMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.reflect.Method candidate
         0: .line 400
            aload 1 /* candidate */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryMethodName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.reflect.Method candidate
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    1     1  candidate  Ljava/lang/reflect/Method;
    MethodParameters:
           Name  Flags
      candidate  

  public void setResolvedFactoryMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.reflect.Method method
         0: .line 409
            aload 0 /* this */
            aload 1 /* method */
            putfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
         1: .line 410
            return
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    2     1  method  Ljava/lang/reflect/Method;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      method  

  public java.lang.reflect.Method getResolvedFactoryMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 418
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void registerExternallyManagedConfigMember(java.lang.reflect.Member);
    descriptor: (Ljava/lang/reflect/Member;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.reflect.Member configMember
         0: .line 422
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 423
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedConfigMembers:Ljava/util/Set;
            ifnonnull 3
         2: .line 424
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedConfigMembers:Ljava/util/Set;
         3: .line 426
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedConfigMembers:Ljava/util/Set;
            aload 1 /* configMember */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 422
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 428
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.reflect.Member configMember
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  configMember  Ljava/lang/reflect/Member;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
              Name  Flags
      configMember  

  public boolean isExternallyManagedConfigMember(java.lang.reflect.Member);
    descriptor: (Ljava/lang/reflect/Member;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.reflect.Member configMember
         0: .line 431
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 432
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedConfigMembers:Ljava/util/Set;
            ifnull 4
         2: .line 433
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedConfigMembers:Ljava/util/Set;
            aload 1 /* configMember */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 432
            iconst_1
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: aload 2
            monitorexit
         6: ireturn
         7: .line 431
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // java.lang.reflect.Member configMember
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  configMember  Ljava/lang/reflect/Member;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
              Name  Flags
      configMember  

  public void registerExternallyManagedInitMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String initMethod
         0: .line 438
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 439
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedInitMethods:Ljava/util/Set;
            ifnonnull 3
         2: .line 440
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedInitMethods:Ljava/util/Set;
         3: .line 442
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedInitMethods:Ljava/util/Set;
            aload 1 /* initMethod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 438
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String initMethod
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  initMethod  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
            Name  Flags
      initMethod  

  public boolean isExternallyManagedInitMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String initMethod
         0: .line 447
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 448
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedInitMethods:Ljava/util/Set;
            ifnull 4
         2: .line 449
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedInitMethods:Ljava/util/Set;
            aload 1 /* initMethod */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 448
            iconst_1
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: aload 2
            monitorexit
         6: ireturn
         7: .line 447
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // java.lang.String initMethod
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  initMethod  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
            Name  Flags
      initMethod  

  public void registerExternallyManagedDestroyMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String destroyMethod
         0: .line 454
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 455
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedDestroyMethods:Ljava/util/Set;
            ifnonnull 3
         2: .line 456
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedDestroyMethods:Ljava/util/Set;
         3: .line 458
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedDestroyMethods:Ljava/util/Set;
            aload 1 /* destroyMethod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 454
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 460
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String destroyMethod
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  destroyMethod  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
               Name  Flags
      destroyMethod  

  public boolean isExternallyManagedDestroyMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.String destroyMethod
         0: .line 463
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 464
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedDestroyMethods:Ljava/util/Set;
            ifnull 4
         2: .line 465
            aload 0 /* this */
            getfield org.springframework.beans.factory.support.RootBeanDefinition.externallyManagedDestroyMethods:Ljava/util/Set;
            aload 1 /* destroyMethod */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 464
            iconst_1
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: aload 2
            monitorexit
         6: ireturn
         7: .line 463
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // java.lang.String destroyMethod
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    9     1  destroyMethod  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
               Name  Flags
      destroyMethod  

  public org.springframework.beans.factory.support.RootBeanDefinition cloneBeanDefinition();
    descriptor: ()Lorg/springframework/beans/factory/support/RootBeanDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 472
            new org.springframework.beans.factory.support.RootBeanDefinition
            dup
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
        start local 1 // java.lang.Object other
         0: .line 477
            aload 0 /* this */
            aload 1 /* other */
            if_acmpeq 2
            aload 1 /* other */
            instanceof org.springframework.beans.factory.support.RootBeanDefinition
            ifeq 1
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.equals:(Ljava/lang/Object;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    3     1  other  Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
         0: .line 482
            new java.lang.StringBuilder
            dup
            ldc "Root bean: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.AbstractBeanDefinition.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/RootBeanDefinition;

  public org.springframework.beans.factory.support.AbstractBeanDefinition cloneBeanDefinition();
    descriptor: ()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.cloneBeanDefinition:()Lorg/springframework/beans/factory/support/RootBeanDefinition;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "RootBeanDefinition.java"