summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-08-22 10:12:25 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-08-22 10:12:25 (GMT)
commit385af33719e9386fd6c5a1f897a93c0c969ca9a3 (patch)
tree1f281c0b207db91fcf04d22e96cb931d3c462679
parent54bf87c789173c6a7af319a7a9c96ba200fcb683 (diff)
parent9ec53618e57a563da7af2ad6c7fc2219d1358baa (diff)
downloadDoxygen-385af33719e9386fd6c5a1f897a93c0c969ca9a3.zip
Doxygen-385af33719e9386fd6c5a1f897a93c0c969ca9a3.tar.gz
Doxygen-385af33719e9386fd6c5a1f897a93c0c969ca9a3.tar.bz2
Merge pull request #24 from albert-github/feature/bug_706520
Bug 706520 - Fortran: in body documentation lands on wrong place
-rw-r--r--src/fortranscanner.l15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index b04c7fb..3ed0031 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -164,7 +164,7 @@ static QList<Entry> moduleProcedures; // list of all interfaces which contai
// module procedures
static QCString docBlock;
static QCString docBlockName;
-static bool docBlockInBody;
+static bool docBlockInBody = FALSE;
static bool docBlockJavaStyle;
static MethodTypes mtype;
@@ -1085,6 +1085,7 @@ private {
yy_push_state(YY_START);
current->docLine = yyLineNr;
docBlockJavaStyle = FALSE;
+ if (YY_START==SubprogBody) docBlockInBody = TRUE;
docBlock.resize(0);
docBlockJavaStyle = Config_getBool("JAVADOC_AUTOBRIEF");
startCommentBlock(TRUE);
@@ -2096,11 +2097,14 @@ static void startCommentBlock(bool brief)
static void handleCommentBlock(const QCString &doc,bool brief)
{
- docBlockInBody = FALSE;
bool needsEntry = FALSE;
static bool hideInBodyDocs = Config_getBool("HIDE_IN_BODY_DOCS");
int position=0;
- if (docBlockInBody && hideInBodyDocs) return;
+ if (docBlockInBody && hideInBodyDocs)
+ {
+ docBlockInBody = FALSE;
+ return;
+ }
DBG_CTX((stderr,"call parseCommentBlock [%s]\n",doc.data()));
int lineNr = brief ? current->briefLine : current->docLine;
while (parseCommentBlock(
@@ -2123,6 +2127,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
DBG_CTX((stderr,"parseCommentBlock position=%d [%s] needsEntry=%d\n",position,doc.data()+position,needsEntry));
if (needsEntry) addCurrentEntry(0);
+ docBlockInBody = FALSE;
}
//----------------------------------------------------------------------------
@@ -2132,6 +2137,10 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
QCString loc_doc;
Entry *tmp_entry = current;
current = subrCurrent.first(); // temporarily switch to the entry of the subroutine / function
+
+ // Still in the specification section so no inbodyDocs yet, but parameter documentation
+ current->inbodyDocs = "";
+
if (docBlock.stripWhiteSpace().find("\\param") == 0)
{
handleCommentBlock("\n\n"+doc,brief);