Runtime reflection idea
    Steven Schveighoffer 
    schveiguy at yahoo.com
       
    Thu May 30 08:12:55 PDT 2013
    
    
  
On Thu, 30 May 2013 10:59:52 -0400, Adam D. Ruppe  
<destructionator at gmail.com> wrote:
> The compiler instantiates a template called RTInfo!T for every custom  
> type T that is made available through the TypeInfo class (.classinfo,  
> typeid()).
>
> The first idea with this was to do precise GC, but it can do more than  
> just that. Currently, it is totally unused in druntime. I propose we put  
> it to use to allow some runtime reflection.
http://forum.dlang.org/post/op.wcvlmg03eav7ka@localhost.localdomain
> and ModuleInfo even has a list of all classes, and all modules in a  
> program, so we could go pretty nuts with runtime stuff here.
I also want ModuleInfo to have an equivalent RTInfo member.  Walter agreed  
at the conference that it was a good idea and should be done.  See bug  
report here:
http://d.puremagic.com/issues/show_bug.cgi?id=10023
> What do you all think? It is a pretty minor change to druntime to enable  
> this kind of thing, it wouldn't get in the way of anything else -  
> druntime can still use RTInfo for its own thing when the time comes  
> without a problem -  and it seems to me like it could be easily useful  
> and convenient for some tasks.
I would like to see the necessary framework for RTInfo to allow expansion  
WITHOUT having to modify object.d.  I think this can be done, and then it  
allows anyone to insert whatever they want for RTInfo based on their own  
needs.
This would set D apart from existing runtime information frameworks, like  
Java's and C#'s, in that it's expandable, and it's selective (enabling  
runtime information might be as simple as adding UDAs).
-Steve
    
    
More information about the Digitalmars-d
mailing list