public abstract class org.springframework.beans.factory.support.BeanDefinitionReaderUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.beans.factory.support.BeanDefinitionReaderUtils
  super_class: java.lang.Object
{
  public static final java.lang.String GENERATED_BEAN_NAME_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "#"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.support.BeanDefinitionReaderUtils this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.beans.factory.support.BeanDefinitionReaderUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/support/BeanDefinitionReaderUtils;

  public static org.springframework.beans.factory.support.AbstractBeanDefinition createBeanDefinition(java.lang.String, java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String parentName
        start local 1 // java.lang.String className
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 60
            new org.springframework.beans.factory.support.GenericBeanDefinition
            dup
            invokespecial org.springframework.beans.factory.support.GenericBeanDefinition.<init>:()V
            astore 3 /* bd */
        start local 3 // org.springframework.beans.factory.support.GenericBeanDefinition bd
         1: .line 61
            aload 3 /* bd */
            aload 0 /* parentName */
            invokevirtual org.springframework.beans.factory.support.GenericBeanDefinition.setParentName:(Ljava/lang/String;)V
         2: .line 62
            aload 1 /* className */
            ifnull 7
         3: .line 63
            aload 2 /* classLoader */
            ifnull 6
         4: .line 64
            aload 3 /* bd */
            aload 1 /* className */
            aload 2 /* classLoader */
            invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            invokevirtual org.springframework.beans.factory.support.GenericBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
         5: .line 65
            goto 7
         6: .line 67
      StackMap locals: org.springframework.beans.factory.support.GenericBeanDefinition
      StackMap stack:
            aload 3 /* bd */
            aload 1 /* className */
            invokevirtual org.springframework.beans.factory.support.GenericBeanDefinition.setBeanClassName:(Ljava/lang/String;)V
         7: .line 70
      StackMap locals:
      StackMap stack:
            aload 3 /* bd */
            areturn
        end local 3 // org.springframework.beans.factory.support.GenericBeanDefinition bd
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String className
        end local 0 // java.lang.String parentName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0   parentName  Ljava/lang/String;
            0    8     1    className  Ljava/lang/String;
            0    8     2  classLoader  Ljava/lang/ClassLoader;
            1    8     3           bd  Lorg/springframework/beans/factory/support/GenericBeanDefinition;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      parentName   
      className    
      classLoader  

  public static java.lang.String generateBeanName(org.springframework.beans.factory.config.BeanDefinition, org.springframework.beans.factory.support.BeanDefinitionRegistry);
    descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.config.BeanDefinition beanDefinition
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
         0: .line 87
            aload 0 /* beanDefinition */
            aload 1 /* registry */
            iconst_0
            invokestatic org.springframework.beans.factory.support.BeanDefinitionReaderUtils.generateBeanName:(Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Z)Ljava/lang/String;
            areturn
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 0 // org.springframework.beans.factory.config.BeanDefinition beanDefinition
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  beanDefinition  Lorg/springframework/beans/factory/config/BeanDefinition;
            0    1     1        registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
    Exceptions:
      throws org.springframework.beans.factory.BeanDefinitionStoreException
    MethodParameters:
                Name  Flags
      beanDefinition  
      registry        

  public static java.lang.String generateBeanName(org.springframework.beans.factory.config.BeanDefinition, org.springframework.beans.factory.support.BeanDefinitionRegistry, boolean);
    descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.springframework.beans.factory.config.BeanDefinition definition
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        start local 2 // boolean isInnerBean
         0: .line 107
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
            astore 3 /* generatedBeanName */
        start local 3 // java.lang.String generatedBeanName
         1: .line 108
            aload 3 /* generatedBeanName */
            ifnonnull 7
         2: .line 109
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getParentName:()Ljava/lang/String;
            ifnull 5
         3: .line 110
            new java.lang.StringBuilder
            dup
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getParentName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$child"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* generatedBeanName */
         4: .line 111
            goto 7
         5: .line 112
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getFactoryBeanName:()Ljava/lang/String;
            ifnull 7
         6: .line 113
            new java.lang.StringBuilder
            dup
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getFactoryBeanName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$created"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* generatedBeanName */
         7: .line 116
      StackMap locals:
      StackMap stack:
            aload 3 /* generatedBeanName */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 9
         8: .line 117
            new org.springframework.beans.factory.BeanDefinitionStoreException
            dup
            ldc "Unnamed bean definition specifies neither 'class' nor 'parent' nor 'factory-bean' - can't generate bean name"
            invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* generatedBeanName */
            astore 4 /* id */
        start local 4 // java.lang.String id
        10: .line 122
            iload 2 /* isInnerBean */
            ifeq 13
        11: .line 124
            new java.lang.StringBuilder
            dup
            aload 3 /* generatedBeanName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* definition */
            invokestatic org.springframework.util.ObjectUtils.getIdentityHexString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* id */
        12: .line 125
            goto 14
        13: .line 128
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* generatedBeanName */
            aload 1 /* registry */
            invokestatic org.springframework.beans.factory.support.BeanDefinitionReaderUtils.uniqueBeanName:(Ljava/lang/String;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/String;
            areturn
        14: .line 130
      StackMap locals:
      StackMap stack:
            aload 4 /* id */
            areturn
        end local 4 // java.lang.String id
        end local 3 // java.lang.String generatedBeanName
        end local 2 // boolean isInnerBean
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 0 // org.springframework.beans.factory.config.BeanDefinition definition
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0         definition  Lorg/springframework/beans/factory/config/BeanDefinition;
            0   15     1           registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
            0   15     2        isInnerBean  Z
            1   15     3  generatedBeanName  Ljava/lang/String;
           10   15     4                 id  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.factory.BeanDefinitionStoreException
    MethodParameters:
             Name  Flags
      definition   
      registry     
      isInnerBean  

  public static java.lang.String uniqueBeanName(java.lang.String, org.springframework.beans.factory.support.BeanDefinitionRegistry);
    descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String beanName
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
         0: .line 143
            aload 0 /* beanName */
            astore 2 /* id */
        start local 2 // java.lang.String id
         1: .line 144
            iconst_m1
            istore 3 /* counter */
        start local 3 // int counter
         2: .line 147
            goto 5
         3: .line 148
      StackMap locals: java.lang.String int
      StackMap stack:
            iinc 3 /* counter */ 1
         4: .line 149
            new java.lang.StringBuilder
            dup
            aload 0 /* beanName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* counter */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* id */
         5: .line 147
      StackMap locals:
      StackMap stack:
            iload 3 /* counter */
            iconst_m1
            if_icmpeq 3
            aload 1 /* registry */
            aload 2 /* id */
            invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.containsBeanDefinition:(Ljava/lang/String;)Z
            ifne 3
         6: .line 151
            aload 2 /* id */
            areturn
        end local 3 // int counter
        end local 2 // java.lang.String id
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 0 // java.lang.String beanName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  beanName  Ljava/lang/String;
            0    7     1  registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
            1    7     2        id  Ljava/lang/String;
            2    7     3   counter  I
    MethodParameters:
          Name  Flags
      beanName  
      registry  

  public static void registerBeanDefinition(org.springframework.beans.factory.config.BeanDefinitionHolder, org.springframework.beans.factory.support.BeanDefinitionRegistry);
    descriptor: (Lorg/springframework/beans/factory/config/BeanDefinitionHolder;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
         0: .line 165
            aload 0 /* definitionHolder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanName:()Ljava/lang/String;
            astore 2 /* beanName */
        start local 2 // java.lang.String beanName
         1: .line 166
            aload 1 /* registry */
            aload 2 /* beanName */
            aload 0 /* definitionHolder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
            invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.registerBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;)V
         2: .line 169
            aload 0 /* definitionHolder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getAliases:()[Ljava/lang/String;
            astore 3 /* aliases */
        start local 3 // java.lang.String[] aliases
         3: .line 170
            aload 3 /* aliases */
            ifnull 9
         4: .line 171
            aload 3 /* aliases */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: org.springframework.beans.factory.config.BeanDefinitionHolder org.springframework.beans.factory.support.BeanDefinitionRegistry java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         6: .line 172
            aload 1 /* registry */
            aload 2 /* beanName */
            aload 4 /* alias */
            invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.registerAlias:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String alias
         7: .line 171
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 5
         9: .line 175
      StackMap locals: org.springframework.beans.factory.config.BeanDefinitionHolder org.springframework.beans.factory.support.BeanDefinitionRegistry java.lang.String java.lang.String[]
      StackMap stack:
            return
        end local 3 // java.lang.String[] aliases
        end local 2 // java.lang.String beanName
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 0 // org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0  definitionHolder  Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
            0   10     1          registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
            1   10     2          beanName  Ljava/lang/String;
            3   10     3           aliases  [Ljava/lang/String;
            6    7     4             alias  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.factory.BeanDefinitionStoreException
    MethodParameters:
                  Name  Flags
      definitionHolder  
      registry          

  public static java.lang.String registerWithGeneratedName(org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.factory.support.BeanDefinitionRegistry);
    descriptor: (Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.beans.factory.support.AbstractBeanDefinition definition
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
         0: .line 190
            aload 0 /* definition */
            aload 1 /* registry */
            iconst_0
            invokestatic org.springframework.beans.factory.support.BeanDefinitionReaderUtils.generateBeanName:(Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Z)Ljava/lang/String;
            astore 2 /* generatedName */
        start local 2 // java.lang.String generatedName
         1: .line 191
            aload 1 /* registry */
            aload 2 /* generatedName */
            aload 0 /* definition */
            invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.registerBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;)V
         2: .line 192
            aload 2 /* generatedName */
            areturn
        end local 2 // java.lang.String generatedName
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 0 // org.springframework.beans.factory.support.AbstractBeanDefinition definition
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0     definition  Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            0    3     1       registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
            1    3     2  generatedName  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.factory.BeanDefinitionStoreException
    MethodParameters:
            Name  Flags
      definition  
      registry    
}
SourceFile: "BeanDefinitionReaderUtils.java"