summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-01-28 19:55:52 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-01-28 19:55:52 (GMT)
commite468a6944f24152080c2a9b322c6623bfff208b4 (patch)
tree989a20bb626873af480d9698838dfbbcfee2d42b /src
parent5e815d8f3dd1cad071a6152b458c08f197bb00d2 (diff)
downloadDoxygen-e468a6944f24152080c2a9b322c6623bfff208b4.zip
Doxygen-e468a6944f24152080c2a9b322c6623bfff208b4.tar.gz
Doxygen-e468a6944f24152080c2a9b322c6623bfff208b4.tar.bz2
issue #7508: TYPEDEF_HIDES_STRUCT stopped working properly
Diffstat (limited to 'src')
-rw-r--r--src/scanner.l8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/scanner.l b/src/scanner.l
index b97eeb4..900933d 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -1427,7 +1427,6 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
yyextra->isTypedef=decl.find("typedef")!=-1;
bool isConst=decl.find("const")!=-1;
bool isVolatile=decl.find("volatile")!=-1;
- uint64 spec = yyextra->current->spec;
yyextra->current->section = Entry::CLASS_SEC ;
// preserve UNO IDL & Inline attributes, Slice local
yyextra->current->spec = Entry::Struct |
@@ -3615,10 +3614,8 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
yyextra->current->name = yyextra->current->name.left(split_point);
if (!yyextra->current_root->name.isEmpty()) yyextra->current->name.prepend(yyextra->current_root->name+"::");
- std::shared_ptr<Entry> tmp = yyextra->current;
yyextra->current_root->moveToSubEntryAndKeep(yyextra->current);
- yyextra->current_root = tmp;
-
+ yyextra->current_root = yyextra->current;
yyextra->current = new_current;
}
// restore documentation values
@@ -3662,7 +3659,8 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
else
{
yyextra->memspecEntry = yyextra->current;
- yyextra->current_root->copyToSubEntry( yyextra->current ) ;
+ yyextra->current_root->moveToSubEntryAndKeep( yyextra->current ) ;
+ yyextra->current = std::make_shared<Entry>(*yyextra->current);
if (yyextra->current->section==Entry::NAMESPACE_SEC ||
(yyextra->current->spec==Entry::Interface) ||
yyextra->insideJava || yyextra->insidePHP || yyextra->insideCS || yyextra->insideD || yyextra->insideJS ||