On 19-08-2012 14:26, David wrote:
I want to get the (ddoc)-comment of a certain function/member/struct …
so I can generate help-messages at compiletime, without the need to
duplicate the comments. Like pythons function.__doc__ or class.__doc__
etc. is there anything planed for D, e.g. __traits(getComment, foo.bar)?

If not what do you think of it, I would love this addition.

I implemented this somewhat trivially, so you can do:

/**
 * Magic.
 */
void foo() {}

pragma(msg, __traits(getDdoc, foo));

But one problem that quickly ruins the usefulness of this is that Ddoc comments are only gathered when -D is passed to DMD (and therefore D_Ddoc is defined).

One way to solve this problem is to always gather doc comments unconditionally. This is not optimal, however, because a lot of code is written with the assumption that doc comments should only be present when D_Ddoc is defined, so in many libraries you'll see code that goes like:

version (D_Ddoc)
{
    /**
     * Magic.
     */
    void foo();
}
else
{
    void foo()
    {
    }
}

So, I don't know. It seems like a mess to get working properly.

--
Alex Rønne Petersen
[email protected]
http://lycus.org

Reply via email to