diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-05-09 14:42:39 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-05-09 14:42:39 (GMT) |
commit | 65b3b1210d6094cbd8da8450c2b0046fffa95c85 (patch) | |
tree | 67bb75677cc0d3b42c9c848396e5d20a91fbf35e | |
parent | 7a34f3b64b068c83bb9409d9d0774726a0fe2912 (diff) | |
parent | 0bdb8850670597765d5513cbba5deee2ccf91f2a (diff) | |
download | Doxygen-65b3b1210d6094cbd8da8450c2b0046fffa95c85.zip Doxygen-65b3b1210d6094cbd8da8450c2b0046fffa95c85.tar.gz Doxygen-65b3b1210d6094cbd8da8450c2b0046fffa95c85.tar.bz2 |
Merge branch 'albert-github-feature/issue_7747'
-rw-r--r-- | src/code.l | 2 | ||||
-rw-r--r-- | src/doctokenizer.l | 2 | ||||
-rw-r--r-- | src/doxygen.cpp | 7 | ||||
-rw-r--r-- | src/scanner.l | 2 |
4 files changed, 9 insertions, 4 deletions
@@ -396,7 +396,7 @@ CASTKW ("const_cast"|"dynamic_cast"|"reinterpret_cast"|"static_cast") CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) ARITHOP "+"|"-"|"/"|"*"|"%"|"--"|"++" ASSIGNOP "="|"*="|"/="|"%="|"+="|"-="|"<<="|">>="|"&="|"^="|"|=" -LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!" +LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!"|"<=>" BITOP "&"|"|"|"^"|"<<"|">>"|"~" OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} RAWBEGIN (u|U|L|u8)?R\"[^ \t\(\)\\]{0,16}"(" diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 7f3fbc9..5317de5 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -395,7 +395,7 @@ FUNCARG "("{FUNCPART}")"({BLANK}*("volatile"|"const"){BLANK})? FUNCARG2 "("{FUNCPART}")"({BLANK}*("volatile"|"const"))? OPNEW {BLANK}+"new"({BLANK}*"[]")? OPDEL {BLANK}+"delete"({BLANK}*"[]")? -OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" +OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"|"<=>" OPCAST {BLANK}+[^<(\r\n.,][^(\r\n.,]* OPMASK ({BLANK}*{OPNORM}{FUNCARG}) OPMASKOPT ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG}) diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 0728d8f..41d7b0a 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -3018,8 +3018,13 @@ static void addMethodToClass(const Entry *root,ClassDef *cd, else mtype=MemberType_Function; // strip redundant template specifier for constructors + int j = -1; if ((fd==0 || fd->getLanguage()==SrcLangExt_Cpp) && - name.left(9)!="operator " && (i=name.find('<'))!=-1 && 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 <=> + ) { name=name.left(i); } diff --git a/src/scanner.l b/src/scanner.l index e9cad5f..f066b5b 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -249,7 +249,7 @@ RAWBEGIN (u|U|L|u8)?R\"[^ \t\(\)\\]{0,16}"(" RAWEND ")"[^ \t\(\)\\]{0,16}\" ARITHOP "+"|"-"|"/"|"*"|"%"|"--"|"++" ASSIGNOP "="|"*="|"/="|"%="|"+="|"-="|"<<="|">>="|"&="|"^="|"|=" -LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!" +LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!"|"<=>" BITOP "&"|"|"|"^"|"<<"|">>"|"~" OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) |