* @see #toClass(CtClass, java.lang.ClassLoader)
*/
public Class toClass(CtClass clazz) throws CannotCompileException {
- return toClass(clazz, Thread.currentThread().getContextClassLoader());
+ return toClass(clazz, getContextClassLoader());
+ }
+
+ /**
+ * Obtains a class loader that seems appropriate to look up a class
+ * by name.
+ */
+ static ClassLoader getContextClassLoader() {
+ return Thread.currentThread().getContextClassLoader();
}
/**
}
Object[] result = new Object[size1 + size2];
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ ClassLoader cl = ClassPool.getContextClassLoader();
for (int i = 0; i < size1; i++)
result[i] = anno1[i].toAnnotationType(cl, cp);
return new Object[0][];
Object[][] result = new Object[numParameters][];
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ ClassLoader cl = ClassPool.getContextClassLoader();
for (int i = 0; i < numParameters; i++) {
Annotation[] anno1, anno2;
int size1, size2;
result[i] = new Object[size1 + size2];
for (int j = 0; j < size1; ++j)
result[i][j] = anno1[j].toAnnotationType(cl, cp);
+
for (int j = 0; j < size2; ++j)
result[i][j + size1] = anno2[j].toAnnotationType(cl, cp);
}