class org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor extends java.lang.Object implements org.springframework.cglib.proxy.MethodInterceptor, org.springframework.context.'annotation'.ConfigurationClassEnhancer$ConditionalCallback
{
private void <init>()
{
org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.Object intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], org.springframework.cglib.proxy.MethodProxy) throws java.lang.Throwable
{
java.lang.Object[] v;
org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor v;
java.lang.reflect.Field v;
org.springframework.cglib.proxy.MethodProxy v;
java.lang.Class v, v, v, v, v;
java.lang.Object v, v, v;
java.lang.reflect.Method v;
boolean v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Object[];
v := @parameter: org.springframework.cglib.proxy.MethodProxy;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.springframework.util.ReflectionUtils: java.lang.reflect.Field findField(java.lang.Class,java.lang.String)>(v, "$$beanFactory");
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.springframework.util.Assert: void state(boolean,java.lang.String)>(v, "Unable to find generated BeanFactory field");
v = v[0];
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(v, v);
v = class "Lorg/springframework/beans/factory/BeanFactoryAware;";
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
v = staticinvoke <org.springframework.util.ClassUtils: java.lang.Class getUserClass(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.cglib.proxy.MethodProxy: java.lang.Object invokeSuper(java.lang.Object,java.lang.Object[])>(v, v);
return v;
label:
return null;
}
public boolean isMatch(java.lang.reflect.Method)
{
org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor v;
java.lang.Class[] v, v;
int v;
java.lang.Class v, v, v;
java.lang.String v;
java.lang.reflect.Method v;
boolean v, v, v;
v := @this: org.springframework.context.'annotation'.ConfigurationClassEnhancer$BeanFactoryAwareMethodInterceptor;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("setBeanFactory");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
if v != 1 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = v[0];
if class "Lorg/springframework/beans/factory/BeanFactory;" != v goto label;
v = class "Lorg/springframework/beans/factory/BeanFactoryAware;";
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
}