fixed Visitor dispatch

This commit is contained in:
Timo Westkämper 2008-03-06 18:32:49 +00:00
parent bc5102c9cc
commit 71da0ac3c0

View File

@ -23,9 +23,9 @@ public abstract class Visitor<T extends Visitor<T>> {
@Override
protected Method create(Class<?> cl) {
try {
if (PathEntity.class.isAssignableFrom(cl)) {
cl = PathEntity.class;
}
while (!cl.getPackage().equals(Types.class.getPackage())){
cl = cl.getSuperclass();
}
Method method = null;
Class<?> sigClass = Visitor.this.getClass();
while (method == null && !sigClass.equals(Visitor.class)) {
@ -38,8 +38,7 @@ public abstract class Visitor<T extends Visitor<T>> {
if (method != null) {
method.setAccessible(true);
} else {
throw new IllegalArgumentException("No method found for "
+ cl.getSimpleName());
throw new IllegalArgumentException("No method found for " + cl.getName());
}
return method;
} catch (Exception e) {