summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-12-24 14:01:53 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-12-24 14:01:53 (GMT)
commitc5ffcd673f5fca4f9af96f92a0184ce287599a0f (patch)
tree091554be266c67e9b39da0e27ffdec8c109117b7
parent4a627283263247deccc125d072f23d93057b8a65 (diff)
downloadDoxygen-c5ffcd673f5fca4f9af96f92a0184ce287599a0f.zip
Doxygen-c5ffcd673f5fca4f9af96f92a0184ce287599a0f.tar.gz
Doxygen-c5ffcd673f5fca4f9af96f92a0184ce287599a0f.tar.bz2
issue #8050: Artificial classDef confuses getCanonicalTypeForIdentifier()
-rw-r--r--src/doxygen.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 0f06d8f..9b3dcb0 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -753,6 +753,7 @@ static Definition *buildScopeFromQualifiedName(const QCString name,
tagInfo?tagInfo->tagName:QCString(),
tagInfo?tagInfo->fileName:QCString()))));
newNd->setLanguage(lang);
+ newNd->setArtificial(TRUE);
// add namespace to the list
innerScope = newNd;
@@ -4512,6 +4513,7 @@ static bool findClassRelation(
ClassDef::Class))));
if (isArtificial) baseClass->setArtificial(TRUE);
baseClass->setLanguage(root->lang);
+
}
}
else
@@ -4550,7 +4552,10 @@ static bool findClassRelation(
baseClass->insertSubClass(cd,bi->prot,bi->virt,templSpec);
// the undocumented base was found in this file
baseClass->insertUsedFile(root->fileDef());
- baseClass->setOuterScope(Doxygen::globalScope);
+
+ Definition *scope = buildScopeFromQualifiedName(baseClass->name(),baseClass->name().contains("::"),root->lang,0);
+ baseClass->setOuterScope(scope);
+
if (baseClassName.right(2)=="-p")
{
baseClass->setCompoundType(ClassDef::Protocol);