__FUNCTION__ implemented with mixins and mangles

Denis Koroskin 2korden at gmail.com
Sun Jun 14 06:31:43 PDT 2009


On Sun, 14 Jun 2009 17:29:21 +0400, grauzone <none at example.net> wrote:

> 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
>

IIRC, it was previously proposed it as __SCOPE__



More information about the Digitalmars-d mailing list