summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-02-10 12:31:40 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-02-10 12:31:40 (GMT)
commit95fd5f1c991ee66f7122801276a133ebfce86aaa (patch)
treeb6882cdef0c60182168c8c11e298dcd76cc02bbc /src/doxygen.cpp
parent38c6a14b15d87348076be142abea8663009ace82 (diff)
downloadDoxygen-95fd5f1c991ee66f7122801276a133ebfce86aaa.zip
Doxygen-95fd5f1c991ee66f7122801276a133ebfce86aaa.tar.gz
Doxygen-95fd5f1c991ee66f7122801276a133ebfce86aaa.tar.bz2
Release-1.5.5
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp54
1 files changed, 49 insertions, 5 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 0d163cd..f66be45 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -2482,6 +2482,44 @@ static void buildVarList(EntryNav *rootNav)
else
mtype=MemberDef::Variable;
+#if 0 // does not work correctly
+ //static bool typedefHidesStruct = Config_getBool("TYPEDEF_HIDES_STRUCT");
+ if (typedefHidesStruct) // substitute names with typedef'ed names
+ {
+ QCString baseType = type;
+ baseType.stripPrefix("typedef ");
+ if (baseType.stripPrefix("enum "))
+ {
+ MemberName *mn=Doxygen::functionNameSDict->find(baseType.stripWhiteSpace());
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
+ for (mni.toFirst();(md=mni.current());++mni)
+ {
+ if (md->isEnumerate())
+ {
+ md->setName(name);
+ md->setDefinition(name);
+ goto nextMember;
+ }
+ }
+ }
+ else
+ {
+ baseType.stripPrefix("struct ");
+ baseType.stripPrefix("union ");
+ {
+ ClassDef *typedefClass = Doxygen::classSDict->find(baseType);
+ if (typedefClass)
+ {
+ typedefClass->setName(name);
+ typedefClass->setClassName(name);
+ goto nextMember;
+ }
+ }
+ }
+ }
+#endif
+
if (!root->relates.isEmpty()) // related variable
{
isRelated=TRUE;
@@ -7019,7 +7057,8 @@ static void addSourceReferences()
if (fd &&
md->getStartBodyLine()!=-1 &&
md->isLinkableInProject() &&
- fd->generateSourceFile())
+ (fd->generateSourceFile() || Doxygen::parseSourcesNeeded)
+ )
{
//printf("Found member `%s' in file `%s' at line `%d' def=%s\n",
// md->name().data(),fd->name().data(),md->getStartBodyLine(),md->getOuterScope()->name().data());
@@ -7035,12 +7074,15 @@ static void addSourceReferences()
for (mni.toFirst();(md=mni.current());++mni)
{
FileDef *fd=md->getBodyDef();
- //printf("member %s body=[%d,%d] fd=%p\n",md->name().data(),
- // md->getStartBodyLine(),md->getEndBodyLine(),fd);
+ //printf("member %s body=[%d,%d] fd=%p link=%d parseSources=%d\n",
+ // md->name().data(),
+ // md->getStartBodyLine(),md->getEndBodyLine(),fd,
+ // md->isLinkableInProject(),
+ // Doxygen::parseSourcesNeeded);
if (fd &&
md->getStartBodyLine()!=-1 &&
md->isLinkableInProject() &&
- fd->generateSourceFile()
+ (fd->generateSourceFile() || Doxygen::parseSourcesNeeded)
)
{
//printf("Found member `%s' in file `%s' at line `%d' def=%s\n",
@@ -9267,7 +9309,9 @@ void checkConfiguration()
Doxygen::xrefLists->setAutoDelete(TRUE);
Doxygen::parseSourcesNeeded = Config_getBool("CALL_GRAPH") ||
- Config_getBool("CALLER_GRAPH");
+ Config_getBool("CALLER_GRAPH") ||
+ Config_getBool("REFERENCES_RELATION") ||
+ Config_getBool("REFERENCED_BY_RELATION");
}