Thread overview
[Issue 11337] Ddoc ignores methods in static else block
Jul 04, 2020
Basile-z
Oct 09, 2022
Nick Treleaven
Dec 17, 2022
Iain Buclaw
July 04, 2020
https://issues.dlang.org/show_bug.cgi?id=11337

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ddoc

--
July 13, 2020
https://issues.dlang.org/show_bug.cgi?id=11337

hsteoh@quickfur.ath.cx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hsteoh@quickfur.ath.cx

--- Comment #4 from hsteoh@quickfur.ath.cx ---
A related problem is blocks that are version()'d out. I think this represents a fundamental weakness of ddoc, in that it only sees code that's actually compiled, not code that's *potentially* compiled.

There is no easy solution either; for example, the source code may contain version(none) or static if(0) blocks containing non-compilable code; you probably don't want to generate docs for that!  But you can't just check the condition for 'none' or '0' because the actual condition may be more complex than that.

A potential workaround might be some kind of in-source ddoc directive to tell ddoc to generate docs for blocks that otherwise would not be compiled, say something like:

------
/// ddoc:force-gen
static if (myCond) {
    /// Ddocs
    auto stuff(...) { ... }
} else {
    /// more ddocs
    auto otherStuff(...) { ... }
}
------

The ddoc generator would recognize the `ddoc:force-gen` directive and generate docs for both branches of the static if, where otherwise it would only generate one.

Just throwing the idea out there to see if it sticks.

--
October 09, 2022
https://issues.dlang.org/show_bug.cgi?id=11337

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nick@geany.org

--- Comment #5 from Nick Treleaven <nick@geany.org> ---
> A related problem is blocks that are version()'d out. I think this represents a fundamental weakness of ddoc, in that it only sees code that's actually compiled, not code that's *potentially* compiled

ddoc doesn't work like that for `version`, see issue 21400.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=11337

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P3

--