How to get compatible symbol names and runtime typeid names for templated classes?
Adam D Ruppe
destructionator at gmail.com
Tue May 3 14:48:24 UTC 2022
On Tuesday, 3 May 2022 at 14:38:53 UTC, Arafel wrote:
> Actually, it would be cool to do it through an interface,
> although I don't think an interface's static constructors are
> invoked by the implementing classes... it would be cool, though.
yeah interfaces can't have constructors.
> I'd try it myself, but I wouldn't know where to start. Compiler
> internals are way beyond my comfort zone...
Believe it or not, you don't need to touch the compiler. Open
your druntime's object.d and search for `RTInfo`
http://druntime.dpldocs.info/object.RTInfo.html
That is instantiated for every user defined type in the program
and you have the compile time info..... all druntime uses it for
is a tiny bit of GC info and even then only sometimes.
But it could do so so so much more. Including doing custom
factories and runtime reflection buildups!
More information about the Digitalmars-d-learn
mailing list