class org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader extends java.lang.Object
{
private static final org.apache.commons.logging.Log logger;
private static final org.springframework.context.'annotation'.ScopeMetadataResolver scopeMetadataResolver;
private final org.springframework.beans.factory.support.BeanDefinitionRegistry registry;
private final org.springframework.beans.factory.parsing.SourceExtractor sourceExtractor;
private final org.springframework.core.io.ResourceLoader resourceLoader;
private final org.springframework.core.env.Environment environment;
private final org.springframework.beans.factory.support.BeanNameGenerator importBeanNameGenerator;
private final org.springframework.context.'annotation'.ImportRegistry importRegistry;
private final org.springframework.context.'annotation'.ConditionEvaluator conditionEvaluator;
void <init>(org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.beans.factory.parsing.SourceExtractor, org.springframework.core.io.ResourceLoader, org.springframework.core.env.Environment, org.springframework.beans.factory.support.BeanNameGenerator, org.springframework.context.'annotation'.ImportRegistry)
{
org.springframework.context.'annotation'.ImportRegistry v;
org.springframework.core.io.ResourceLoader v;
org.springframework.beans.factory.parsing.SourceExtractor v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v;
org.springframework.context.'annotation'.ConditionEvaluator v;
org.springframework.beans.factory.support.BeanNameGenerator v;
org.springframework.core.env.Environment v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: org.springframework.beans.factory.support.BeanDefinitionRegistry;
v := @parameter: org.springframework.beans.factory.parsing.SourceExtractor;
v := @parameter: org.springframework.core.io.ResourceLoader;
v := @parameter: org.springframework.core.env.Environment;
v := @parameter: org.springframework.beans.factory.support.BeanNameGenerator;
v := @parameter: org.springframework.context.'annotation'.ImportRegistry;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry> = v;
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.parsing.SourceExtractor sourceExtractor> = v;
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.core.io.ResourceLoader resourceLoader> = v;
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.core.env.Environment environment> = v;
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanNameGenerator importBeanNameGenerator> = v;
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ImportRegistry importRegistry> = v;
v = new org.springframework.context.'annotation'.ConditionEvaluator;
specialinvoke v.<org.springframework.context.'annotation'.ConditionEvaluator: void <init>(org.springframework.beans.factory.support.BeanDefinitionRegistry,org.springframework.core.env.Environment,org.springframework.core.io.ResourceLoader)>(v, v, v);
v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ConditionEvaluator conditionEvaluator> = v;
return;
}
public void loadBeanDefinitions(java.util.Set)
{
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator v;
java.util.Iterator v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
java.util.Set v;
java.lang.Object v;
boolean v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: java.util.Set;
v = new org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator;
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator: void <init>(org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader)>(v);
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: void loadBeanDefinitionsForConfigurationClass(org.springframework.context.'annotation'.ConfigurationClass,org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator)>(v, v);
goto label;
label:
return;
}
private void loadBeanDefinitionsForConfigurationClass(org.springframework.context.'annotation'.ConfigurationClass, org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator)
{
org.springframework.beans.factory.support.BeanDefinitionRegistry v, v;
org.springframework.context.'annotation'.ConfigurationClass v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator v;
java.util.Map v, v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
java.lang.String v, v;
boolean v, v, v, v, v;
org.springframework.context.'annotation'.ImportRegistry v;
java.util.Iterator v;
org.springframework.core.type.AnnotationMetadata v;
java.util.Set v;
java.lang.Object v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: org.springframework.context.'annotation'.ConfigurationClass;
v := @parameter: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator: boolean shouldSkip(org.springframework.context.'annotation'.ConfigurationClass)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.lang.String getBeanName()>();
v = staticinvoke <org.springframework.util.StringUtils: boolean hasLength(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: boolean containsBeanDefinition(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: void removeBeanDefinition(java.lang.String)>(v);
label:
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ImportRegistry importRegistry>;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
interfaceinvoke v.<org.springframework.context.'annotation'.ImportRegistry: void removeImportingClass(java.lang.String)>(v);
return;
label:
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: boolean isImported()>();
if v == 0 goto label;
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: void registerBeanDefinitionForImportedConfigurationClass(org.springframework.context.'annotation'.ConfigurationClass)>(v);
label:
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.util.Set getBeanMethods()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: void loadBeanDefinitionsForBeanMethod(org.springframework.context.'annotation'.BeanMethod)>(v);
goto label;
label:
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.util.Map getImportedResources()>();
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: void loadBeanDefinitionsFromImportedResources(java.util.Map)>(v);
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.util.Map getImportBeanDefinitionRegistrars()>();
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: void loadBeanDefinitionsFromRegistrars(java.util.Map)>(v);
return;
}
private void registerBeanDefinitionForImportedConfigurationClass(org.springframework.context.'annotation'.ConfigurationClass)
{
org.springframework.beans.factory.support.BeanDefinitionRegistry v, v, v;
org.springframework.context.'annotation'.ConfigurationClass v;
org.springframework.context.'annotation'.ScopeMetadata v;
org.springframework.beans.factory.config.BeanDefinitionHolder v, v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
org.springframework.beans.factory.config.BeanDefinition v;
java.lang.String v, v, v, v;
boolean v;
org.springframework.beans.factory.'annotation'.AnnotatedGenericBeanDefinition v;
org.springframework.core.type.AnnotationMetadata v;
org.springframework.beans.factory.support.BeanNameGenerator v;
org.springframework.context.'annotation'.ScopeMetadataResolver v;
org.apache.commons.logging.Log v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: org.springframework.context.'annotation'.ConfigurationClass;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = new org.springframework.beans.factory.'annotation'.AnnotatedGenericBeanDefinition;
specialinvoke v.<org.springframework.beans.factory.'annotation'.AnnotatedGenericBeanDefinition: void <init>(org.springframework.core.type.AnnotationMetadata)>(v);
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ScopeMetadataResolver scopeMetadataResolver>;
v = interfaceinvoke v.<org.springframework.context.'annotation'.ScopeMetadataResolver: org.springframework.context.'annotation'.ScopeMetadata resolveScopeMetadata(org.springframework.beans.factory.config.BeanDefinition)>(v);
v = virtualinvoke v.<org.springframework.context.'annotation'.ScopeMetadata: java.lang.String getScopeName()>();
virtualinvoke v.<org.springframework.beans.factory.'annotation'.AnnotatedGenericBeanDefinition: void setScope(java.lang.String)>(v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanNameGenerator importBeanNameGenerator>;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = interfaceinvoke v.<org.springframework.beans.factory.support.BeanNameGenerator: java.lang.String generateBeanName(org.springframework.beans.factory.config.BeanDefinition,org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v, v);
staticinvoke <org.springframework.context.'annotation'.AnnotationConfigUtils: void processCommonDefinitionAnnotations(org.springframework.beans.factory.'annotation'.AnnotatedBeanDefinition,org.springframework.core.type.AnnotatedTypeMetadata)>(v, v);
v = new org.springframework.beans.factory.config.BeanDefinitionHolder;
specialinvoke v.<org.springframework.beans.factory.config.BeanDefinitionHolder: void <init>(org.springframework.beans.factory.config.BeanDefinition,java.lang.String)>(v, v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = staticinvoke <org.springframework.context.'annotation'.AnnotationConfigUtils: org.springframework.beans.factory.config.BeanDefinitionHolder applyScopedProxyMode(org.springframework.context.'annotation'.ScopeMetadata,org.springframework.beans.factory.config.BeanDefinitionHolder,org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v, v, v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = virtualinvoke v.<org.springframework.beans.factory.config.BeanDefinitionHolder: java.lang.String getBeanName()>();
v = virtualinvoke v.<org.springframework.beans.factory.config.BeanDefinitionHolder: org.springframework.beans.factory.config.BeanDefinition getBeanDefinition()>();
interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: void registerBeanDefinition(java.lang.String,org.springframework.beans.factory.config.BeanDefinition)>(v, v);
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: void setBeanName(java.lang.String)>(v);
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Registered bean definition for imported class \'\u0001\'");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
return;
}
private void loadBeanDefinitionsForBeanMethod(org.springframework.context.'annotation'.BeanMethod)
{
org.springframework.beans.factory.parsing.SourceExtractor v;
org.springframework.core.io.Resource v, v, v;
org.springframework.core.type.AnnotationMetadata v, v;
java.util.Set v, v;
java.lang.Object[] v;
java.util.ArrayList v;
org.springframework.beans.factory.config.BeanDefinitionHolder v, v;
org.springframework.context.'annotation'.ConfigurationCondition$ConfigurationPhase v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
org.springframework.beans.factory.config.BeanDefinition v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.springframework.beans.factory.BeanDefinitionStoreException v;
org.springframework.core.'annotation'.AnnotationAttributes v, v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition v, v, v;
org.springframework.context.'annotation'.BeanMethod v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v, v, v;
org.springframework.context.'annotation'.ConfigurationClass v, v, v;
java.lang.Enum v, v;
org.springframework.context.'annotation'.ConditionEvaluator v;
boolean v, v, v, v, v, v, v, v, v, v, v;
org.springframework.core.type.MethodMetadata v, v;
java.util.List v;
java.lang.String[] v;
int v;
java.lang.Boolean v;
java.util.Iterator v;
org.springframework.context.'annotation'.ScopedProxyMode v, v, v, v;
java.lang.Object v, v, v;
org.apache.commons.logging.Log v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: org.springframework.context.'annotation'.BeanMethod;
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.context.'annotation'.ConfigurationClass getConfigurationClass()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.core.type.MethodMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.MethodMetadata: java.lang.String getMethodName()>();
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ConditionEvaluator conditionEvaluator>;
v = <org.springframework.context.'annotation'.ConfigurationCondition$ConfigurationPhase: org.springframework.context.'annotation'.ConfigurationCondition$ConfigurationPhase REGISTER_BEAN>;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConditionEvaluator: boolean shouldSkip(org.springframework.core.type.AnnotatedTypeMetadata,org.springframework.context.'annotation'.ConfigurationCondition$ConfigurationPhase)>(v, v);
if v == 0 goto label;
v = v.<org.springframework.context.'annotation'.ConfigurationClass: java.util.Set skippedBeanMethods>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
label:
v = v.<org.springframework.context.'annotation'.ConfigurationClass: java.util.Set skippedBeanMethods>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = staticinvoke <org.springframework.context.'annotation'.AnnotationConfigUtils: org.springframework.core.'annotation'.AnnotationAttributes attributesFor(org.springframework.core.type.AnnotatedTypeMetadata,java.lang.Class)>(v, class "Lorg/springframework/context/annotation/Bean;");
v = new java.util.ArrayList;
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String[] getStringArray(java.lang.String)>("name");
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
goto label;
label:
v = v;
label:
v = v;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: void registerAlias(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: boolean isOverriddenByExistingDefinition(org.springframework.context.'annotation'.BeanMethod,java.lang.String)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.context.'annotation'.ConfigurationClass getConfigurationClass()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.lang.String getBeanName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.springframework.beans.factory.BeanDefinitionStoreException;
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.context.'annotation'.ConfigurationClass getConfigurationClass()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.io.Resource getResource()>();
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getDescription()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.core.type.MethodMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.MethodMetadata: java.lang.String getMethodName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Bean name derived from @Bean method \'\u0001\' clashes with bean name for containing configuration class; please make those names unique!");
specialinvoke v.<org.springframework.beans.factory.BeanDefinitionStoreException: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
throw v;
label:
return;
label:
v = new org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void <init>(org.springframework.context.'annotation'.ConfigurationClass,org.springframework.core.type.MethodMetadata)>(v, v);
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.io.Resource getResource()>();
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setResource(org.springframework.core.io.Resource)>(v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.parsing.SourceExtractor sourceExtractor>;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.io.Resource getResource()>();
v = interfaceinvoke v.<org.springframework.beans.factory.parsing.SourceExtractor: java.lang.Object extractSource(java.lang.Object,org.springframework.core.io.Resource)>(v, v);
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setSource(java.lang.Object)>(v);
v = interfaceinvoke v.<org.springframework.core.type.MethodMetadata: boolean isStatic()>();
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setBeanClassName(java.lang.String)>(v);
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setFactoryMethodName(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: java.lang.String getBeanName()>();
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setFactoryBeanName(java.lang.String)>(v);
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setUniqueFactoryMethodName(java.lang.String)>(v);
label:
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setAutowireMode(int)>(3);
v = <org.springframework.beans.factory.'annotation'.RequiredAnnotationBeanPostProcessor: java.lang.String SKIP_REQUIRED_CHECK_ATTRIBUTE>;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setAttribute(java.lang.String,java.lang.Object)>(v, v);
staticinvoke <org.springframework.context.'annotation'.AnnotationConfigUtils: void processCommonDefinitionAnnotations(org.springframework.beans.factory.'annotation'.AnnotatedBeanDefinition,org.springframework.core.type.AnnotatedTypeMetadata)>(v, v);
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.Enum getEnum(java.lang.String)>("autowire");
v = virtualinvoke v.<org.springframework.beans.factory.'annotation'.Autowire: boolean isAutowire()>();
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.beans.factory.'annotation'.Autowire: int value()>();
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setAutowireMode(int)>(v);
label:
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String getString(java.lang.String)>("initMethod");
v = staticinvoke <org.springframework.util.StringUtils: boolean hasText(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setInitMethodName(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String getString(java.lang.String)>("destroyMethod");
if v == null goto label;
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setDestroyMethodName(java.lang.String)>(v);
label:
v = <org.springframework.context.'annotation'.ScopedProxyMode: org.springframework.context.'annotation'.ScopedProxyMode NO>;
v = staticinvoke <org.springframework.context.'annotation'.AnnotationConfigUtils: org.springframework.core.'annotation'.AnnotationAttributes attributesFor(org.springframework.core.type.AnnotatedTypeMetadata,java.lang.Class)>(v, class "Lorg/springframework/context/annotation/Scope;");
if v == null goto label;
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String getString(java.lang.String)>("value");
virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void setScope(java.lang.String)>(v);
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.Enum getEnum(java.lang.String)>("proxyMode");
v = <org.springframework.context.'annotation'.ScopedProxyMode: org.springframework.context.'annotation'.ScopedProxyMode DEFAULT>;
if v != v goto label;
v = <org.springframework.context.'annotation'.ScopedProxyMode: org.springframework.context.'annotation'.ScopedProxyMode NO>;
label:
v = v;
v = <org.springframework.context.'annotation'.ScopedProxyMode: org.springframework.context.'annotation'.ScopedProxyMode NO>;
if v == v goto label;
v = new org.springframework.beans.factory.config.BeanDefinitionHolder;
specialinvoke v.<org.springframework.beans.factory.config.BeanDefinitionHolder: void <init>(org.springframework.beans.factory.config.BeanDefinition,java.lang.String)>(v, v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = <org.springframework.context.'annotation'.ScopedProxyMode: org.springframework.context.'annotation'.ScopedProxyMode TARGET_CLASS>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.springframework.context.'annotation'.ScopedProxyCreator: org.springframework.beans.factory.config.BeanDefinitionHolder createScopedProxy(org.springframework.beans.factory.config.BeanDefinitionHolder,org.springframework.beans.factory.support.BeanDefinitionRegistry,boolean)>(v, v, v);
v = new org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
v = virtualinvoke v.<org.springframework.beans.factory.config.BeanDefinitionHolder: org.springframework.beans.factory.config.BeanDefinition getBeanDefinition()>();
specialinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: void <init>(org.springframework.beans.factory.support.RootBeanDefinition,org.springframework.context.'annotation'.ConfigurationClass,org.springframework.core.type.MethodMetadata)>(v, v, v);
v = v;
label:
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Registering bean definition for @Bean method %s.%s()", v);
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: void registerBeanDefinition(java.lang.String,org.springframework.beans.factory.config.BeanDefinition)>(v, v);
return;
}
protected boolean isOverriddenByExistingDefinition(org.springframework.context.'annotation'.BeanMethod, java.lang.String)
{
java.lang.Object[] v;
org.springframework.context.'annotation'.BeanMethod v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v, v, v, v;
org.springframework.context.'annotation'.ConfigurationClass v, v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
int v;
org.springframework.beans.factory.config.BeanDefinition v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
org.springframework.core.io.Resource v;
org.springframework.core.type.AnnotationMetadata v, v;
org.springframework.beans.factory.BeanDefinitionStoreException v;
org.apache.commons.logging.Log v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: org.springframework.context.'annotation'.BeanMethod;
v := @parameter: java.lang.String;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: boolean containsBeanDefinition(java.lang.String)>(v);
if v != 0 goto label;
return 0;
label:
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionRegistry: org.springframework.beans.factory.config.BeanDefinition getBeanDefinition(java.lang.String)>(v);
v = v instanceof org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.context.'annotation'.ConfigurationClass getConfigurationClass()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.type.AnnotationMetadata getMetadata()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
return v;
label:
v = v instanceof org.springframework.context.'annotation'.ScannedGenericBeanDefinition;
if v == 0 goto label;
return 0;
label:
v = interfaceinvoke v.<org.springframework.beans.factory.config.BeanDefinition: int getRole()>();
if v <= 0 goto label;
return 0;
label:
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = v instanceof org.springframework.beans.factory.support.DefaultListableBeanFactory;
if v == 0 goto label;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v = virtualinvoke v.<org.springframework.beans.factory.support.DefaultListableBeanFactory: boolean isAllowBeanDefinitionOverriding()>();
if v != 0 goto label;
v = new org.springframework.beans.factory.BeanDefinitionStoreException;
v = virtualinvoke v.<org.springframework.context.'annotation'.BeanMethod: org.springframework.context.'annotation'.ConfigurationClass getConfigurationClass()>();
v = virtualinvoke v.<org.springframework.context.'annotation'.ConfigurationClass: org.springframework.core.io.Resource getResource()>();
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getDescription()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.beans.factory.config.BeanDefinition)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("@Bean definition illegally overridden by existing bean definition: \u0001");
specialinvoke v.<org.springframework.beans.factory.BeanDefinitionStoreException: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
throw v;
label:
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = <org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Skipping bean definition for %s: a definition for bean \'%s\' already exists. This top-level bean definition is considered as an override.", v);
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
return 1;
}
private void loadBeanDefinitionsFromImportedResources(java.util.Map)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
java.lang.Object[] v;
java.util.HashMap v;
java.lang.reflect.Constructor v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v;
java.util.Map v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
java.lang.String v, v;
boolean v, v, v;
org.springframework.core.io.ResourceLoader v;
java.util.Iterator v;
java.lang.Class[] v;
java.util.Set v;
org.springframework.beans.factory.support.BeanDefinitionReader v;
org.springframework.core.env.Environment v;
java.lang.Object v, v, v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: java.util.Map;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
if class "Lorg/springframework/beans/factory/support/BeanDefinitionReader;" != v goto label;
v = staticinvoke <org.springframework.util.StringUtils: boolean endsWithIgnoreCase(java.lang.String,java.lang.String)>(v, ".groovy");
if v == 0 goto label;
v = class "Lorg/springframework/beans/factory/groovy/GroovyBeanDefinitionReader;";
goto label;
label:
v = class "Lorg/springframework/beans/factory/xml/XmlBeanDefinitionReader;";
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
label:
v = newarray (java.lang.Class)[1];
v[0] = class "Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[1];
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
v[0] = v;
virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
v = v instanceof org.springframework.beans.factory.support.AbstractBeanDefinitionReader;
if v == 0 goto label;
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.core.io.ResourceLoader resourceLoader>;
virtualinvoke v.<org.springframework.beans.factory.support.AbstractBeanDefinitionReader: void setResourceLoader(org.springframework.core.io.ResourceLoader)>(v);
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.core.env.Environment environment>;
virtualinvoke v.<org.springframework.beans.factory.support.AbstractBeanDefinitionReader: void setEnvironment(org.springframework.core.env.Environment)>(v);
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not instantiate BeanDefinitionReader class [\u]");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
interfaceinvoke v.<org.springframework.beans.factory.support.BeanDefinitionReader: int loadBeanDefinitions(java.lang.String)>(v);
goto label;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void loadBeanDefinitionsFromRegistrars(java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v;
java.util.Map v;
org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader v;
java.lang.Object v, v, v;
boolean v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.beans.factory.support.BeanDefinitionRegistry registry>;
interfaceinvoke v.<org.springframework.context.'annotation'.ImportBeanDefinitionRegistrar: void registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata,org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v, v);
goto label;
label:
return;
}
static void <clinit>()
{
org.apache.commons.logging.Log v;
org.springframework.context.'annotation'.AnnotationScopeMetadataResolver v;
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(class "Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;");
<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.apache.commons.logging.Log logger> = v;
v = new org.springframework.context.'annotation'.AnnotationScopeMetadataResolver;
specialinvoke v.<org.springframework.context.'annotation'.AnnotationScopeMetadataResolver: void <init>()>();
<org.springframework.context.'annotation'.ConfigurationClassBeanDefinitionReader: org.springframework.context.'annotation'.ScopeMetadataResolver scopeMetadataResolver> = v;
return;
}
}