diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-02-02 09:06:12 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-02-02 09:06:12 (GMT) |
commit | 2faf90d076b3e1ec2d13597341cb8220fe15be9f (patch) | |
tree | 0c8068cb8a79b31d6c03b3cf48af2ec57afda98b | |
parent | 59fc1a94e84278dedc80569b72756f336a705693 (diff) | |
download | Doxygen-2faf90d076b3e1ec2d13597341cb8220fe15be9f.zip Doxygen-2faf90d076b3e1ec2d13597341cb8220fe15be9f.tar.gz Doxygen-2faf90d076b3e1ec2d13597341cb8220fe15be9f.tar.bz2 |
issue #7544 [Regression 1.8.17] Recursion when computing class usage relations
-rw-r--r-- | src/util.cpp | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/src/util.cpp b/src/util.cpp index 260ee01..9309b63 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6340,7 +6340,7 @@ QCString substituteTemplateArgumentsInString( // name.data(),argListToString(formalArgs).data(),argListToString(actualArgs).data()); if (formalArgs.empty()) return name; QCString result; - static QRegExp re("[a-z_A-Z\\x80-\\xFF][a-z_A-Z0-9\\x80-\\xFF]*"); + static QRegExp re("[a-z_A-Z\\x80-\\xFF][a-z_A-Z0-9:\\x80-\\xFF]*"); int p=0,l,i; // for each identifier in the base class name (e.g. B<T> -> B and T) while ((i=re.match(name,p,&l))!=-1) @@ -6378,8 +6378,8 @@ QCString substituteTemplateArgumentsInString( { //printf("n=%s formArg->type='%s' formArg->name='%s' formArg->defval='%s'\n", // n.data(),formArg->type.data(),formArg->name.data(),formArg->defval.data()); - //printf(">> formArg->name='%s' actArg->type='%s' actArg->name='%s'\n", - // formArg->name.data(),actArg ? actArg->type.data() : "",actArg ? actArg->name.data() : "" + //printf(">> n='%s' formArg->name='%s' actArg->type='%s' actArg->name='%s'\n", + // n.data(),formArg.name.data(),actIt!=actualArgs.end() ? actIt->type.data() : "",actIt!=actualArgs.end() ? actIt->name.data() : "" // ); if (formArg.name==n && actIt!=actualArgs.end() && !actArg.type.isEmpty()) // base class is a template argument { @@ -6441,24 +6441,6 @@ QCString substituteTemplateArgumentsInString( return result.stripWhiteSpace(); } -#if 0 -/*! Makes a deep copy of the list of argument lists \a srcLists. - * Will allocate memory, that is owned by the caller. - */ -QList<ArgumentList> *copyArgumentLists(const QList<ArgumentList> *srcLists) -{ - ASSERT(srcLists!=0); - QList<ArgumentList> *dstLists = new QList<ArgumentList>; - dstLists->setAutoDelete(TRUE); - QListIterator<ArgumentList> sli(*srcLists); - ArgumentList *sl; - for (;(sl=sli.current());++sli) - { - dstLists->append(sl->deepCopy()); - } - return dstLists; -} -#endif /*! Strips template specifiers from scope \a fullName, except those * that make up specialized classes. The switch \a parentOnly |