summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Oller <sergioller@gmail.com>2013-09-14 18:06:06 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-09-28 22:05:33 (GMT)
commite835d4b28e1db3bdcdf3bfa718bc85445587ccd9 (patch)
tree074cf95073900a2514e1b67ce0f9db84a879cc95
parent54f60c116bdb22b6ec5a11ced9888ebe2785eb2b (diff)
downloadDoxygen-e835d4b28e1db3bdcdf3bfa718bc85445587ccd9.zip
Doxygen-e835d4b28e1db3bdcdf3bfa718bc85445587ccd9.tar.gz
Doxygen-e835d4b28e1db3bdcdf3bfa718bc85445587ccd9.tar.bz2
Bug 707641 - `FILTER_SOURCE_FILES=YES` required to build CALL_GRAPHS
https://bugzilla.gnome.org/show_bug.cgi?id=707641 Add references if the file is filtered, as the parser does not know whether we are insideBody or not.
-rw-r--r--src/code.h3
-rw-r--r--src/code.l22
-rw-r--r--src/dbusxmlscanner.cpp3
-rw-r--r--src/dbusxmlscanner.h3
-rw-r--r--src/filedef.cpp28
-rw-r--r--src/fortrancode.h3
-rw-r--r--src/fortrancode.l38
-rw-r--r--src/fortranscanner.h3
-rwxr-xr-xsrc/fortranscanner.l5
-rw-r--r--src/markdown.cpp6
-rw-r--r--src/markdown.h3
-rw-r--r--src/parserintf.h4
-rw-r--r--src/pycode.h3
-rw-r--r--src/pycode.l46
-rw-r--r--src/pyscanner.h3
-rw-r--r--src/pyscanner.l5
-rw-r--r--src/scanner.h3
-rw-r--r--src/scanner.l5
-rw-r--r--src/tclscanner.h3
-rw-r--r--src/tclscanner.l4
-rw-r--r--src/vhdlcode.h3
-rw-r--r--src/vhdlcode.l3
-rw-r--r--src/vhdlscanner.h3
-rw-r--r--src/vhdlscanner.l5
24 files changed, 104 insertions, 103 deletions
diff --git a/src/code.h b/src/code.h
index 490a847..8aadc0b 100644
--- a/src/code.h
+++ b/src/code.h
@@ -29,7 +29,8 @@ class Definition;
void parseCCode(CodeOutputInterface &,const char *,const QCString &,
SrcLangExt lang, bool isExample, const char *exName,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx);
+ MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
+ bool collectXRefs);
void resetCCodeParserState();
void codeFreeScanner();
diff --git a/src/code.l b/src/code.l
index 693a20f..2417bf9 100644
--- a/src/code.l
+++ b/src/code.l
@@ -123,6 +123,7 @@ static bool g_lexInit = FALSE;
static QStack<int> g_classScopeLengthStack;
static Definition *g_searchCtx;
+static bool g_collectXRefs;
// context for an Objective-C method call
struct ObjCCallCtx
@@ -885,7 +886,7 @@ static bool getLinkInScope(const QCString &c, // scope
// g_currentDefinition,g_currentMemberDef,g_insideBody);
if (g_currentDefinition && g_currentMemberDef &&
- md!=g_currentMemberDef && g_insideBody)
+ md!=g_currentMemberDef && g_insideBody && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -1018,7 +1019,8 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,const char *clName
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getFileDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
- if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef)
+ if (d && d->isLinkable() && md->isLinkable() &&
+ g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -1071,7 +1073,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,const char *clName
}
writeMultiLineCodeLink(ol,md,text);
addToSearchIndex(clName);
- if (g_currentMemberDef)
+ if (g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -1127,7 +1129,7 @@ static bool generateClassMemberLink(CodeOutputInterface &ol,MemberDef *xmd,const
{
// add usage reference
if (g_currentDefinition && g_currentMemberDef &&
- /*xmd!=g_currentMemberDef &&*/ g_insideBody)
+ /*xmd!=g_currentMemberDef &&*/ g_insideBody && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,xmd);
}
@@ -1504,7 +1506,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
if (ctx->method && ctx->method->isLinkable())
{
writeMultiLineCodeLink(*g_code,ctx->method,pName->data());
- if (g_currentMemberDef)
+ if (g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,ctx->method);
}
@@ -1583,7 +1585,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
else if (ctx->objectVar && ctx->objectVar->isLinkable()) // object is class variable
{
writeMultiLineCodeLink(*g_code,ctx->objectVar,pObject->data());
- if (g_currentMemberDef)
+ if (g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,ctx->objectVar);
}
@@ -3537,9 +3539,10 @@ void resetCCodeParserState()
}
void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
- SrcLangExt lang,bool exBlock, const char *exName,FileDef *fd,
- int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx)
+ SrcLangExt lang,bool exBlock, const char *exName,FileDef *fd,
+ int startLine,int endLine,bool inlineFragment,
+ MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
+ bool collectXRefs)
{
//printf("***parseCode() exBlock=%d exName=%s fd=%p className=%s searchCtx=%s\n",
// exBlock,exName,fd,className,searchCtx?searchCtx->name().data():"<none>");
@@ -3555,6 +3558,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_currentFontClass = 0;
g_needsTermination = FALSE;
g_searchCtx = searchCtx;
+ g_collectXRefs = collectXRefs;
g_inFunctionTryBlock = FALSE;
if (endLine!=-1)
g_inputLines = endLine+1;
diff --git a/src/dbusxmlscanner.cpp b/src/dbusxmlscanner.cpp
index 12168dd..8b8df0d 100644
--- a/src/dbusxmlscanner.cpp
+++ b/src/dbusxmlscanner.cpp
@@ -870,7 +870,8 @@ void DBusXMLScanner::parseCode(CodeOutputInterface & /* codeOutIntf */,
bool /* inlineFragment */,
MemberDef * /* memberDef */,
bool /*showLineNumbers*/,
- Definition * /* searchCtx */)
+ Definition * /* searchCtx */,
+ bool /*collectXRefs*/ )
{ }
void DBusXMLScanner::resetCodeParserState()
diff --git a/src/dbusxmlscanner.h b/src/dbusxmlscanner.h
index 64ba1a7..e1504e9 100644
--- a/src/dbusxmlscanner.h
+++ b/src/dbusxmlscanner.h
@@ -51,7 +51,8 @@ public:
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 7bd6aeb..b12ecd3 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -807,6 +807,7 @@ void FileDef::writeSource(OutputList &ol,bool sameTu,QStrList &filesInSameTu)
static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
static bool filterSourceFiles = Config_getBool("FILTER_SOURCE_FILES");
static bool latexSourceCode = Config_getBool("LATEX_SOURCE_CODE");
+ DevNullCodeDocInterface devNullIntf;
QCString title = m_docname;
if (!m_fileVersion.isEmpty())
{
@@ -878,10 +879,33 @@ void FileDef::writeSource(OutputList &ol,bool sameTu,QStrList &filesInSameTu)
ParserInterface *pIntf = Doxygen::parserManager->getParser(getDefFileExtension());
pIntf->resetCodeParserState();
ol.startCodeFragment();
+ bool needs2PassParsing =
+ Doxygen::parseSourcesNeeded && // we need to parse (filtered) sources for cross-references
+ !filterSourceFiles && // but user wants to show sources as-is
+ !getFileFilter(absFilePath(),TRUE).isEmpty(); // and there is a filter used while parsing
+
+ if (needs2PassParsing)
+ {
+ // parse code for cross-references only (see bug707641)
+ pIntf->parseCode(devNullIntf,0,
+ fileToString(absFilePath(),TRUE,TRUE),
+ getLanguage(),
+ FALSE,0,this
+ );
+ }
pIntf->parseCode(ol,0,
fileToString(absFilePath(),filterSourceFiles,TRUE),
- getLanguage(),
- FALSE,0,this
+ getLanguage(), // lang
+ FALSE, // isExampleBlock
+ 0, // exampleName
+ this, // fileDef
+ -1, // startLine
+ -1, // endLine
+ FALSE, // inlineFragment
+ 0, // memberDef
+ TRUE, // showLineNumbers
+ 0, // searchCtx
+ !needs2PassParsing // collectXRefs
);
ol.endCodeFragment();
}
diff --git a/src/fortrancode.h b/src/fortrancode.h
index 4b709c5..3913ebb 100644
--- a/src/fortrancode.h
+++ b/src/fortrancode.h
@@ -27,7 +27,8 @@ class Definition;
void parseFortranCode(CodeOutputInterface &,const char *,const QCString &,
bool ,const char *,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx);
+ MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
+ bool collectRefs);
void resetFortranCodeParserState();
void codeFreeScanner();
diff --git a/src/fortrancode.l b/src/fortrancode.l
index 80fc333..a0965d0 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -132,6 +132,7 @@ static int g_inputLines; //!< number of line in the code fragment
static int g_yyLineNr; //!< current line number
static bool g_needsTermination;
static Definition *g_searchCtx;
+static bool g_collectXRefs;
static bool g_isFixedForm;
static bool g_insideBody; //!< inside subprog/program body? => create links
@@ -378,36 +379,6 @@ static void writeMultiLineCodeLink(CodeOutputInterface &ol,
}
}
-#if 0
-static QCString fileLocation()
-{
- QCString result = g_sourceFileDef?g_sourceFileDef->absFilePath():QCString("[unknown]");
- result+=":"+QCString().setNum(g_yyLineNr);
- result+=":"+QCString().setNum(1);
- return result;
-}
-
-
-/**
- generates dictionay entries that are used if REFERENCED_BY_RELATION ... options are set
- (e.g. the "referenced by ..." list after the function documentation)
-*/
-
-static void addDocCrossReference(MemberDef *src, MemberDef *dst)
-{
- if (dst->isTypedef() || dst->isEnumerate()) return; // don't add types
- //printf("======= addDocCrossReference src=%s,dst=%s\n",src->name().data(),dst->name().data());
- if ((Config_getBool("REFERENCED_BY_RELATION") || Config_getBool("CALLER_GRAPH")) &&
- (src->isFunction()))
- {
- dst->addSourceReferencedBy(src,fileLocation());
- }
- if ((Config_getBool("REFERENCES_RELATION") || Config_getBool("CALL_GRAPH")) && (src->isFunction()))
- {
- src->addSourceReferences(dst,fileLocation());
- }
-}
-#endif
//-------------------------------------------------------------------------------
/**
@@ -565,7 +536,8 @@ static bool getLink(UseSDict *usedict, // dictonary with used modules
if (md->getGroupDef()) d = md->getGroupDef();
if (d && d->isLinkable())
{
- if (g_currentDefinition && g_currentMemberDef && md!=g_currentMemberDef && g_insideBody)
+ if (g_currentDefinition && g_currentMemberDef &&
+ md!=g_currentMemberDef && g_insideBody && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -1133,7 +1105,8 @@ void resetFortranCodeParserState() {}
void parseFortranCode(CodeOutputInterface &od,const char *className,const QCString &s,
bool exBlock, const char *exName,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool,Definition *searchCtx)
+ MemberDef *memberDef,bool,Definition *searchCtx,
+ bool collectXRefs)
{
//printf("***parseCode() exBlock=%d exName=%s fd=%p\n",exBlock,exName,fd);
@@ -1150,6 +1123,7 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri
g_currentFontClass = 0;
g_needsTermination = FALSE;
g_searchCtx = searchCtx;
+ g_collectXRefs = collectXRefs;
if (endLine!=-1)
g_inputLines = endLine+1;
else
diff --git a/src/fortranscanner.h b/src/fortranscanner.h
index e834698..41f7790 100644
--- a/src/fortranscanner.h
+++ b/src/fortranscanner.h
@@ -48,7 +48,8 @@ class FortranLanguageScanner : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index 6d64cb9..92cba53 100755
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -2354,12 +2354,13 @@ void FortranLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
::parseFortranCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName,
fileDef,startLine,endLine,inlineFragment,memberDef,
- showLineNumbers,searchCtx);
+ showLineNumbers,searchCtx,collectXRefs);
}
bool FortranLanguageScanner::needsPreprocessing(const QCString &extension)
diff --git a/src/markdown.cpp b/src/markdown.cpp
index 63d6cfc..9d2876b 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -2347,7 +2347,8 @@ void MarkdownFileParser::parseCode(CodeOutputInterface &codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
ParserInterface *pIntf = Doxygen::parserManager->getParser("*.cpp");
@@ -2355,7 +2356,8 @@ void MarkdownFileParser::parseCode(CodeOutputInterface &codeOutIntf,
{
pIntf->parseCode(
codeOutIntf,scopeName,input,lang,isExampleBlock,exampleName,
- fileDef,startLine,endLine,inlineFragment,memberDef,showLineNumbers,searchCtx);
+ fileDef,startLine,endLine,inlineFragment,memberDef,showLineNumbers,
+ searchCtx,collectXRefs);
}
}
diff --git a/src/markdown.h b/src/markdown.h
index daabc33..99d59f0 100644
--- a/src/markdown.h
+++ b/src/markdown.h
@@ -48,7 +48,8 @@ class MarkdownFileParser : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/parserintf.h b/src/parserintf.h
index 40c82dc..d474d8f 100644
--- a/src/parserintf.h
+++ b/src/parserintf.h
@@ -98,6 +98,7 @@ class ParserInterface
* @param[in] showLineNumbers if set to TRUE and also fileDef is not 0,
* line numbers will be added to the source fragement
* @param[in] searchCtx context under which search data has to be stored.
+ * @param[in] collectXRefs collect cross-reference relations.
*/
virtual void parseCode(CodeOutputInterface &codeOutIntf,
const char *scopeName,
@@ -111,7 +112,8 @@ class ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
) = 0;
/** Resets the state of the code parser.
diff --git a/src/pycode.h b/src/pycode.h
index bdaef55..6382975 100644
--- a/src/pycode.h
+++ b/src/pycode.h
@@ -36,7 +36,8 @@ class Definition;
extern void parsePythonCode(CodeOutputInterface &,const char *,const QCString &,
bool ,const char *,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx);
+ MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
+ bool collectXRefs);
extern void resetPythonCodeParserState();
#endif
diff --git a/src/pycode.l b/src/pycode.l
index 176cbdd..448068c 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -62,6 +62,7 @@ static int g_inputPosition; //!< read offset during parsing
static const char * g_currentFontClass;
static bool g_needsTermination;
static Definition *g_searchCtx;
+static bool g_collectXRefs;
static int g_inputLines; //!< number of line in the code fragment
static int g_yyLineNr; //!< current line number
static FileDef * g_sourceFileDef;
@@ -493,35 +494,6 @@ static void codifyLines(char *text)
}
}
-#if 0
-static QCString fileLocation()
-{
- QCString result = g_sourceFileDef?g_sourceFileDef->absFilePath():QCString("[unknown]");
- result+=":"+QCString().setNum(g_yyLineNr);
- result+=":"+QCString().setNum(1);
- return result;
-}
-
-static void addDocCrossReference(MemberDef *src,MemberDef *dst)
-{
- static bool referencedByRelation = Config_getBool("REFERENCED_BY_RELATION");
- static bool callerGraph = Config_getBool("CALLER_GRAPH");
- static bool referencesRelation = Config_getBool("REFERENCES_RELATION");
- static bool callGraph = Config_getBool("CALL_GRAPH");
- if (dst->isTypedef() || dst->isEnumerate()) return; // don't add types
- //printf("addDocCrossReference src=%s,dst=%s\n",src->name().data(),dst->name().data());
- if ((referencedByRelation || callerGraph) && (src->isFunction() || src->isSlot()))
- {
- dst->addSourceReferencedBy(src,fileLocation());
- }
- if ((referencesRelation || callGraph) && (src->isFunction() || src->isSlot()))
- {
- src->addSourceReferences(dst,fileLocation());
- }
-}
-#endif
-
-
static bool getLinkInScope(const QCString &c, // scope
const QCString &m, // member
@@ -553,7 +525,7 @@ static bool getLinkInScope(const QCString &c, // scope
// g_currentDefinition,g_currentMemberDef);
if (g_currentDefinition && g_currentMemberDef &&
- md!=g_currentMemberDef)
+ md!=g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -652,7 +624,8 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName,
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
- if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef)
+ if (d && d->isLinkable() && md->isLinkable() &&
+ g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -678,7 +651,8 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName,
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
- if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef)
+ if (d && d->isLinkable() && md->isLinkable() &&
+ g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -700,7 +674,8 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName,
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
- if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef)
+ if (d && d->isLinkable() && md->isLinkable() &&
+ g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,md);
}
@@ -773,7 +748,7 @@ static bool findMemberLink(CodeOutputInterface &ol,Definition *sym,const char *s
ClassDef *thisCd = (ClassDef *)g_currentDefinition;
if (sym->definitionType()==Definition::TypeMember)
{
- if (g_currentMemberDef)
+ if (g_currentMemberDef && g_collectXRefs)
{
addDocCrossReference(g_currentMemberDef,(MemberDef*)sym);
}
@@ -1452,7 +1427,7 @@ static void adjustScopesAndSuites(unsigned indentLength)
void parsePythonCode(CodeOutputInterface &od,const char * /*className*/,
const QCString &s,bool exBlock, const char *exName,
FileDef *fd,int startLine,int endLine,bool /*inlineFragment*/,
- MemberDef *,bool,Definition *searchCtx)
+ MemberDef *,bool,Definition *searchCtx,bool collectXRefs)
{
//printf("***parseCode()\n");
@@ -1466,6 +1441,7 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/,
g_currentFontClass = 0;
g_needsTermination = FALSE;
g_searchCtx=searchCtx;
+ g_collectXRefs=collectXRefs;
if (endLine!=-1)
g_inputLines = endLine+1;
else
diff --git a/src/pyscanner.h b/src/pyscanner.h
index 5cc69d9..4b99706 100644
--- a/src/pyscanner.h
+++ b/src/pyscanner.h
@@ -55,7 +55,8 @@ class PythonLanguageScanner : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXrefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/pyscanner.l b/src/pyscanner.l
index 3bcfda3..b156097 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -1709,12 +1709,13 @@ void PythonLanguageScanner::parseCode(CodeOutputInterface &codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
::parsePythonCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName,
fileDef,startLine,endLine,inlineFragment,memberDef,
- showLineNumbers,searchCtx);
+ showLineNumbers,searchCtx,collectXRefs);
}
void PythonLanguageScanner::parsePrototype(const char *text)
diff --git a/src/scanner.h b/src/scanner.h
index f26accb..767fea0 100644
--- a/src/scanner.h
+++ b/src/scanner.h
@@ -50,7 +50,8 @@ class CLanguageScanner : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/scanner.l b/src/scanner.l
index 8d4cadd..2e76c51 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -6928,12 +6928,13 @@ void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
::parseCCode(codeOutIntf,scopeName,input,lang,isExampleBlock,exampleName,
fileDef,startLine,endLine,inlineFragment,memberDef,
- showLineNumbers,searchCtx);
+ showLineNumbers,searchCtx,collectXRefs);
}
bool CLanguageScanner::needsPreprocessing(const QCString &extension)
diff --git a/src/tclscanner.h b/src/tclscanner.h
index 7cd93b9..02627b4 100644
--- a/src/tclscanner.h
+++ b/src/tclscanner.h
@@ -49,7 +49,8 @@ class TclLanguageScanner : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/tclscanner.l b/src/tclscanner.l
index 2129bf0..7f160e6 100644
--- a/src/tclscanner.l
+++ b/src/tclscanner.l
@@ -2569,7 +2569,8 @@ void TclLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
(void)scopeName;
@@ -2579,6 +2580,7 @@ void TclLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
(void)endLine;
(void)inlineFragment;
(void)searchCtx;
+ (void)collectXRefs;
if (input.length()<1) return;
tcl.input_string = input;
diff --git a/src/vhdlcode.h b/src/vhdlcode.h
index dab2624..e21ddea 100644
--- a/src/vhdlcode.h
+++ b/src/vhdlcode.h
@@ -8,7 +8,8 @@ class MemberDef;
void parseVhdlCode(CodeOutputInterface &,const char *,const QCString &,
bool ,const char *,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx);
+ MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
+ bool collectXRefs);
void resetVhdlCodeParserState();
void codeFreeVhdlScanner();
diff --git a/src/vhdlcode.l b/src/vhdlcode.l
index 11da962..8381853 100644
--- a/src/vhdlcode.l
+++ b/src/vhdlcode.l
@@ -1512,7 +1512,8 @@ void resetVhdlCodeParserState()
void parseVhdlCode(CodeOutputInterface &od,const char *className,const QCString &s,
bool /*exBlock*/, const char *exName,FileDef *fd,
int startLine,int endLine,bool inlineFragment,
- MemberDef *memberDef,bool,Definition *searchCtx)
+ MemberDef *memberDef,bool,Definition *searchCtx,
+ bool /* collectXRefs */)
{
//printf("***parseCode() exBlock=%d exName=%s fd=%p\n",exBlock,exName,fd);
if (s.isEmpty()) return;
diff --git a/src/vhdlscanner.h b/src/vhdlscanner.h
index 6ad8316..1d799d0 100644
--- a/src/vhdlscanner.h
+++ b/src/vhdlscanner.h
@@ -68,7 +68,8 @@ class VHDLLanguageScanner : public ParserInterface
bool inlineFragment=FALSE,
MemberDef *memberDef=0,
bool showLineNumbers=TRUE,
- Definition *searchCtx=0
+ Definition *searchCtx=0,
+ bool collectXRefs=TRUE
);
void resetCodeParserState();
void parsePrototype(const char *text);
diff --git a/src/vhdlscanner.l b/src/vhdlscanner.l
index fb0dcb7..6244f5a 100644
--- a/src/vhdlscanner.l
+++ b/src/vhdlscanner.l
@@ -805,12 +805,13 @@ void VHDLLanguageScanner::parseCode(CodeOutputInterface &codeOutIntf,
bool inlineFragment,
MemberDef *memberDef,
bool showLineNumbers,
- Definition *searchCtx
+ Definition *searchCtx,
+ bool collectXRefs
)
{
::parseVhdlCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName,
fileDef,startLine,endLine,inlineFragment,memberDef,
- showLineNumbers,searchCtx);
+ showLineNumbers,searchCtx,collectXRefs);
}
/*