public class org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar extends java.lang.Object implements org.springframework.context.'annotation'.ImportBeanDefinitionRegistrar
{
public void <init>()
{
org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar v;
v := @this: org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata, org.springframework.beans.factory.support.BeanDefinitionRegistry)
{
org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar v;
org.springframework.core.type.AnnotationMetadata v;
java.util.Set v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v;
v := @this: org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar;
v := @parameter: org.springframework.core.type.AnnotationMetadata;
v := @parameter: org.springframework.beans.factory.support.BeanDefinitionRegistry;
v = specialinvoke v.<org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar: java.util.Set getPackagesToScan(org.springframework.core.type.AnnotationMetadata)>(v);
specialinvoke v.<org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar: void registerServiceAnnotationBeanPostProcessor(java.util.Set,org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v, v);
staticinvoke <org.apache.dubbo.config.spring.util.DubboBeanUtils: void registerCommonBeans(org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v);
return;
}
private void registerServiceAnnotationBeanPostProcessor(java.util.Set, org.springframework.beans.factory.support.BeanDefinitionRegistry)
{
org.springframework.beans.factory.support.BeanDefinitionBuilder v;
org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar v;
java.util.Set v;
org.springframework.beans.factory.support.AbstractBeanDefinition v;
org.springframework.beans.factory.support.BeanDefinitionRegistry v;
v := @this: org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar;
v := @parameter: java.util.Set;
v := @parameter: org.springframework.beans.factory.support.BeanDefinitionRegistry;
v = staticinvoke <org.springframework.beans.factory.support.BeanDefinitionBuilder: org.springframework.beans.factory.support.BeanDefinitionBuilder rootBeanDefinition(java.lang.Class)>(class "Lorg/apache/dubbo/config/spring/beans/factory/annotation/ServiceAnnotationBeanPostProcessor;");
virtualinvoke v.<org.springframework.beans.factory.support.BeanDefinitionBuilder: org.springframework.beans.factory.support.BeanDefinitionBuilder addConstructorArgValue(java.lang.Object)>(v);
virtualinvoke v.<org.springframework.beans.factory.support.BeanDefinitionBuilder: org.springframework.beans.factory.support.BeanDefinitionBuilder setRole(int)>(2);
v = virtualinvoke v.<org.springframework.beans.factory.support.BeanDefinitionBuilder: org.springframework.beans.factory.support.AbstractBeanDefinition getBeanDefinition()>();
staticinvoke <org.springframework.beans.factory.support.BeanDefinitionReaderUtils: java.lang.String registerWithGeneratedName(org.springframework.beans.factory.support.AbstractBeanDefinition,org.springframework.beans.factory.support.BeanDefinitionRegistry)>(v, v);
return;
}
private java.util.Set getPackagesToScan(org.springframework.core.type.AnnotationMetadata)
{
java.lang.String[] v, v;
java.util.Map v;
org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar v;
int v, v;
java.lang.String v, v, v, v;
java.util.LinkedHashSet v;
boolean v;
org.springframework.core.type.AnnotationMetadata v;
java.lang.Class[] v;
java.util.Set v;
java.util.List v, v;
java.lang.Class v, v;
org.springframework.core.'annotation'.AnnotationAttributes v;
v := @this: org.apache.dubbo.config.spring.context.'annotation'.DubboComponentScanRegistrar;
v := @parameter: org.springframework.core.type.AnnotationMetadata;
v = class "Lorg/apache/dubbo/config/spring/context/annotation/DubboComponentScan;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.util.Map getAnnotationAttributes(java.lang.String)>(v);
v = staticinvoke <org.springframework.core.'annotation'.AnnotationAttributes: org.springframework.core.'annotation'.AnnotationAttributes fromMap(java.util.Map)>(v);
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String[] getStringArray(java.lang.String)>("basePackages");
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.Class[] getClassArray(java.lang.String)>("basePackageClasses");
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.String[] getStringArray(java.lang.String)>("value");
v = new java.util.LinkedHashSet;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.springframework.util.ClassUtils: java.lang.String getPackageName(java.lang.Class)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.springframework.core.type.AnnotationMetadata: java.lang.String getClassName()>();
v = staticinvoke <org.springframework.util.ClassUtils: java.lang.String getPackageName(java.lang.String)>(v);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
return v;
label:
return v;
}
}