summaryrefslogtreecommitdiffstats
path: root/src/qdoc/sections.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/sections.cpp')
-rw-r--r--src/qdoc/sections.cpp162
1 files changed, 75 insertions, 87 deletions
diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp
index 7fd39bc4f..7d5bcf03f 100644
--- a/src/qdoc/sections.cpp
+++ b/src/qdoc/sections.cpp
@@ -38,17 +38,21 @@
QT_BEGIN_NAMESPACE
-//Aggregate *Sections::aggregate_ = nullptr;
+// Aggregate *Sections::aggregate_ = nullptr;
static bool sectionsInitialized = false;
QVector<Section> Sections::stdSummarySections_(7, Section(Section::Summary, Section::Active));
QVector<Section> Sections::stdDetailsSections_(7, Section(Section::Details, Section::Active));
-QVector<Section> Sections::stdCppClassSummarySections_(18, Section(Section::Summary, Section::Active));
-QVector<Section> Sections::stdCppClassDetailsSections_(6, Section(Section::Details, Section::Active));
+QVector<Section> Sections::stdCppClassSummarySections_(18,
+ Section(Section::Summary, Section::Active));
+QVector<Section> Sections::stdCppClassDetailsSections_(6,
+ Section(Section::Details, Section::Active));
QVector<Section> Sections::sinceSections_(15, Section(Section::Details, Section::Active));
QVector<Section> Sections::allMembers_(1, Section(Section::AllMembers, Section::Active));
-QVector<Section> Sections::stdQmlTypeSummarySections_(7, Section(Section::Summary, Section::Active));
-QVector<Section> Sections::stdQmlTypeDetailsSections_(7, Section(Section::Details, Section::Active));
+QVector<Section> Sections::stdQmlTypeSummarySections_(7,
+ Section(Section::Summary, Section::Active));
+QVector<Section> Sections::stdQmlTypeDetailsSections_(7,
+ Section(Section::Details, Section::Active));
/*!
\class Section
@@ -61,9 +65,9 @@ QVector<Section> Sections::stdQmlTypeDetailsSections_(7, Section(Section::Detail
*/
Section::Section(Style style, Status status) : style_(style), status_(status), aggregate_(nullptr)
{
- //members_.reserve(100);
- //obsoleteMembers_.reserve(50);
- //reimplementedMembers_.reserve(50);
+ // members_.reserve(100);
+ // obsoleteMembers_.reserve(50);
+ // reimplementedMembers_.reserve(50);
}
/*!
@@ -88,7 +92,7 @@ void Section::clear()
reimplementedMemberMap_.clear();
if (!classMapList_.isEmpty()) {
for (int i = 0; i < classMapList_.size(); i++) {
- ClassMap* cm = classMapList_[i];
+ ClassMap *cm = classMapList_[i];
classMapList_[i] = nullptr;
delete cm;
}
@@ -102,7 +106,7 @@ void Section::clear()
inheritedMembers_.clear();
if (!classKeysNodesList_.isEmpty()) {
for (int i = 0; i < classKeysNodesList_.size(); i++) {
- ClassKeysNodes* ckn = classKeysNodesList_[i];
+ ClassKeysNodes *ckn = classKeysNodesList_[i];
classKeysNodesList_[i] = nullptr;
delete ckn;
}
@@ -133,7 +137,7 @@ QString Section::sortName(const Node *node, const QString *name)
// we want 'qint8' to appear before 'qint16'
if (numDigits > 0) {
for (int i = 0; i < 4 - numDigits; ++i)
- nodeName.insert(nodeName.size()-numDigits-1, QLatin1Char('0'));
+ nodeName.insert(nodeName.size() - numDigits - 1, QLatin1Char('0'));
}
if (node->isFunction()) {
@@ -144,8 +148,7 @@ QString Section::sortName(const Node *node, const QString *name)
sortNo = QLatin1String("C");
else if (fn->isDtor())
sortNo = QLatin1String("D");
- else if (nodeName.startsWith(QLatin1String("operator"))
- && nodeName.length() > 8
+ else if (nodeName.startsWith(QLatin1String("operator")) && nodeName.length() > 8
&& !nodeName[8].isLetterOrNumber())
sortNo = QLatin1String("F");
else
@@ -185,12 +188,11 @@ void Section::insert(Node *node)
if (node->isPrivate() || node->isInternal()) {
irrelevant = true;
- }
- else if (node->isFunction()) {
+ } else if (node->isFunction()) {
FunctionNode *func = static_cast<FunctionNode *>(node);
irrelevant = (inherited && (func->isSomeCtor() || func->isDtor()));
- }
- else if (node->isClassNode() || node->isEnumType() || node->isTypedef() || node->isVariable()) {
+ } else if (node->isClassNode() || node->isEnumType() || node->isTypedef()
+ || node->isVariable()) {
irrelevant = (inherited && style_ != AllMembers);
if (!irrelevant && style_ == Details && node->isTypedef()) {
const TypedefNode *tdn = static_cast<const TypedefNode *>(node);
@@ -211,7 +213,8 @@ void Section::insert(Node *node)
memberMap_.insertMulti(key, node);
}
if (inherited && (node->parent()->isClassNode() || node->parent()->isNamespace())) {
- if (inheritedMembers_.isEmpty() || inheritedMembers_.last().first != node->parent()) {
+ if (inheritedMembers_.isEmpty()
+ || inheritedMembers_.last().first != node->parent()) {
QPair<Aggregate *, int> p(node->parent(), 0);
inheritedMembers_.append(p);
}
@@ -284,8 +287,8 @@ void Section::reduce()
obsoleteMembers_ = obsoleteMemberMap_.values().toVector();
reimplementedMembers_ = reimplementedMemberMap_.values().toVector();
for (int i = 0; i < classMapList_.size(); i++) {
- ClassMap* cm = classMapList_[i];
- ClassKeysNodes* ckn = new ClassKeysNodes;
+ ClassMap *cm = classMapList_[i];
+ ClassKeysNodes *ckn = new ClassKeysNodes;
ckn->first = cm->first;
ckn->second.second = cm->second.values().toVector();
ckn->second.first = cm->second.keys();
@@ -397,11 +400,9 @@ Sections::Sections(const NodeMultiMap &nsmap) : aggregate_(nullptr)
sections[SinceGlobalFunctions].appendMember(node);
else
sections[SinceNamespaceFunctions].appendMember(node);
- }
- else
+ } else
sections[SinceGlobalFunctions].appendMember(node);
- }
- else
+ } else
sections[SinceGlobalFunctions].appendMember(node);
}
break;
@@ -456,8 +457,7 @@ Sections::~Sections()
break;
}
aggregate_ = nullptr;
- }
- else {
+ } else {
clear(sinceSections());
}
}
@@ -467,7 +467,7 @@ Sections::~Sections()
*/
void Sections::initAggregate(SectionVector &v, Aggregate *aggregate)
{
- for (int i = 0; i< v.size(); ++i)
+ for (int i = 0; i < v.size(); ++i)
v[i].setAggregate(aggregate);
}
@@ -499,7 +499,8 @@ void Sections::initSections()
v[8].init("Protected Functions", "protected function", "protected functions");
v[9].init("Protected Slots", "protected slot", "protected slots");
v[10].init("Protected Variables", "protected type", "protected variables");
- v[11].init("Static Protected Members", "static protected member", "static protected members");
+ v[11].init("Static Protected Members", "static protected member",
+ "static protected members");
v[12].init("Private Types", "private type", "private types");
v[13].init("Private Functions", "private function", "private functions");
v[14].init("Private Slots", "private slot", "private slots");
@@ -572,13 +573,13 @@ void Sections::initSections()
{
QVector<Section> &v = stdQmlTypeDetailsSections_;
- v[0].init("Property Documentation","qmlprop","member","members");
- v[1].init("Attached Property Documentation","qmlattprop", "member","members");
- v[2].init("Signal Documentation","qmlsig","signal","signals");
- v[3].init("Signal Handler Documentation","qmlsighan","signal handler","signal handlers");
- v[4].init("Attached Signal Documentation","qmlattsig", "signal","signals");
- v[5].init("Method Documentation","qmlmeth","member","members");
- v[6].init("Attached Method Documentation","qmlattmeth", "member","members");
+ v[0].init("Property Documentation", "qmlprop", "member", "members");
+ v[1].init("Attached Property Documentation", "qmlattprop", "member", "members");
+ v[2].init("Signal Documentation", "qmlsig", "signal", "signals");
+ v[3].init("Signal Handler Documentation", "qmlsighan", "signal handler", "signal handlers");
+ v[4].init("Attached Signal Documentation", "qmlattsig", "signal", "signals");
+ v[5].init("Method Documentation", "qmlmeth", "member", "members");
+ v[6].init("Attached Method Documentation", "qmlattmeth", "member", "members");
}
}
@@ -623,32 +624,31 @@ void Sections::stdRefPageSwitch(SectionVector &v, Node *n, Node *t)
case Node::Typedef:
v[StdTypes].insert(n);
return;
- case Node::Function:
- {
- FunctionNode *func = static_cast<FunctionNode *>(t);
- if (func->isMacro())
- v[StdMacros].insert(n);
- else
- v[StdFunctions].insert(n);
- }
+ case Node::Function: {
+ FunctionNode *func = static_cast<FunctionNode *>(t);
+ if (func->isMacro())
+ v[StdMacros].insert(n);
+ else
+ v[StdFunctions].insert(n);
+ }
return;
- case Node::Variable:
- {
- const VariableNode *var = static_cast<const VariableNode *>(t);
- if (!var->doc().isEmpty()) {
- if (var->isStatic())
- v[StdStaticVariables].insert(n);
- else
- v[StdVariables].insert(n);
- }
+ case Node::Variable: {
+ const VariableNode *var = static_cast<const VariableNode *>(t);
+ if (!var->doc().isEmpty()) {
+ if (var->isStatic())
+ v[StdStaticVariables].insert(n);
+ else
+ v[StdVariables].insert(n);
}
+ }
return;
- case Node::SharedComment:
- {
- SharedCommentNode *scn = static_cast<SharedCommentNode *>(t);
- if (!scn->doc().isEmpty() && scn->collective().count())
- stdRefPageSwitch(v, scn, scn->collective().first()); // TODO: warn about mixed node types in collective?
- }
+ case Node::SharedComment: {
+ SharedCommentNode *scn = static_cast<SharedCommentNode *>(t);
+ if (!scn->doc().isEmpty() && scn->collective().count())
+ stdRefPageSwitch(
+ v, scn,
+ scn->collective().first()); // TODO: warn about mixed node types in collective?
+ }
return;
default:
return;
@@ -738,24 +738,20 @@ void Sections::distributeNodeInSummaryVector(SectionVector &sv, Node *n)
sv[PrivateSlots].insert(fn);
else
sv[ProtectedSlots].insert(fn);
- }
- else if (fn->isSignal()) {
+ } else if (fn->isSignal()) {
if (fn->isPublic())
sv[Signals].insert(fn);
- }
- else if (fn->isPublic()) {
+ } else if (fn->isPublic()) {
if (fn->isStatic())
sv[StaticPublicMembers].insert(fn);
else if (!sv[PublicFunctions].insertReimplementedMember(fn))
sv[PublicFunctions].insert(fn);
- }
- else if (fn->isPrivate()) {
+ } else if (fn->isPrivate()) {
if (fn->isStatic())
sv[StaticPrivateMembers].insert(fn);
else if (!sv[PrivateFunctions].insertReimplementedMember(fn))
sv[PrivateFunctions].insert(fn);
- }
- else { // protected
+ } else { // protected
if (fn->isStatic())
sv[StaticProtectedMembers].insert(fn);
else if (!sv[ProtectedFunctions].insertReimplementedMember(fn))
@@ -775,8 +771,7 @@ void Sections::distributeNodeInSummaryVector(SectionVector &sv, Node *n)
sv[StaticPrivateMembers].insert(n);
else
sv[StaticProtectedMembers].insert(n);
- }
- else {
+ } else {
if (n->isPublic())
sv[PublicVariables].insert(n);
else if (!n->isPrivate())
@@ -810,7 +805,7 @@ void Sections::distributeNodeInDetailsVector(SectionVector &dv, Node *n)
if (n->isSharingComment())
return;
- // t is the reference node to be tested - typically it's this node (n), but for
+ // t is the reference node to be tested - typically it's this node (n), but for
// shared comment nodes we need to distribute based on the nodes in its collective.
Node *t = n;
@@ -926,7 +921,7 @@ void Sections::distributeQmlNodeInSummaryVector(SectionVector &sv, Node *n, bool
sv[QmlMethods].insert(fn);
}
} else if (n->isSharedCommentNode()) {
- SharedCommentNode *scn = static_cast<SharedCommentNode*>(n);
+ SharedCommentNode *scn = static_cast<SharedCommentNode *>(n);
if (scn->isPropertyGroup()) {
sv[QmlProperties].insert(scn);
} else {
@@ -957,11 +952,9 @@ void Sections::buildStdCppClassRefPageSections()
bool documentAll = true;
if (aggregate_->parent() && !aggregate_->name().isEmpty() && !aggregate_->hasDoc())
documentAll = false;
- for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd();++it) {
+ for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd(); ++it) {
Node *n = *it;
- if (!n->isPrivate()
- && !n->isProperty()
- && !n->isRelatedNonmember()
+ if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember()
&& !n->isSharedCommentNode())
allMembers.insert(n);
if (!documentAll && !n->hasDoc())
@@ -983,14 +976,12 @@ void Sections::buildStdCppClassRefPageSections()
ClassNode *cn = stack.pop();
for (auto it = cn->constBegin(); it != cn->constEnd(); ++it) {
Node *n = *it;
- if (!n->isPrivate()
- && !n->isProperty()
- && !n->isRelatedNonmember()
+ if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember()
&& !n->isSharedCommentNode())
allMembers.insert(n);
if (!documentAll && !n->hasDoc())
continue;
- //distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019
+ // distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019
}
pushBaseClasses(stack, cn);
}
@@ -999,14 +990,13 @@ void Sections::buildStdCppClassRefPageSections()
allMembers.reduce();
}
-
/*!
Build the section vectors for a standard reference page,
when the aggregate node is a QML type.
*/
void Sections::buildStdQmlTypeRefPageSections()
{
- ClassMap* classMap = nullptr;
+ ClassMap *classMap = nullptr;
SectionVector &summarySections = stdQmlTypeSummarySections();
SectionVector &detailsSections = stdQmlTypeDetailsSections();
Section &allMembers = allMembersSection();
@@ -1015,7 +1005,7 @@ void Sections::buildStdQmlTypeRefPageSections()
while (true) {
if (!qtn->isAbstract() || !classMap)
classMap = allMembers.newClassMap(qtn);
- for (auto it = qtn->constBegin(); it !=qtn->constEnd(); ++it) {
+ for (auto it = qtn->constBegin(); it != qtn->constEnd(); ++it) {
Node *n = *it;
if (n->isInternal())
continue;
@@ -1028,8 +1018,7 @@ void Sections::buildStdQmlTypeRefPageSections()
}
if (qtn->qmlBaseNode() == qtn) {
qDebug() << "qdoc internal error: circular type definition."
- << "QML type" << qtn->name()
- << "can't be its own base type";
+ << "QML type" << qtn->name() << "can't be its own base type";
qtn = nullptr;
break;
}
@@ -1052,8 +1041,7 @@ void Sections::buildStdQmlTypeRefPageSections()
}
if (qtn->qmlBaseNode() == qtn) {
qDebug() << "qdoc internal error: circular type definition."
- << "QML type" << qtn->name()
- << "can't be its own base type";
+ << "QML type" << qtn->name() << "can't be its own base type";
qtn = nullptr;
break;
}
@@ -1070,7 +1058,8 @@ void Sections::buildStdQmlTypeRefPageSections()
have not been modified. Otherwise, both vectors will contain pointers
to the sections that contain obsolete members.
*/
-bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, SectionPtrVector *details_spv) const
+bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv,
+ SectionPtrVector *details_spv) const
{
const SectionVector *sections = nullptr;
if (aggregate_->isClassNode())
@@ -1096,5 +1085,4 @@ bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, SectionPtrVecto
return !summary_spv->isEmpty();
}
-
QT_END_NAMESPACE