summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-02-01 13:59:42 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-02-01 13:59:42 (GMT)
commite0e5c8556b4713e7dad60537658cd411f8dfd858 (patch)
tree95791f3a49cf176781e5089ddcf643f2aa8e93a1 /src/doxygen.cpp
parent5d7d90c39506fb7a19514dc4abd540018deeaaf6 (diff)
downloadDoxygen-e0e5c8556b4713e7dad60537658cd411f8dfd858.zip
Doxygen-e0e5c8556b4713e7dad60537658cd411f8dfd858.tar.gz
Doxygen-e0e5c8556b4713e7dad60537658cd411f8dfd858.tar.bz2
Release-1.3-rc3
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);