diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2004-12-21 21:03:59 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2004-12-21 21:03:59 (GMT) |
commit | 04a4eddbeaa2fef70fe87a790efabe074062fadf (patch) | |
tree | 4cba2cc60a5a2a7a7965944fa0bd64213bdfa9f0 /src/docparser.cpp | |
parent | d048df9811a8686d93dc28f275a1c5c575833669 (diff) | |
download | Doxygen-04a4eddbeaa2fef70fe87a790efabe074062fadf.zip Doxygen-04a4eddbeaa2fef70fe87a790efabe074062fadf.tar.gz Doxygen-04a4eddbeaa2fef70fe87a790efabe074062fadf.tar.bz2 |
Release-1.3.9.1-20041221
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r-- | src/docparser.cpp | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp index bd25e0e..e7e970a 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -279,11 +279,24 @@ static void checkArgumentName(const QString &name,bool isParam) //printf("member type=%d\n",memberDef->memberType()); QString scope=g_memberDef->getScopeString(); if (!scope.isEmpty()) scope+="::"; else scope=""; - warn_doc_error(g_memberDef->docFile(),g_memberDef->docLine(), + QString inheritedFrom = ""; + QString docFile = g_memberDef->docFile(); + int docLine = g_memberDef->docLine(); + MemberDef *inheritedMd = g_memberDef->inheritsDocsFrom(); + if (inheritedMd) // documentation was inherited + { + inheritedFrom.sprintf(" inherited from member %s at line " + "%d in file %s",inheritedMd->name().data(), + inheritedMd->docLine(),inheritedMd->docFile().data()); + docFile = g_memberDef->getDefFileName(); + docLine = g_memberDef->getDefLine(); + + } + warn_doc_error(docFile,docLine, "Warning: argument `%s' of command @param " - "is not found in the argument list of %s%s%s", + "is not found in the argument list of %s%s%s%s", aName.data(),scope.data(),g_memberDef->name().data(), - argListToString(al).data()); + argListToString(al).data(),inheritedFrom.data()); } p=i+l; } @@ -331,7 +344,14 @@ static void checkUndocumentedParams() errMsg+=" parameter "+argName+"\n"; } } - warn_doc_error(g_memberDef->docFile(),g_memberDef->docLine(),errMsg); + if (g_memberDef->inheritsDocsFrom()) + { + warn_doc_error(g_memberDef->getDefFileName(),g_memberDef->getDefLine(),errMsg); + } + else + { + warn_doc_error(g_memberDef->docFile(),g_memberDef->docLine(),errMsg); + } } } } @@ -1597,8 +1617,16 @@ bool DocXRefItem::parse() ASSERT(item!=0); if (item) { - m_file = refList->listName(); - m_anchor = item->listAnchor; + if (g_memberDef && g_memberDef->name().at(0)=='@') + { + m_file = "@"; // can't cross reference anonymous enum + m_anchor = "@"; + } + else + { + m_file = refList->listName(); + m_anchor = item->listAnchor; + } m_title = refList->sectionTitle(); //printf("DocXRefItem: file=%s anchor=%s title=%s\n", // m_file.data(),m_anchor.data(),m_title.data()); |