summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-05-09 14:42:08 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-05-09 14:42:08 (GMT)
commit0bdb8850670597765d5513cbba5deee2ccf91f2a (patch)
tree67bb75677cc0d3b42c9c848396e5d20a91fbf35e /src/doxygen.cpp
parent11e10539e3e33e486cc71fe06cef5c09ee86697f (diff)
downloadDoxygen-0bdb8850670597765d5513cbba5deee2ccf91f2a.zip
Doxygen-0bdb8850670597765d5513cbba5deee2ccf91f2a.tar.gz
Doxygen-0bdb8850670597765d5513cbba5deee2ccf91f2a.tar.bz2
Combined logic in a single expression
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 820b8fc..41d7b0a 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -3020,10 +3020,13 @@ static void addMethodToClass(const Entry *root,ClassDef *cd,
// strip redundant template specifier for constructors
int j = -1;
if ((fd==0 || fd->getLanguage()==SrcLangExt_Cpp) &&
- name.left(9)!="operator " && (i=name.find('<'))!=-1 && (j=name.find('>'))!=-1)
+ name.left(9)!="operator " && // not operator
+ (i=name.find('<'))!=-1 && // containing <
+ (j=name.find('>'))!=-1 && // or >
+ (j!=i+2 || name.at(i+1)!='=') // but not the C++20 spaceship operator <=>
+ )
{
- // only remove incase not three way comparison operator / spaceship operator: <=>
- if (!((j == i+2) && (name.at(i+1) == '='))) name=name.left(i);
+ name=name.left(i);
}
QCString fileName = root->fileName;