getting all children classes in program

Ondra via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jan 3 06:28:05 PST 2015


Hi,

how can I get list of all children classes of class in program? I 
was trying to use ModuleInfo from D Coockbook but this does not 
work for template classes?

ex.:
class A{}
class B:A{} // ok in ModuleInfo
class C(T): B {} // missing in ModuleInfo

I am trying to assign every class its unique ID that is same for 
all instances.

Code:
int result[string];

	int counter = 0;
	foreach(mod; ModuleInfo)
	{
		foreach(cla; mod.localClasses)
		{
		  	auto base = cla.base;
		  	while (base)
		  	{
		  		if (base is T.classinfo)
			  	{
			  		result[cla.name] = counter;
			  		
			  		counter++;
			  	}

			  	base = base.base;
		  	}
		}
	}


More information about the Digitalmars-d-learn mailing list