On 21-10-2011 21:07, Vladimir Panteleev wrote:
Hi,

Igor Stepanov has created a patch for DMD and Druntime which adds RTTI
information for class and struct members.

Example:

import std.stdio;

class Foo
{
static void PrintHello()
{
writeln("Hello");
}
}
void main()
{
auto info = cast(OffsetTypeInfo_StaticMethod)Foo.classinfo.m_offTi[0];
assert(info.name == "PrintHello");
auto print = cast(void function())info.pointer;
print(); //prints "Hello"
}

Absolutely awesome!


While the inclusion of such functionality into the language remains a
disputed matter, would anyone be interested in an unofficial patch for
this?

Yes, very much. I would recommend setting up a fork on GitHub, and then adding it to a branch, e.g. 'reflection', if it's not going to be included in mainline DMD.


Walter: would it be okay if the compiler changes were published as a
GitHub fork, or should we stick to patches?


- Alex

Reply via email to