dlang / ddox

Advanced D documentation engine
MIT License
63 stars 21 forks source link

{null} is generated for most symbols (Even symbols that could be documented properly before.) #185

Open bausshf opened 6 years ago

bausshf commented 6 years ago

I'm unable to generate proper documentation right now, which causes a lot of symbols to generate {null} as the return type.

When generating the documentation I get the following errors:

ddox>ddox generate-html
docs.json public
Reading doc file...
Parsing JSON...
Parsing docs...
Function diamond.authentication.auth.TokenValidator.validate has non-function ty
pe: Primitive
Function diamond.authentication.auth.setTokenValidator has non-function type: Pr
imitive
Function diamond.authentication.auth.setTokenValidator has non-function type: Pr
imitive
Function diamond.authentication.auth.login has non-function type: Primitive
Function diamond.authentication.permissions.unrequirePermissionMethod has non-fu
nction type: Primitive
Function diamond.authentication.permissions.requirePermissionMethod has non-func
tion type: Primitive
Function diamond.authentication.permissions.hasAccess has non-function type: Pri
mitive
Function diamond.authentication.roles.Role.this has non-function type: Primitive

Function diamond.authentication.roles.getRole has non-function type: Primitive
Function diamond.authentication.roles.setRole has non-function type: Primitive
Function diamond.authentication.roles.setSessionRole has non-function type: Prim
itive
Function diamond.authentication.roles.addRole has non-function type: Primitive
Function diamond.controllers.action.Action.this has non-function type: Primitive

Function diamond.controllers.action.Action.this has non-function type: Primitive

Function diamond.controllers.authentication.AuthStatus.this has non-function typ
e: Primitive
Function diamond.controllers.authentication.IControllerAuth.isAuthenticated has
non-function type: Primitive
Function diamond.controllers.basecontroller.BaseController.mapAction has non-fun
ction type: Primitive
Function diamond.controllers.basecontroller.BaseController.mapAction has non-fun
ction type: Primitive
Function diamond.controllers.basecontroller.BaseController.mapAction has non-fun
ction type: Primitive
Function diamond.core.debugging.StackLogger.log has non-function type: Primitive

Function diamond.core.logging.LogResult.this has non-function type: Primitive
Function diamond.core.logging.executeLog has non-function type: Primitive
Function diamond.core.logging.log has non-function type: Primitive
Function diamond.core.logging.logToFile has non-function type: Primitive
Function diamond.core.logging.logToDatabase has non-function type: Primitive
Function diamond.core.websettings.WebSettings.onHttpError has non-function type:
 Primitive
Function diamond.core.websettings.WebSettings.onNotFound has non-function type:
Primitive
Function diamond.data.mapping.engines.mysql.model.asDateTime has non-function ty
pe: Primitive
Function diamond.data.mapping.engines.mysql.prepareSql has non-function type: Pr
imitive
Function diamond.data.mapping.engines.mysql.execute has non-function type: Primi
tive
Function diamond.data.mapping.engines.mysql.executeRaw has non-function type: Pr
imitive
Function diamond.data.mapping.engines.mysql.exists has non-function type: Primit
ive
Function diamond.data.mapping.engines.mysql.existsRaw has non-function type: Pri
mitive
Function diamond.errors.errorhandler.handleUserException has non-function type:
Primitive
Function diamond.errors.errorhandler.handleUserError has non-function type: Prim
itive
Function diamond.errors.exceptions.routeexception.RouteException.this has non-fu
nction type: Primitive
Function diamond.errors.exceptions.viewexception.ViewException.this has non-func
tion type: Primitive
Function diamond.errors.exceptions.viewexception.ViewError.this has non-function
 type: Primitive
Function diamond.extensions.extensionemitinfo.ExtensionEmitInfo.this has non-fun
ction type: Primitive
Function diamond.extensions.extensionmanager.getExtensions has non-function type
: Primitive
Function diamond.http.client.HttpClient.this has non-function type: Primitive
Function diamond.http.cookies.HttpCookies.this has non-function type: Primitive
Function diamond.http.cookies.HttpCookies.create has non-function type: Primitiv
e
Function diamond.http.cookies.HttpCookies.createBuffered has non-function type:
Primitive
Function diamond.http.cookies.HttpCookies.get has non-function type: Primitive
Function diamond.http.sessions.HttpSession.this has non-function type: Primitive

Function diamond.http.sessions.HttpSession.cacheView has non-function type: Prim
itive
Function diamond.http.sessions.HttpSession.getCachedView has non-function type:
Primitive
Function diamond.http.sessions.getSession has non-function type: Primitive
Function diamond.http.sessions.createSession has non-function type: Primitive
Function diamond.init.files.handleStaticFiles has non-function type: Primitive
Function diamond.init.web.routableViews has non-function type: Primitive
Function diamond.init.web.view_layout.this has non-function type: Primitive
Function diamond.init.web.view_layout.generate has non-function type: Primitive
Function diamond.init.web.view_home.this has non-function type: Primitive
Function diamond.init.web.view_home.generate has non-function type: Primitive
Function diamond.init.web.handleHTTPListen has non-function type: Primitive
Function diamond.security.tokens.generictoken.GenericToken.generate has non-func
tion type: Primitive
Function diamond.security.tokens.sessiontoken.SessionToken.generate has non-func
tion type: Primitive
Function diamond.security.tokens.tokengenerator.TokenGenerator.generate has non-
function type: Primitive
Function diamond.templates.grammar.Grammar.this has non-function type: Primitive

Function diamond.templates.parser.parseTemplate has non-function type: Primitive

Function diamond.unittesting.request.HttpUnitTestResult.getCookie has non-functi
on type: Primitive
Function diamond.unittesting.request.HttpUnitTestResult.getHeader has non-functi
on type: Primitive
Function diamond.unittesting.request.testRequest has non-function type: Primitiv
e
Function diamond.views.view.View.this has non-function type: Primitive
Function diamond.views.view.View.addPlaceHolder has non-function type: Primitive

Function diamond.views.view.View.retrieve has non-function type: Primitive
Function diamond.views.view.View.render has non-function type: Primitive
Function diamond.views.view.View.generate has non-function type: Primitive
Function diamond.views.viewparser.parseViewParts has non-function type: Primitiv
e
Function diamond.views.viewparser.parseMetaContent has non-function type: Primit
ive
Finished parsing docs.

Let's just look at an example like this:

Function diamond.controllers.basecontroller.BaseController.mapAction has non-fun
ction type: Primitive

It generates this:

final {null} mapAction ();

Previously it has been able to generate it correct like this:

final void mapAction ( 
  diamond.http.method.HttpMethod method, 
  string action, 
  Action fun 
);

See here

This is the actual definition in the source file:

    /**
    * Maps an action to a http method by a name.
    * Params:
    *     method =    The http method.
    *     action =    The action name.
    *     fun =       The controller action associated with the mapping.
    */
    void mapAction(HttpMethod method, string action, Action fun)
    {
      _actions[method][action] = fun;
    }

So what's the issue here? Why can it suddenly not generate documentation properly after certain changes/additions in the source code?