summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index ba2943c..eac9b8a 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1226,6 +1226,37 @@ static void findUsingDeclImports(Entry *root)
//----------------------------------------------------------------------
+static void findIncludedUsingDirectives()
+{
+ // first mark all files as not visited
+ FileNameListIterator fnli(Doxygen::inputNameList);
+ FileName *fn;
+ for (fnli.toFirst();(fn=fnli.current());++fnli)
+ {
+ FileNameIterator fni(*fn);
+ FileDef *fd;
+ for (;(fd=fni.current());++fni)
+ {
+ fd->visited=FALSE;
+ }
+ fn=Doxygen::inputNameList.next();
+ }
+ // then recursively add using directives found in #include files
+ // to files that have not been visited.
+ for (fnli.toFirst();(fn=fnli.current());++fnli)
+ {
+ FileNameIterator fni(*fn);
+ FileDef *fd;
+ for (;(fd=fni.current());++fni)
+ {
+ if (!fd->visited) fd->addIncludedUsingDirectives();
+ }
+ fn=Doxygen::inputNameList.next();
+ }
+}
+
+//----------------------------------------------------------------------
+
static MemberDef *addVariableToClass(
Entry *root,
ClassDef *cd,
@@ -7796,6 +7827,9 @@ void parseInput()
msg("Building file list...\n");
buildFileList(root);
+ msg("Searching for included using directives...\n");
+ findIncludedUsingDirectives();
+
msg("Building class list...\n");
buildClassList(root);
buildClassDocList(root);