diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-01-28 19:55:52 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-01-28 19:55:52 (GMT) |
commit | e468a6944f24152080c2a9b322c6623bfff208b4 (patch) | |
tree | 989a20bb626873af480d9698838dfbbcfee2d42b /src | |
parent | 5e815d8f3dd1cad071a6152b458c08f197bb00d2 (diff) | |
download | Doxygen-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.l | 8 |
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 || |