summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2022-07-18 15:33:00 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-07-20 13:06:11 +0000
commit957602576ff9a27cc1d1e9d741e2c536c6f6530c (patch)
tree0ca77c3968ac8201448fc4a9e12a6bab73cc5fb1
parentc6a8867a84f46a38da0e2f3fea051f3dce413bf9 (diff)
Make order in tags file deterministic
Change-Id: Ic63ad2d1735c288342c5558718c7568e2961979d Reviewed-by: Luca Di Sera <luca.disera@qt.io> (cherry picked from commit faeb8d4792e0f88c3ece0c8eead1abf65996a171) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qdoc/tagfilewriter.cpp3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags218
2 files changed, 111 insertions, 110 deletions
diff --git a/src/qdoc/tagfilewriter.cpp b/src/qdoc/tagfilewriter.cpp
index 25535bc9c..7b0b61bd9 100644
--- a/src/qdoc/tagfilewriter.cpp
+++ b/src/qdoc/tagfilewriter.cpp
@@ -136,7 +136,8 @@ void TagFileWriter::generateTagFileCompounds(QXmlStreamWriter &writer, const Agg
*/
void TagFileWriter::generateTagFileMembers(QXmlStreamWriter &writer, const Aggregate *parent)
{
- const auto &childNodes = parent->childNodes();
+ auto childNodes = parent->childNodes();
+ std::sort(childNodes.begin(), childNodes.end(), Node::nodeNameLessThan);
for (const auto *node : childNodes) {
if (!node->url().isNull())
continue;
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
index 49ceccd6d..7cb8447aa 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
@@ -5,10 +5,10 @@
<filename>qml-qdoc-test-abstractparent.html</filename>
<member kind="function" protection="public" virtualness="non" static="no">
<type>void</type>
- <name>rear</name>
+ <name>name</name>
<anchorfile>qml-qdoc-test-abstractparent.html</anchorfile>
- <anchor>rear-method</anchor>
- <arglist>(Child child, var method)</arglist>
+ <anchor>name-method</anchor>
+ <arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type>void</type>
@@ -19,10 +19,10 @@
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type>void</type>
- <name>name</name>
+ <name>rear</name>
<anchorfile>qml-qdoc-test-abstractparent.html</anchorfile>
- <anchor>name-method</anchor>
- <arglist>()</arglist>
+ <anchor>rear-method</anchor>
+ <arglist>(Child child, var method)</arglist>
</member>
</compound>
<compound kind="class">
@@ -59,31 +59,31 @@
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>foo</name>
+ <name>fail</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
- <anchor>foo-signal</anchor>
- <arglist>(var bar)</arglist>
+ <anchor>fail-method</anchor>
+ <arglist>(message)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>itsHappening</name>
+ <name>fail_hard</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
- <anchor>itsHappening-signal</anchor>
- <arglist>(bool really)</arglist>
+ <anchor>fail_hard-method</anchor>
+ <arglist>(msg, option)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>fail</name>
+ <name>foo</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
- <anchor>fail-method</anchor>
- <arglist>(message)</arglist>
+ <anchor>foo-signal</anchor>
+ <arglist>(var bar)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>fail_hard</name>
+ <name>itsHappening</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
- <anchor>fail_hard-method</anchor>
- <arglist>(msg, option)</arglist>
+ <anchor>itsHappening-signal</anchor>
+ <arglist>(bool really)</arglist>
</member>
</compound>
<compound kind="class">
@@ -121,46 +121,54 @@
<compound kind="class">
<name>TestQDoc::Test</name>
<filename>testqdoc-test.html</filename>
- <member kind="typedef" type="">
- <name>SomeType</name>
- <anchorfile>testqdoc-test.html</anchorfile>
- <anchor>SomeType-typedef</anchor>
- <arglist></arglist>
- </member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>int</type>
- <name>someFunction</name>
+ <type></type>
+ <name>QDOCTEST_MACRO2</name>
<anchorfile>testqdoc-test.html</anchorfile>
- <anchor>someFunction</anchor>
- <arglist>(int, int v)</arglist>
+ <anchor>QDOCTEST_MACRO2</anchor>
+ <arglist>(int &amp;x)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>void</type>
- <name>someFunctionDefaultArg</name>
+ <type></type>
+ <name>Test</name>
<anchorfile>testqdoc-test.html</anchorfile>
- <anchor>someFunctionDefaultArg</anchor>
- <arglist>(int i, bool b)</arglist>
+ <anchor>Test</anchor>
+ <arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>void</type>
- <name>obsoleteMember</name>
+ <type>TestQDoc::Test &amp;</type>
+ <name>operator++</name>
<anchorfile>testqdoc-test-obsolete.html</anchorfile>
- <anchor>obsoleteMember</anchor>
+ <anchor>operator-2b-2b</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>void</type>
- <name>anotherObsoleteMember</name>
+ <type>TestQDoc::Test &amp;</type>
+ <name>operator--</name>
<anchorfile>testqdoc-test-obsolete.html</anchorfile>
- <anchor>anotherObsoleteMember</anchor>
+ <anchor>operator--</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>void</type>
- <name>deprecatedMember</name>
- <anchorfile>testqdoc-test-obsolete.html</anchorfile>
- <anchor>deprecatedMember</anchor>
- <arglist>()</arglist>
+ <type>TestQDoc::Test &amp;</type>
+ <name>operator=</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>operator-eq</anchor>
+ <arglist>(TestQDoc::Test &amp;&amp;other)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>bool</type>
+ <name>operator==</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>operator-eq-eq</anchor>
+ <arglist>(const TestQDoc::Test &amp;lhs, const TestQDoc::Test &amp;rhs)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>int</type>
+ <name>someFunction</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>someFunction</anchor>
+ <arglist>(int, int v)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type>void (*)(bool)</type>
@@ -170,17 +178,17 @@
<arglist>(*)(bool) funcPtr(bool b, const char *s)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>TestQDoc::Test &amp;</type>
- <name>operator++</name>
+ <type>void</type>
+ <name>anotherObsoleteMember</name>
<anchorfile>testqdoc-test-obsolete.html</anchorfile>
- <anchor>operator-2b-2b</anchor>
+ <anchor>anotherObsoleteMember</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>TestQDoc::Test &amp;</type>
- <name>operator--</name>
+ <type>void</type>
+ <name>deprecatedMember</name>
<anchorfile>testqdoc-test-obsolete.html</anchorfile>
- <anchor>operator--</anchor>
+ <anchor>deprecatedMember</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
@@ -190,19 +198,12 @@
<anchor>inlineFunction</anchor>
<arglist>()</arglist>
</member>
- <member kind="function" protection="public" virtualness="virtual" static="no">
- <type>virtual void</type>
- <name>virtualFun</name>
- <anchorfile>testqdoc-test.html</anchorfile>
- <anchor>virtualFun</anchor>
- <arglist>()</arglist>
- </member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>testqdoc-test.html</anchorfile>
- <anchor>operator-eq-eq</anchor>
- <arglist>(const TestQDoc::Test &amp;lhs, const TestQDoc::Test &amp;rhs)</arglist>
+ <type>void</type>
+ <name>obsoleteMember</name>
+ <anchorfile>testqdoc-test-obsolete.html</anchorfile>
+ <anchor>obsoleteMember</anchor>
+ <arglist>()</arglist>
</member>
<member kind="function" protection="protected" virtualness="non" static="no">
<type>void</type>
@@ -219,31 +220,44 @@
<arglist>(bool b)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>Test</name>
+ <type>void</type>
+ <name>someFunctionDefaultArg</name>
<anchorfile>testqdoc-test.html</anchorfile>
- <anchor>Test</anchor>
- <arglist>()</arglist>
+ <anchor>someFunctionDefaultArg</anchor>
+ <arglist>(int i, bool b)</arglist>
</member>
- <member kind="function" protection="public" virtualness="non" static="no">
- <type>TestQDoc::Test &amp;</type>
- <name>operator=</name>
+ <member kind="function" protection="public" virtualness="virtual" static="no">
+ <type>virtual void</type>
+ <name>virtualFun</name>
<anchorfile>testqdoc-test.html</anchorfile>
- <anchor>operator-eq</anchor>
- <arglist>(TestQDoc::Test &amp;&amp;other)</arglist>
+ <anchor>virtualFun</anchor>
+ <arglist>()</arglist>
</member>
- <member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>QDOCTEST_MACRO2</name>
+ <member kind="typedef" type="">
+ <name>SomeType</name>
<anchorfile>testqdoc-test.html</anchorfile>
- <anchor>QDOCTEST_MACRO2</anchor>
- <arglist>(int &amp;x)</arglist>
+ <anchor>SomeType-typedef</anchor>
+ <arglist></arglist>
</member>
</compound>
<compound kind="class">
<name>TestQDoc::TestDerived</name>
<filename>testqdoc-testderived.html</filename>
<base>Test</base>
+ <member kind="function" protection="public" virtualness="non" static="yes">
+ <type>void</type>
+ <name>staticObsoleteMember</name>
+ <anchorfile>testqdoc-testderived-obsolete.html</anchorfile>
+ <anchor>staticObsoleteMember</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="virtual" static="no">
+ <type>virtual void</type>
+ <name>virtualFun</name>
+ <anchorfile>testqdoc-testderived.html</anchorfile>
+ <anchor>virtualFun</anchor>
+ <arglist>() override</arglist>
+ </member>
<member kind="typedef" type="">
<name>DerivedType</name>
<anchorfile>testqdoc-testderived.html</anchorfile>
@@ -256,32 +270,11 @@
<anchor>NotTypedef-typedef</anchor>
<arglist></arglist>
</member>
- <member kind="function" protection="public" virtualness="virtual" static="no">
- <type>virtual void</type>
- <name>virtualFun</name>
- <anchorfile>testqdoc-testderived.html</anchorfile>
- <anchor>virtualFun</anchor>
- <arglist>() override</arglist>
- </member>
- <member kind="function" protection="public" virtualness="non" static="yes">
- <type>void</type>
- <name>staticObsoleteMember</name>
- <anchorfile>testqdoc-testderived-obsolete.html</anchorfile>
- <anchor>staticObsoleteMember</anchor>
- <arglist>()</arglist>
- </member>
</compound>
<compound kind="class">
<name>QDoc.Test.Type</name>
<filename>qml-qdoc-test-type.html</filename>
<member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>group.created</name>
- <anchorfile>qml-qdoc-test-type.html</anchorfile>
- <anchor>group.created-signal</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" protection="public" virtualness="non" static="no">
<type>Type</type>
<name>copy</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
@@ -290,37 +283,44 @@
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>enable</name>
+ <name>completed</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
- <anchor>enable-method</anchor>
- <arglist>()</arglist>
+ <anchor>completed-signal</anchor>
+ <arglist>(int status)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>disable</name>
+ <name>configured</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
- <anchor>disable-method</anchor>
+ <anchor>configured-signal</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>completed</name>
+ <name>deprecatedMethod</name>
+ <anchorfile>qml-qdoc-test-type-obsolete.html</anchorfile>
+ <anchor>deprecatedMethod-method</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>disable</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
- <anchor>completed-signal</anchor>
- <arglist>(int status)</arglist>
+ <anchor>disable-method</anchor>
+ <arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>configured</name>
+ <name>enable</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
- <anchor>configured-signal</anchor>
+ <anchor>enable-method</anchor>
<arglist>()</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
- <name>deprecatedMethod</name>
- <anchorfile>qml-qdoc-test-type-obsolete.html</anchorfile>
- <anchor>deprecatedMethod-method</anchor>
+ <name>group.created</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>group.created-signal</anchor>
<arglist>()</arglist>
</member>
</compound>