__FUNCTION__ implemented with mixins and mangles

grauzone none at example.net
Sun Jun 14 06:29:21 PDT 2009


Jarrett Billingsley wrote:
> On Sat, Jun 13, 2009 at 9:46 PM, zsxxsz<zhengshuxin at hexun.com> wrote:
>> It's good. But I think it should be implement by the DMD compiler, just like
>> __FILE__  and __LINE__. __FUNCTION__ should be the base D language syntax same as
>> __FILE__, __LINE__, in C99, they're all the compiler's things to get these and the
>> compiler do these more easily than any library.
>>
> 
> I completely agree, but Walter and Andrei's argument against it is -
> where does it end?  Do we need __PACKAGE__, __MODULE__, __TYPE__,
> __TEMPLATE__, etc. etc. etc.?  And I agree with them too - but you

All we need is a __HERE__, which expands into a struct literal that 
provides module, filename, etc. fields. It even can be linked to the 
next enclosing scope to walk upwards nested functions and types.

__FILE__ becomes __HERE__.filename,
__LINE__ becomes __HERE__.line

> know, it'd be nice to actually get some results on these things once
> in a while instead of a bunch of bullshit bikeshed discussions.
> Sheesh.



More information about the Digitalmars-d mailing list