/* */
/* 136 */ List parameters = metaData.getParameters();
/* */
/* 139 */ BeanInfo factoryInfo = config.getBeanInfo(factory.getClass());
/* */
/* 142 */ MethodJoinpoint joinPoint = findMethod(trace, factoryInfo, cl, metaData.getFactoryMethod(), parameters, false, true);
/* 143 */ joinPoint.setTarget(factory);
/* 144 */ MethodInfo minfo = joinPoint.getMethodInfo();
/* */
/* 147 */ if (minfo != null)
/* */ {
/* 149 */ TypeInfo[] pinfos = minfo.getParameterTypes();
/* 150 */ Object[] params = getParameters(trace, cl, pinfos, parameters);
/* 151 */ joinPoint.setArguments(params);
/* */ }
/* 153 */ return joinPoint;
/* */ }
/* */
/* 156 */ String factoryClassName = metaData.getFactoryClass();
/* 157 */ if (factoryClassName != null)
/* */ {
/* 160 */ List parameters = metaData.getParameters();
/* */
/* 162 */ BeanInfo factoryInfo = config.getBeanInfo(factoryClassName, cl);
/* */
/* 165 */ MethodJoinpoint joinPoint = findMethod(trace, factoryInfo, cl, metaData.getFactoryMethod(), parameters, true, true);
/* 166 */ MethodInfo minfo = joinPoint.getMethodInfo();
/* */
/* 169 */ if (minfo != null)
/* */ {
/* 171 */ TypeInfo[] pinfos = minfo.getParameterTypes();
/* 172 */ Object[] params = getParameters(trace, cl, pinfos, parameters);
/* 173 */ joinPoint.setArguments(params);
/* */ }
/* 175 */ return joinPoint;
/* */ }
/* */
/* 179 */ ConstructorJoinpoint joinPoint = findConstructor(trace, info, metaData);
/* 180 */ ConstructorInfo cinfo = joinPoint.getConstructorInfo();
/* */
/* 183 */ if (cinfo != null)
/* */ {
/* 185 */ TypeInfo[] pinfos = cinfo.getParameterTypes();
/* 186 */ Object[] params = getParameters(trace, cl, pinfos, metaData.getParameters());
/* 187 */ joinPoint.setArguments(params);
/* */ }
/* 189 */ return joinPoint;
/* */ }
/* */
/* 193 */ return findConstructor(trace, info, metaData);