Regarding the use of classmate in reflite, my initial idea would be to just resolve each class via classmate regardless. This way you know that we only deal with concrete types (no wildcards, parameterized types, etc) and we only need to expose this concrete types via the API.
We talked once about the overhead of using classmate and that it is not needed in many cases, however, I am not sure whether it is worth the effort.
Well, on second thought, we probably can save us the resolution for classes w/o inheritance. Or put another way, we only need to to it for the inheritance case which we can discover quite easily via Jadex'es {{Index#getAllKnownSubclasses}}.
|