__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