Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
aggregate.cpp File Reference

(489af8dc593ff5593eda3f67f2395a560fecb322)

#include "aggregate.h"
#include "config.h"
#include "functionnode.h"
#include "inclusionfilter.h"
#include "inclusionpolicy.h"
#include "parameters.h"
#include "typedefnode.h"
#include "qdocdatabase.h"
#include "qmlpropertynode.h"
#include "qmltypenode.h"
#include "sharedcommentnode.h"
#include <vector>
Include dependency graph for aggregate.cpp:

Go to the source code of this file.

Functions

static void warnAboutDocumentedChildInUndocumentedParent (const Node *aggregate, const Node *child)
static bool keep (FunctionNode *fn)

Function Documentation

◆ keep()

bool keep ( FunctionNode * fn)
static

Definition at line 616 of file aggregate.cpp.

References FunctionNode::isDeprecated(), FunctionNode::isDtor(), Node< _Tp >::isInternal(), Node< _Tp >::isPrivate(), and FunctionNode::isSomeCtor().

Here is the call graph for this function:

◆ warnAboutDocumentedChildInUndocumentedParent()

void warnAboutDocumentedChildInUndocumentedParent ( const Node * aggregate,
const Node * child )
static

Warn about documented, non-private children under undocumented parents, unless:

\list

  • The child's parent() doesn't match aggregate (indicating a related non-member), to avoid duplicate warnings as the node appears under multiple aggregates.
  • The child is private (private members don't generate output).
  • The child is explicitly marked {\internal} (we check the child's own status, not inherited internal status from the parent).
  • The parent is a proxy node (automatically generated, no documentation).
  • The parent is a namespace node (handled separately by NamespaceNode::reportDocumentedChildrenInUndocumentedNamespace()).
  • The parent is marked with the {\dontdocument} command.
  • The child is marked with the {\dontdocument} command.
  • The child has auto-generated documentation. These docs are created by QDoc, not written by a human, so warning about them would be confusing.
  • The {-showinternal} command-line option is set (internal nodes generate output, so the warning is not needed).
  • The {-no-linkerrors} command-line option is set (avoids false positives when the aggregate is documented outside the current project).
  • The file path of the child declaration matches internalfilepatterns. \endlist
Note
We check {child->status()} directly rather than {child->isInternal()} because {isInternal()} also considers the parent's status. Since the parent is undocumented (and thus marked Internal), {isInternal()} would incorrectly return true for all children, suppressing the warning entirely.
See also
NamespaceNode::reportDocumentedChildrenInUndocumentedNamespace()

Definition at line 267 of file aggregate.cpp.

References Node< _Tp >::declLocation(), Node< _Tp >::doc(), Node< _Tp >::genus(), Node< _Tp >::hasDoc(), Internal, Doc::isAutoGenerated(), Node< _Tp >::isDontDocument(), Location::isEmpty(), Node< _Tp >::isNamespace(), Node< _Tp >::isPrivate(), Node< _Tp >::isProxyNode(), Doc::location(), Node< _Tp >::parent(), InclusionFilter::processInternalDocs(), and Node< _Tp >::status().

Here is the call graph for this function: