Allow appending classpath to the ClassPool of JavassistTypeParameterMatcherGenerator

- Fixes: #1402
- Make JavassistTypeParameterMatcherGenerator public
- Add appendClassPath()
This commit is contained in:
Trustin Lee 2013-06-12 08:09:11 +09:00
parent 79e236dfc2
commit 3fc6e02f8b

View File

@ -18,19 +18,34 @@ package io.netty.util.internal;
import io.netty.util.internal.logging.InternalLogger;
import io.netty.util.internal.logging.InternalLoggerFactory;
import javassist.ClassClassPath;
import javassist.ClassPath;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.Modifier;
import javassist.NotFoundException;
import java.lang.reflect.Method;
final class JavassistTypeParameterMatcherGenerator {
public final class JavassistTypeParameterMatcherGenerator {
private static final InternalLogger logger =
InternalLoggerFactory.getInstance(JavassistTypeParameterMatcherGenerator.class);
private static final ClassPool classPool = new ClassPool(true);
static {
classPool.appendClassPath(new ClassClassPath(JavassistTypeParameterMatcherGenerator.class));
}
public void appendClassPath(ClassPath classpath) {
classPool.appendClassPath(classpath);
}
public void appendClassPath(String pathname) throws NotFoundException {
classPool.appendClassPath(pathname);
}
static TypeParameterMatcher generate(Class<?> type) {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
if (classLoader == null) {