class org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition extends org.springframework.beans.factory.support.RootBeanDefinition implements org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition
  super_class: org.springframework.beans.factory.support.RootBeanDefinition
{
  private final org.springframework.core.type.AnnotationMetadata annotationMetadata;
    descriptor: Lorg/springframework/core/type/AnnotationMetadata;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.type.MethodMetadata factoryMethodMetadata;
    descriptor: Lorg/springframework/core/type/MethodMetadata;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.springframework.context.annotation.ConfigurationClass, org.springframework.core.type.MethodMetadata);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/core/type/MethodMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // org.springframework.core.type.MethodMetadata beanMethodMetadata
         0: .line 381
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:()V
         1: .line 382
            aload 0 /* this */
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.annotationMetadata:Lorg/springframework/core/type/AnnotationMetadata;
         2: .line 383
            aload 0 /* this */
            aload 2 /* beanMethodMetadata */
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.factoryMethodMetadata:Lorg/springframework/core/type/MethodMetadata;
         3: .line 384
            aload 0 /* this */
            iconst_0
            invokevirtual org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.setLenientConstructorResolution:(Z)V
         4: .line 385
            return
        end local 2 // org.springframework.core.type.MethodMetadata beanMethodMetadata
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            0    5     1         configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0    5     2  beanMethodMetadata  Lorg/springframework/core/type/MethodMetadata;
    MethodParameters:
                    Name  Flags
      configClass         
      beanMethodMetadata  

  public void <init>(org.springframework.beans.factory.support.RootBeanDefinition, org.springframework.context.annotation.ConfigurationClass, org.springframework.core.type.MethodMetadata);
    descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/core/type/MethodMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
        start local 1 // org.springframework.beans.factory.support.RootBeanDefinition original
        start local 2 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 3 // org.springframework.core.type.MethodMetadata beanMethodMetadata
         0: .line 389
            aload 0 /* this */
            aload 1 /* original */
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
         1: .line 390
            aload 0 /* this */
            aload 2 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.annotationMetadata:Lorg/springframework/core/type/AnnotationMetadata;
         2: .line 391
            aload 0 /* this */
            aload 3 /* beanMethodMetadata */
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.factoryMethodMetadata:Lorg/springframework/core/type/MethodMetadata;
         3: .line 392
            return
        end local 3 // org.springframework.core.type.MethodMetadata beanMethodMetadata
        end local 2 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 1 // org.springframework.beans.factory.support.RootBeanDefinition original
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            0    4     1            original  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            0    4     2         configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0    4     3  beanMethodMetadata  Lorg/springframework/core/type/MethodMetadata;
    MethodParameters:
                    Name  Flags
      original            
      configClass         
      beanMethodMetadata  

  private void <init>(org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
        start local 1 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition original
         0: .line 395
            aload 0 /* this */
            aload 1 /* original */
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
         1: .line 396
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.annotationMetadata:Lorg/springframework/core/type/AnnotationMetadata;
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.annotationMetadata:Lorg/springframework/core/type/AnnotationMetadata;
         2: .line 397
            aload 0 /* this */
            aload 1 /* original */
            getfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.factoryMethodMetadata:Lorg/springframework/core/type/MethodMetadata;
            putfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.factoryMethodMetadata:Lorg/springframework/core/type/MethodMetadata;
         3: .line 398
            return
        end local 1 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition original
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            0    4     1  original  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
    MethodParameters:
          Name  Flags
      original  

  public org.springframework.core.type.AnnotationMetadata getMetadata();
    descriptor: ()Lorg/springframework/core/type/AnnotationMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
         0: .line 402
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.annotationMetadata:Lorg/springframework/core/type/AnnotationMetadata;
            areturn
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;

  public org.springframework.core.type.MethodMetadata getFactoryMethodMetadata();
    descriptor: ()Lorg/springframework/core/type/MethodMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
         0: .line 407
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.factoryMethodMetadata:Lorg/springframework/core/type/MethodMetadata;
            areturn
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;

  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.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
        start local 1 // java.lang.reflect.Method candidate
         0: .line 412
            aload 0 /* this */
            aload 1 /* candidate */
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethod:(Ljava/lang/reflect/Method;)Z
            ifeq 1
            aload 1 /* candidate */
            invokestatic org.springframework.context.annotation.BeanAnnotationHelper.isBeanAnnotated:(Ljava/lang/reflect/Method;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.reflect.Method candidate
        end local 0 // org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            0    2     1  candidate  Ljava/lang/reflect/Method;
    MethodParameters:
           Name  Flags
      candidate  

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

  public org.springframework.beans.factory.support.RootBeanDefinition cloneBeanDefinition();
    descriptor: ()Lorg/springframework/beans/factory/support/RootBeanDefinition;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.cloneBeanDefinition:()Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition.cloneBeanDefinition:()Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ConfigurationClassBeanDefinitionReader.java"
NestHost: org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader
InnerClasses:
  private ConfigurationClassBeanDefinition = org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition of org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader