summaryrefslogtreecommitdiffstats
path: root/src/vhdljjparser.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2015-02-22 14:51:10 (GMT)
committeralbert-github <albert.tests@gmail.com>2015-02-22 14:51:10 (GMT)
commit073e9482a516c24a3d045da049941bfd432f3354 (patch)
tree776f53379a49df60f594b424cd64391ca53d96d2 /src/vhdljjparser.cpp
parent051f878cbe83746a2e4604e889bb2d333d600b07 (diff)
downloadDoxygen-073e9482a516c24a3d045da049941bfd432f3354.zip
Doxygen-073e9482a516c24a3d045da049941bfd432f3354.tar.gz
Doxygen-073e9482a516c24a3d045da049941bfd432f3354.tar.bz2
Adding commands \hidecallgraph and \hidecallergraph
With the new commands \hidecallgraph and \hidecallergraph it is possible to suppress a call or caller graph even though the corresponding option CALL_GRAPH or CALLER_GRAPH is set. commands.doc config.xml diagrams.doc - updating documentation to support new commands entry.cpp - initialize callgraph and callergraph with the value from the config file commentscan.l - add handling for the new commands context.cpp memberdef.cpp util.cpp - getting the option for CALL_GRAPH and CALLER_GRAPH is not necessary anymore as it is incorporated in the initialization of an Entry item dbusxmlscanner.cpp - initialization is done in the Entry item vhdljjparser.cpp - gBlock was a static variable and therefore initialized before the doxygen main routine started. A Entry element sets now the default for callgraph and callergraph based on the config file and as the config file is not yet known at that moment the value for CALL_GRAPH and CALLER_GRAPH were set to False. By making a pointer of gBlock and doing an appropriate new Entry call this problem is overcome.
Diffstat (limited to 'src/vhdljjparser.cpp')
-rw-r--r--src/vhdljjparser.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/vhdljjparser.cpp b/src/vhdljjparser.cpp
index f3bfb62..ea43341 100644
--- a/src/vhdljjparser.cpp
+++ b/src/vhdljjparser.cpp
@@ -40,7 +40,7 @@ static int yyLineNr = 1;
static int* lineParse;
static int iDocLine = -1;
static QCString inputString;
-static Entry gBlock;
+static Entry* gBlock = 0;
static Entry* previous = 0;
//-------------------------------------------------------
@@ -102,38 +102,40 @@ Entry* getVhdlCompound()
void startCodeBlock(int index)
{
int ll=strComment.length();
+ if (!gBlock) gBlock = new Entry;
iCodeLen=inputString.findRev(strComment.data())+ll;
// fprintf(stderr,"\n startin code..%d %d %d\n",iCodeLen,num_chars,ll);
- gBlock.reset();
+ gBlock->reset();
int len=strComment.length();
QCString name=strComment.right(len-index);//
name=VhdlDocGen::getIndexWord(name.data(),1);
if (!name)
- gBlock.name="misc"+ VhdlDocGen::getRecordNumber();
+ gBlock->name="misc"+ VhdlDocGen::getRecordNumber();
else
- gBlock.name=name;
+ gBlock->name=name;
- gBlock.startLine=yyLineNr;
- gBlock.bodyLine=yyLineNr;
+ gBlock->startLine=yyLineNr;
+ gBlock->bodyLine=yyLineNr;
strComment=strComment.left(index);
VhdlDocGen::prepareComment(strComment);
- gBlock.brief+=strComment;
+ gBlock->brief+=strComment;
}
void makeInlineDoc(int endCode)
{
int len=endCode-iCodeLen;
+ if (!gBlock) gBlock = new Entry;
QCString par=inputString.mid(iCodeLen,len);
//fprintf(stderr,"\n inline code: \n<%s>",par.data());
- gBlock.doc=par;
- gBlock.inbodyDocs=par;
- gBlock.section=Entry::VARIABLE_SEC;
- gBlock.spec=VhdlDocGen::MISCELLANEOUS;
- gBlock.fileName = yyFileName;
- gBlock.endBodyLine=yyLineNr-1;
- gBlock.lang=SrcLangExt_VHDL;
- Entry *temp=new Entry(gBlock);
+ gBlock->doc=par;
+ gBlock->inbodyDocs=par;
+ gBlock->section=Entry::VARIABLE_SEC;
+ gBlock->spec=VhdlDocGen::MISCELLANEOUS;
+ gBlock->fileName = yyFileName;
+ gBlock->endBodyLine=yyLineNr-1;
+ gBlock->lang=SrcLangExt_VHDL;
+ Entry *temp=new Entry(*gBlock);
Entry* compound=getVhdlCompound();
if (compound)
@@ -146,7 +148,7 @@ void makeInlineDoc(int endCode)
VhdlParser::current_root->addSubEntry(temp);
}
strComment.resize(0);
- gBlock.reset();
+ gBlock->reset();
}// makeInlineDoc