On Thursday, 21 September 2017 at 20:32:38 UTC, Jean-Louis Leroy
wrote:
Neither 'Bar!int' nor 'BarInt' appear in 'localClasses'.
Ideas?
The information you can retrieve through localClasses is limited.
AFAIK it only retrieves plain non-template classes declared
directly in the module. Last I checked, non-template classes
added via mixin were skipped as well.
I'm not sure how much work can be expected in this area. Things
related to runtime reflection have slowly been getting removed
from druntime and dmd. I don't think there's much left of it.
Your best bet is to scrape the info you need on your own using
D's traits:
https://dlang.org/phobos/std_traits.html
https://dlang.org/spec/traits.html
I would recommend trying to work with std.traits first (as
opposed to __traits).
If you need to scan entire modules at a time, then start with
something like this:
foreach(m; __traits(allMembers, fully.qualified.modulename))
{
// __traits(getMember, ... , ...)
}