summaryrefslogtreecommitdiffstats
path: root/src/pre.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-08 20:10:56 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-08 20:10:56 (GMT)
commit369e821fc6870e9e6b30aa13d59592c12c760800 (patch)
tree466f2dbaefc79f48639197b46ac07c7d426b277a /src/pre.l
parent7ea3bb2e16facf7befa820e4f1ce43872d335554 (diff)
downloadDoxygen-369e821fc6870e9e6b30aa13d59592c12c760800.zip
Doxygen-369e821fc6870e9e6b30aa13d59592c12c760800.tar.gz
Doxygen-369e821fc6870e9e6b30aa13d59592c12c760800.tar.bz2
Replaced MemberNameSDict by MemberNameLinkedMap based on LinkedMap
Diffstat (limited to 'src/pre.l')
-rw-r--r--src/pre.l15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/pre.l b/src/pre.l
index a74cbfd..3e3d2f8 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -2797,10 +2797,10 @@ static void addDefine(yyscan_t yyscanner)
//printf("addDefine '%s' '%s'\n",state->defName.data(),state->defArgsStr.data());
//ArgumentList *al = new ArgumentList;
//stringToArgumentList(state->defArgsStr,al);
- MemberDef *md=createMemberDef(
+ std::unique_ptr<MemberDef> md { createMemberDef(
state->yyFileName,state->yyLineNr-state->yyMLines,state->yyColNr,
"#define",state->defName,state->defArgsStr,0,
- Public,Normal,FALSE,Member,MemberType_Define,ArgumentList(),ArgumentList(),"");
+ Public,Normal,FALSE,Member,MemberType_Define,ArgumentList(),ArgumentList(),"") };
if (!state->defArgsStr.isEmpty())
{
ArgumentList argList;
@@ -2838,17 +2838,12 @@ static void addDefine(yyscan_t yyscanner)
md->setFileDef(state->inputFileDef);
md->setDefinition("#define "+state->defName);
- MemberName *mn=Doxygen::functionNameSDict->find(state->defName);
- if (mn==0)
- {
- mn = new MemberName(state->defName);
- Doxygen::functionNameSDict->append(state->defName,mn);
- }
- mn->append(md);
+ MemberName *mn=Doxygen::functionNameLinkedMap->add(state->defName);
if (state->yyFileDef)
{
- state->yyFileDef->insertMember(md);
+ state->yyFileDef->insertMember(md.get());
}
+ mn->push_back(std::move(md));
}
static inline void outputChar(yyscan_t yyscanner,char c)