diff options
11 files changed, 77 insertions, 2 deletions
diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index c58e302d7..0d92d240d 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -283,9 +283,7 @@ void Section::reduce() { if (!isEmpty()) { keys_ = memberMap_.keys(); - obsoleteKeys_ = obsoleteMemberMap_.keys(); members_ = memberMap_.values().toVector(); - obsoleteMembers_ = obsoleteMemberMap_.values().toVector(); reimplementedMembers_ = reimplementedMemberMap_.values().toVector(); for (int i = 0; i < classMapList_.size(); i++) { ClassMap *cm = classMapList_[i]; @@ -296,6 +294,10 @@ void Section::reduce() classKeysNodesList_.append(ckn); } } + if (!obsoleteMemberMap_.isEmpty()) { + obsoleteKeys_ = obsoleteMemberMap_.keys(); + obsoleteMembers_ = obsoleteMemberMap_.values().toVector(); + } } /*! diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml index ced1bea5b..0ceeb351c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml @@ -76,4 +76,28 @@ </db:methodsynopsis> <db:para>Reimplements: <db:link xlink:href="testqdoc-test.xml#virtualFun" type="function">Test::virtualFun()</db:link>.</db:para> </db:section> +<db:section xml:id="obsolete"> +<db:title>Obsolete Members for TestDerived</db:title> +<db:para><db:emphasis role="bold">The following members of class <db:link xlink:href="testqdoc-testderived.xml">TestDerived</db:link> are obsolete.</db:emphasis> They are provided to keep old source code working. We strongly advise against using them in new code.</db:para> +<db:section xml:id="member-function-documentation"> +<db:title>Member Function Documentation</db:title> +<db:section xml:id="staticObsoleteMember"> +<db:title>[static] TestDerived::void staticObsoleteMember()</db:title> +<db:methodsynopsis> +<db:modifier>static</db:modifier> +<db:void/> +<db:methodname>staticObsoleteMember</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void staticObsoleteMember()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">obsolete</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.</db:para> +<db:para>Static obsolete method.</db:para> +</db:section> +</db:section> +</db:section> </db:section></db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp b/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp index 098200a95..2003f97a1 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp +++ b/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp @@ -14,6 +14,7 @@ </section> <section ref="testqdoc-testderived.html" title="TestQDoc::TestDerived Class Reference"> <section ref="testqdoc-testderived-members.html" title="List of all members"/> + <section ref="testqdoc-testderived-obsolete.html" title="Obsolete members"/> </section> </section> </section> @@ -37,6 +38,7 @@ <keyword name="overload" id="Test::overload" ref="testqdoc-test.html#overload"/> <keyword name="someFunction" id="Test::someFunction" ref="testqdoc-test.html#someFunction"/> <keyword name="someFunctionDefaultArg" id="Test::someFunctionDefaultArg" ref="testqdoc-test.html#someFunctionDefaultArg"/> + <keyword name="staticObsoleteMember" id="TestDerived::staticObsoleteMember" ref="testqdoc-testderived-obsolete.html#staticObsoleteMember"/> <keyword name="virtualFun" id="Test::virtualFun" ref="testqdoc-test.html#virtualFun"/> <keyword name="virtualFun" id="TestDerived::virtualFun" ref="testqdoc-testderived.html#virtualFun"/> </keywords> @@ -48,6 +50,7 @@ <file>testqdoc-test-obsolete.html</file> <file>testqdoc-test.html</file> <file>testqdoc-testderived-members.html</file> + <file>testqdoc-testderived-obsolete.html</file> <file>testqdoc-testderived.html</file> <file>testqdoc.html</file> </files> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml index 7711b09df..4fe2a5627 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml @@ -5,6 +5,11 @@ <description> <brief>A derived class in a namespace.</brief> </description> + <function name="staticObsoleteMember" fullname="TestQDoc::TestDerived::staticObsoleteMember" href="testqdoc-testderived-obsolete.html#staticObsoleteMember" status="obsolete" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="true" final="false" override="false" type="void" signature="void staticObsoleteMember()"> + <description> + <para>Static obsolete method.</para> + </description> + </function> <function name="virtualFun" fullname="TestQDoc::TestDerived::virtualFun" href="testqdoc-testderived.html#virtualFun" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="virtual" const="false" static="false" final="false" override="true" type="void" signature="void virtualFun() override"> <description/> </function> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/test.qhp b/tests/auto/qdoc/generatedoutput/expected_output/test.qhp index 3f3a78968..1ea93d57b 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/test.qhp +++ b/tests/auto/qdoc/generatedoutput/expected_output/test.qhp @@ -22,6 +22,7 @@ </section> <section ref="testqdoc-testderived.html" title="TestQDoc::TestDerived Class Reference"> <section ref="testqdoc-testderived-members.html" title="List of all members"/> + <section ref="testqdoc-testderived-obsolete.html" title="Obsolete members"/> </section> </section> <section ref="uicomponents-qmlmodule.html" title="QML Types"> @@ -104,6 +105,7 @@ <keyword name="secondColor" id="ProgressBar::secondColor" ref="qml-uicomponents-progressbar.html#secondColor-prop"/> <keyword name="someFunction" id="Test::someFunction" ref="testqdoc-test.html#someFunction"/> <keyword name="someFunctionDefaultArg" id="Test::someFunctionDefaultArg" ref="testqdoc-test.html#someFunctionDefaultArg"/> + <keyword name="staticObsoleteMember" id="TestDerived::staticObsoleteMember" ref="testqdoc-testderived-obsolete.html#staticObsoleteMember"/> <keyword name="toggle" id="Switch::toggle" ref="qml-uicomponents-switch.html#toggle-method"/> <keyword name="type" id="Type::type" ref="qml-qdoc-test-type.html#type-attached-prop"/> <keyword name="value" id="ProgressBar::value" ref="qml-uicomponents-progressbar.html#value-prop"/> @@ -141,6 +143,7 @@ <file>testqdoc-test-obsolete.html</file> <file>testqdoc-test.html</file> <file>testqdoc-testderived-members.html</file> + <file>testqdoc-testderived-obsolete.html</file> <file>testqdoc-testderived.html</file> <file>testqdoc.html</file> <file>uicomponents-qmlmodule.html</file> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index index 3c0a54885..292efaf4e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index @@ -32,6 +32,7 @@ <typedef name="SomeType" fullname="TestQDoc::Test::SomeType" href="testqdoc-test.html#SomeType-typedef" status="active" access="public" location="testcpp.h" documented="true"/> </class> <class name="TestDerived" fullname="TestQDoc::TestDerived" href="testqdoc-testderived.html" status="active" access="public" location="testcpp.h" documented="true" bases="TestQDoc::Test" module="TestCPP" brief="A derived class in a namespace"> + <function name="staticObsoleteMember" fullname="TestQDoc::TestDerived::staticObsoleteMember" href="testqdoc-testderived-obsolete.html#staticObsoleteMember" status="obsolete" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="true" final="false" override="false" type="void" signature="void staticObsoleteMember()"/> <function name="virtualFun" fullname="TestQDoc::TestDerived::virtualFun" href="testqdoc-testderived.html#virtualFun" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="virtual" const="false" static="false" final="false" override="true" type="void" signature="void virtualFun() override"/> <alias name="DerivedType" fullname="TestQDoc::TestDerived::DerivedType" href="testqdoc-testderived.html#DerivedType-alias" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="Test::SomeType"/> <alias name="NotTypedef" fullname="TestQDoc::TestDerived::NotTypedef" href="testqdoc-testderived.html#NotTypedef-alias" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="int"/> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-obsolete.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-obsolete.html new file mode 100644 index 000000000..d35dd5837 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-obsolete.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> +<!-- testcpp.cpp --> + <title>Obsolete Members for TestDerived | TestCPP</title> +</head> +<body> +<li>TestDerived</li> +<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div> +<h1 class="title">Obsolete Members for TestDerived</h1> +<p><b>The following members of class <a href="testqdoc-testderived.html">TestDerived</a> are obsolete.</b> They are provided to keep old source code working. We strongly advise against using them in new code.</p> +<h2>Static Public Members</h2> +<div class="table"><table class="alignedsummary"> +<tr><td class="memItemLeft topAlign rightAlign"> <code>(obsolete) </code>void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived-obsolete.html#staticObsoleteMember">staticObsoleteMember</a></b>()</td></tr> +</table></div> +<h2>Member Function Documentation</h2> +<!-- $$$staticObsoleteMember[overload1]$$$staticObsoleteMember --> +<h3 class="fn" id="staticObsoleteMember"><a name="staticObsoleteMember"></a><code>[static] </code><span class="type">void</span> TestDerived::<span class="name">staticObsoleteMember</span>()</h3> +<p>This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.</p> +<p>Static obsolete method.</p> +<!-- @@@staticObsoleteMember --> +</body> +</html> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html index d3bd69b50..bfbc272f5 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html @@ -26,6 +26,7 @@ <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <TestDerived></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += testcpp</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="testqdoc-test.html">TestQDoc::Test</a></td></tr></table></div><ul> <li><a href="testqdoc-testderived-members.html">List of all members, including inherited members</a></li> +<li><a href="testqdoc-testderived-obsolete.html">Obsolete members</a></li> </ul> <a name="public-types"></a> <h2 id="public-types">Public Types</h2> diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp index 2f6cd8805..98c8514dd 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp @@ -188,6 +188,16 @@ void TestDerived::virtualFun() */ /*! + \obsolete + + Static obsolete method. +*/ +void TestDerived::staticObsoleteMember() +{ + return; +} + +/*! \if defined(test_template) \fn template <typename T1, typename T2> void TestQDoc::Test::funcTemplate(T1 a, T2 b) \brief Function template with two parameters, \a a and \a b. diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h index b3dc3df2a..c293638a1 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h @@ -74,6 +74,7 @@ public: using DerivedType = Test::SomeType; using NotTypedef = int; void virtualFun() override; + static void staticObsoleteMember(); }; } // namespace TestQDoc diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index a83ba337f..712050ea1 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -220,6 +220,7 @@ void tst_generatedOutput::htmlFromCpp() "testqdoc-test-members.html " "testqdoc-testderived.html " "testqdoc-testderived-members.html " + "testqdoc-testderived-obsolete.html " "testqdoc.html"); } |