diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-01-07 20:51:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-01-07 20:51:07 (GMT) |
commit | c61d8701470352385bcf5720ee516ba95c4393c8 (patch) | |
tree | 498d67f3c418e7b9da5b07e1f5b6f67faa2b914f /src/tclscanner.l | |
parent | c581ea17bac7dd4ebba1ca53a55ef592f96e0117 (diff) | |
download | Doxygen-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.l | 19 |
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)) { |