in asm/src/main/java/org/apache/commons/proxy2/asm/ASMProxyFactory.java [91:108]
public Class<?> generateProxyClass(final ClassLoader classLoader, final Class<?>... proxyClasses)
{
final Class<?> superclass = getSuperclass(proxyClasses);
final String proxyName = CLASSNAME_PREFIX + CLASS_NUMBER.incrementAndGet();
final Method[] implementationMethods = getImplementationMethods(proxyClasses);
final Class<?>[] interfaces = toInterfaces(proxyClasses);
final String classFileName = proxyName.replace('.', '/');
try
{
final byte[] proxyBytes = generateProxy(superclass, classFileName, implementationMethods, interfaces);
return loadClass(classLoader, proxyName, proxyBytes);
}
catch (final Exception e)
{
throw new ProxyFactoryException(e);
}
}