Module name compile time constant?
Spacen Jasset
spacenjasset at yahoo.co.uk
Tue Apr 15 08:56:32 PDT 2008
davidl wrote:
> 在 Tue, 15 Apr 2008 15:12:13 +0800,Janice Caron
> <caron800 at googlemail.com> 写道:
>
>> On 15/04/2008, davidl <davidl at 126.com> wrote:
>>> I want some magic of module.name to get the current module name in
>>> compile
>>> time string form.
>>
>> Yeah, basically you want to add __MODULE__ to the list of "special
>> tokens" in
>> http://digitalmars.com/d/2.0/lex.html
>>
>> I think it would be easy for Walter to add, and I don't think it's
>> particularly controversial, so why not just go ahead and add an
>> enhancement request to Bugzilla.
>
> I'm looking for a cleaner solution.
> __SPEC_TOKEN__ for me looks like a hack.
>
> and it's not so well defined if my app doesn't have a module declaration
> section?
> should the compiler stop the compilation?
>
>
__MODULE__ seems reasonable to me. It's in line with __FILE__ and
__LINE__ and __FUNC__ (which seems absent, from dmd 1 anyway)
If you have no module definition, then presumably it could be "" or
whatever module the compiler considers it is when that happens according
to the current rules.
They look a bit like C preprocessor type macros, but really they aren't
so much, at any rate there is none of the problems you get with C style
macros and so they don't seem like a hack to me.
What alternative did you have in mind?
More information about the Digitalmars-d
mailing list