I have a class Statement, with an inner enum Type, with an abstract
method getServiceName().
if I use
$stmt.type.serviceName
then it fails to resolve.
If I change the method from abstract to concrete (body throws
RuntimeException) then it correctly resolves to the getServiceName() of
the particular enum
This is because the ClassMap logic is flawed:
// Some of the interfaces contain abstract
methods. That is fine, because the actual object must
// implement them anyway (else it wouldn't be
implementing the interface). If we find an abstract
// method in a non-interface, we skip it,
because we do want to make sure that no abstract methods end up in
// the cache.
if (classToReflect.isInterface() ||
!Modifier.isAbstract(modifiers))
{
methodCache.put(methods[i]);
}
it should always do methodCache.put(methods[i]);
Bug in 1.5, works in 1.3.1
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]