summaryrefslogtreecommitdiffstats
path: root/src/tclscanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-01-07 20:51:07 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-01-07 20:51:07 (GMT)
commitc61d8701470352385bcf5720ee516ba95c4393c8 (patch)
tree498d67f3c418e7b9da5b07e1f5b6f67faa2b914f /src/tclscanner.l
parentc581ea17bac7dd4ebba1ca53a55ef592f96e0117 (diff)
downloadDoxygen-c61d8701470352385bcf5720ee516ba95c4393c8.zip
Doxygen-c61d8701470352385bcf5720ee516ba95c4393c8.tar.gz
Doxygen-c61d8701470352385bcf5720ee516ba95c4393c8.tar.bz2
issue #6734 parsing performance worsened
Diffstat (limited to 'src/tclscanner.l')
-rw-r--r--src/tclscanner.l19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/tclscanner.l b/src/tclscanner.l
index ca5294b..88714ce 100644
--- a/src/tclscanner.l
+++ b/src/tclscanner.l
@@ -1507,6 +1507,7 @@ tcl_inf("-> %s\n",(const char *)tcl.string_comment);
myO.shrink(myO.curPos()-2);
myO.addChar('\0');
QCString myDoc = myO.data();
+ QCString processedDoc;
if (what==99)
{ // inbody comment file or namespace or class or proc/method
int myPos0;
@@ -1526,14 +1527,16 @@ tcl_inf("-> %s\n",(const char *)tcl.string_comment);
myPos0=myPos;
myLine0=myLine;
- while (parseCommentBlock(tcl.this_parser, &myEntry0, myDoc, tcl.file_name,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine);
+ while (parseCommentBlock(tcl.this_parser, &myEntry0, processedDoc, tcl.file_name,
myLine, FALSE, tcl.config_autobrief, FALSE, myProt, myPos, myNew))
{
if (myNew)
{ // we need a new entry in this case
myNew=0;
myEntry = tcl_entry_new();
- parseCommentBlock(tcl.this_parser, myEntry, myDoc, tcl.file_name,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine0);
+ parseCommentBlock(tcl.this_parser, myEntry, processedDoc, tcl.file_name,
myLine0, FALSE, tcl.config_autobrief, FALSE, myProt, myPos0, myNew);
tcl.entry_inside->addSubEntry(myEntry);
}
@@ -1543,7 +1546,8 @@ tcl_inf("-> %s\n",(const char *)tcl.string_comment);
{
myEntry1=tcl_entry_namespace(tcl.scan.at(0)->ns);
}
- parseCommentBlock(tcl.this_parser, myEntry1, myDoc, tcl.file_name,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine0);
+ parseCommentBlock(tcl.this_parser, myEntry1, processedDoc, tcl.file_name,
myLine0, FALSE, tcl.config_autobrief, FALSE, myProt, myPos0, myNew);
}
myPos0=myPos;
@@ -1553,7 +1557,8 @@ tcl_inf("-> %s\n",(const char *)tcl.string_comment);
{ // we need a new entry
myNew=0;
myEntry = tcl_entry_new();
- parseCommentBlock(tcl.this_parser, myEntry, myDoc, tcl.file_name,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine0);
+ parseCommentBlock(tcl.this_parser, myEntry, processedDoc, tcl.file_name,
myLine0, FALSE, tcl.config_autobrief, FALSE, myProt, myPos0, myNew);
tcl.entry_inside->addSubEntry(myEntry);
}
@@ -1563,14 +1568,16 @@ tcl_inf("-> %s\n",(const char *)tcl.string_comment);
{
myEntry1=tcl_entry_namespace(tcl.scan.at(0)->ns);
}
- parseCommentBlock(tcl.this_parser, myEntry1, myDoc, tcl.file_name,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine0);
+ parseCommentBlock(tcl.this_parser, myEntry1, processedDoc, tcl.file_name,
myLine0, FALSE, tcl.config_autobrief, FALSE, myProt, myPos0, myNew);
}
}
else
{ // new entry
tcl.entry_current = tcl_entry_new();
- while (parseCommentBlock(tcl.this_parser, tcl.entry_current, myDoc,
+ processedDoc = preprocessCommentBlock(myDoc,tcl.file_name,myLine);
+ while (parseCommentBlock(tcl.this_parser, tcl.entry_current, processedDoc,
tcl.file_name, myLine, FALSE, tcl.config_autobrief, FALSE,
myProt, myPos, myNew))
{