summaryrefslogtreecommitdiffstats
path: root/src/classdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-24 06:27:22 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-24 07:03:09 (GMT)
commit9e2b6a2dac870b5daabde118c5327281e3f79ba2 (patch)
tree39e49bae6eeb116f19be64a19eb9d3ff26a6c36c /src/classdef.cpp
parentcd581388f3d013c501e3cefbaf3e81cf93d46fcb (diff)
downloadDoxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.zip
Doxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.tar.gz
Doxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.tar.bz2
Performance improvements after profiling
In some cases performance dropped when upgrading from version 1.8.16 to 1.8.17 or 1.8.18. With these changes the performance should be back to normal again.
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r--src/classdef.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 52d2f49..5670109 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -3665,8 +3665,8 @@ void ClassDefImpl::mergeMembers()
ArgumentList &srcAl = srcMd->argumentList();
ArgumentList &dstAl = dstMd->argumentList();
found=matchArguments2(
- srcMd->getOuterScope(),srcMd->getFileDef(),srcAl,
- dstMd->getOuterScope(),dstMd->getFileDef(),dstAl,
+ srcMd->getOuterScope(),srcMd->getFileDef(),&srcAl,
+ dstMd->getOuterScope(),dstMd->getFileDef(),&dstAl,
TRUE
);
//printf(" Yes, matching (%s<->%s): %d\n",
@@ -4254,11 +4254,10 @@ void ClassDefImpl::addMembersToTemplateInstance(const ClassDef *cd,const char *t
MemberInfo *mi;
for (mnii.toFirst();(mi=mnii.current());++mnii)
{
- ArgumentList actualArguments;
- stringToArgumentList(getLanguage(),templSpec,actualArguments);
+ auto actualArguments_p = stringToArgumentList(getLanguage(),templSpec);
MemberDef *md = mi->memberDef;
std::unique_ptr<MemberDef> imd { md->createTemplateInstanceMember(
- cd->templateArguments(),actualArguments) };
+ cd->templateArguments(),actualArguments_p) };
//printf("%s->setMemberClass(%p)\n",imd->name().data(),this);
imd->setMemberClass(this);
imd->setTemplateMaster(md);