Skip to content

Commit 1d674af

Browse files
committed
Avoid overwriting the member definition when using @fn, @var and friends
1 parent aa434bd commit 1d674af

File tree

5 files changed

+31
-28
lines changed

5 files changed

+31
-28
lines changed

src/doxygen.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5064,10 +5064,13 @@ static void addMemberDocs(const Entry *root,
50645064
if (md==nullptr) return;
50655065
AUTO_TRACE("scope='{}' name='{}' args='{}' funcDecl='{}' mSpec={}",
50665066
root->parent()->name,md->name(),md->argsString(),funcDecl,spec);
5067-
QCString fDecl=funcDecl;
5068-
// strip extern specifier
5069-
fDecl.stripPrefix("extern ");
5070-
md->setDefinition(fDecl);
5067+
if (!root->section.isDoc()) // @fn or @var does not need to specify the complete definition, so don't overwrite it
5068+
{
5069+
QCString fDecl=funcDecl;
5070+
// strip extern specifier
5071+
fDecl.stripPrefix("extern ");
5072+
md->setDefinition(fDecl);
5073+
}
50715074
applyMemberOverrideOptions(root,md);
50725075
md->addQualifiers(root->qualifiers);
50735076
ClassDefMutable *cd=md->getClassDefMutable();

testing/018/018__def_8c.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@
5757
</memberdef>
5858
</sectiondef>
5959
<sectiondef kind="typedef">
60-
<memberdef kind="typedef" id="018__def_8c_1a1d1cfd8ffb84e947f82999c682b666a7" prot="public" static="no">
60+
<memberdef kind="typedef" id="018__def_8c_1acf326bb477a5bcb5ca69d535da296189" prot="public" static="no">
6161
<type>int</type>
62-
<definition>Type</definition>
62+
<definition>typedef int Type</definition>
6363
<argsstring/>
6464
<name>Type</name>
6565
<briefdescription>
@@ -73,9 +73,9 @@
7373
</memberdef>
7474
</sectiondef>
7575
<sectiondef kind="var">
76-
<memberdef kind="variable" id="018__def_8c_1a335628f2e9085305224b4f9cc6e95ed5" prot="public" static="no" mutable="no">
76+
<memberdef kind="variable" id="018__def_8c_1a96c77f9f3a7baec84b9b8add26a31787" prot="public" static="no" mutable="no">
7777
<type>int</type>
78-
<definition>var</definition>
78+
<definition>int var</definition>
7979
<argsstring/>
8080
<name>var</name>
8181
<initializer>= 10</initializer>
@@ -90,9 +90,9 @@
9090
</memberdef>
9191
</sectiondef>
9292
<sectiondef kind="func">
93-
<memberdef kind="function" id="018__def_8c_1aee50dbe7d43d2202b490a6977a325584" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
93+
<memberdef kind="function" id="018__def_8c_1aa8f34da24a80c3b3c98faf7809a07a9e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
9494
<type>void</type>
95-
<definition>func</definition>
95+
<definition>void func</definition>
9696
<argsstring>(int)</argsstring>
9797
<name>func</name>
9898
<param>
@@ -107,9 +107,9 @@
107107
</inbodydescription>
108108
<location file="018_def.c" line="10" column="6" bodyfile="018_def.c" bodystart="10" bodyend="10"/>
109109
</memberdef>
110-
<memberdef kind="function" id="018__def_8c_1a2652ccbfb85efa2df3c70ba6c4628f8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
110+
<memberdef kind="function" id="018__def_8c_1adf3f1249a79d3272ac196dd90d6b23aa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
111111
<type>void</type>
112-
<definition>func</definition>
112+
<definition>void func</definition>
113113
<argsstring>(int, const char *)</argsstring>
114114
<name>func</name>
115115
<param>

testing/100/group___a.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<memberdef kind="enum" id="group___a_1gaa57b8491d1d8fc1014dd54bcf83b130a" prot="public" static="no" strong="no">
1010
<type/>
1111
<name>E</name>
12-
<enumvalue id="group___a_1ggaa57b8491d1d8fc1014dd54bcf83b130aac7b0fd14a12d3b1941ee5f10c795c648" prot="public">
12+
<enumvalue id="group___a_1ggaa57b8491d1d8fc1014dd54bcf83b130aa42a4ade1acd55a49164099104990e09f" prot="public">
1313
<name>A</name>
1414
<briefdescription>
1515
<para>A in <ref refid="100__a_8c" kindref="compound">100_a.c</ref>. </para>
@@ -18,7 +18,7 @@
1818
<para>More for A in <ref refid="100__a_8c" kindref="compound">100_a.c</ref> from <ref refid="more__100__c_8c" kindref="compound">more_100_c.c</ref>. </para>
1919
</detaileddescription>
2020
</enumvalue>
21-
<enumvalue id="group___a_1ggaa57b8491d1d8fc1014dd54bcf83b130aa1d5389f0fe7d7497267c2a70ae6a4881" prot="public">
21+
<enumvalue id="group___a_1ggaa57b8491d1d8fc1014dd54bcf83b130aa3f2a77ecd272aa6d6b5902faa5e5fc68" prot="public">
2222
<name>B</name>
2323
<briefdescription>
2424
<para>B in <ref refid="100__a_8c" kindref="compound">100_a.c</ref>. </para>
@@ -39,9 +39,9 @@
3939
</memberdef>
4040
</sectiondef>
4141
<sectiondef kind="typedef">
42-
<memberdef kind="typedef" id="group___a_1ga4ed70e44cd9d80a2082e1ae033eb7fc3" prot="public" static="no">
42+
<memberdef kind="typedef" id="group___a_1ga5a6fd16639bb7ebdbd75952dc246cf51" prot="public" static="no">
4343
<type>struct <ref refid="structs" kindref="compound">s</ref></type>
44-
<definition>struct s T</definition>
44+
<definition>typedef struct s T</definition>
4545
<argsstring/>
4646
<name>T</name>
4747
<briefdescription>
@@ -56,9 +56,9 @@
5656
</memberdef>
5757
</sectiondef>
5858
<sectiondef kind="var">
59-
<memberdef kind="variable" id="group___a_1ga7e98b8a17c0aad30ba64d47b74e2a6c1" prot="public" static="no" mutable="no">
59+
<memberdef kind="variable" id="group___a_1gacb559820d9ca11295b4500f179ef6392" prot="public" static="no" mutable="no">
6060
<type>int</type>
61-
<definition>i</definition>
61+
<definition>int i</definition>
6262
<argsstring/>
6363
<name>i</name>
6464
<briefdescription>
@@ -71,9 +71,9 @@
7171
</inbodydescription>
7272
<location file="100_a.c" line="81" column="5" bodyfile="100_a.c" bodystart="81" bodyend="-1"/>
7373
</memberdef>
74-
<memberdef kind="variable" id="group___a_1gabf2bc2545a4a5f5683d9ef3ed0d977e0" prot="public" static="yes" mutable="no">
74+
<memberdef kind="variable" id="group___a_1ga37d972ae0b47b9099e30983131d31916" prot="public" static="yes" mutable="no">
7575
<type>int</type>
76-
<definition>j</definition>
76+
<definition>int j</definition>
7777
<argsstring/>
7878
<name>j</name>
7979
<briefdescription>

testing/100/group___b.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<memberdef kind="enum" id="group___b_1gaa57b8491d1d8fc1014dd54bcf83b130a" prot="public" static="no" strong="no">
99
<type/>
1010
<name>E</name>
11-
<enumvalue id="group___b_1ggaa57b8491d1d8fc1014dd54bcf83b130aac7b0fd14a12d3b1941ee5f10c795c648" prot="public">
11+
<enumvalue id="group___b_1ggaa57b8491d1d8fc1014dd54bcf83b130aa42a4ade1acd55a49164099104990e09f" prot="public">
1212
<name>A</name>
1313
<briefdescription>
1414
<para>A in <ref refid="more__100__b_8c" kindref="compound">more_100_b.c</ref>. </para>
@@ -17,7 +17,7 @@
1717
<para>More for A in <ref refid="more__100__b_8c" kindref="compound">more_100_b.c</ref> from <ref refid="more__100__c_8c" kindref="compound">more_100_c.c</ref>. </para>
1818
</detaileddescription>
1919
</enumvalue>
20-
<enumvalue id="group___b_1ggaa57b8491d1d8fc1014dd54bcf83b130aa1d5389f0fe7d7497267c2a70ae6a4881" prot="public">
20+
<enumvalue id="group___b_1ggaa57b8491d1d8fc1014dd54bcf83b130aa3f2a77ecd272aa6d6b5902faa5e5fc68" prot="public">
2121
<name>B</name>
2222
<briefdescription>
2323
<para>B in <ref refid="more__100__b_8c" kindref="compound">more_100_b.c</ref>. </para>
@@ -38,9 +38,9 @@
3838
</memberdef>
3939
</sectiondef>
4040
<sectiondef kind="typedef">
41-
<memberdef kind="typedef" id="group___b_1ga4ed70e44cd9d80a2082e1ae033eb7fc3" prot="public" static="no">
41+
<memberdef kind="typedef" id="group___b_1ga5a6fd16639bb7ebdbd75952dc246cf51" prot="public" static="no">
4242
<type>struct <ref refid="structs" kindref="compound">s</ref></type>
43-
<definition>struct s T</definition>
43+
<definition>typedef struct s T</definition>
4444
<argsstring/>
4545
<name>T</name>
4646
<briefdescription>
@@ -55,9 +55,9 @@
5555
</memberdef>
5656
</sectiondef>
5757
<sectiondef kind="var">
58-
<memberdef kind="variable" id="group___b_1ga7e98b8a17c0aad30ba64d47b74e2a6c1" prot="public" static="yes" mutable="no">
58+
<memberdef kind="variable" id="group___b_1gacb559820d9ca11295b4500f179ef6392" prot="public" static="yes" mutable="no">
5959
<type>int</type>
60-
<definition>i</definition>
60+
<definition>int i</definition>
6161
<argsstring/>
6262
<name>i</name>
6363
<briefdescription>

testing/100/group___d.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
<type/>
1010
<name>ED</name>
1111
<qualifiedname>NS::ED</qualifiedname>
12-
<enumvalue id="group___d_1gaa48c7d518127686d87b3be640e03f505a94ee7e7f82d8a53f2853783964f93769" prot="public">
12+
<enumvalue id="group___d_1gaa48c7d518127686d87b3be640e03f505a26d0194cad20fe68cbd84e179aad417c" prot="public">
1313
<name>ED1</name>
1414
<briefdescription>
1515
</briefdescription>
1616
<detaileddescription>
1717
<para>Enumerator ED1. </para>
1818
</detaileddescription>
1919
</enumvalue>
20-
<enumvalue id="group___d_1gaa48c7d518127686d87b3be640e03f505afbd72f13da84f11a306dcbadbf382543" prot="public">
20+
<enumvalue id="group___d_1gaa48c7d518127686d87b3be640e03f505ae708495fb11eaeafbebdbf9bb4904b20" prot="public">
2121
<name>ED2</name>
2222
<briefdescription>
2323
</briefdescription>

0 commit comments

Comments
 (0)