Commit ad65c6e2 authored by dimitri's avatar dimitri

Release-1.4.3-20050530

parent 44904635
# Doxyfile 1.3.7
# Doxyfile 1.4.3
#---------------------------------------------------------------------------
# Project related configuration options
......@@ -23,6 +23,7 @@ MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
......@@ -55,6 +56,8 @@ GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
......@@ -62,6 +65,7 @@ QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
......@@ -87,7 +91,8 @@ EXCLUDE = src/code.cpp \
src/suffixtree.h \
src/searchindex.cpp \
src/searchindex.h \
src/commentcnv.cpp
src/commentcnv.cpp \
src/commentscan.cpp
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
......@@ -95,6 +100,7 @@ EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
......@@ -104,6 +110,7 @@ INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
......@@ -209,18 +216,22 @@ HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
......
DOXYGEN Version 1.4.3
DOXYGEN Version 1.4.3-20050530
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (16 May 2005)
Dimitri van Heesch (30 May 2005)
......@@ -53,9 +53,9 @@ install: doxywizard_install
$(INSTTOOL) -m 755 bin/doxygen $(INSTALL)/bin
$(INSTTOOL) -m 755 bin/doxytag $(INSTALL)/bin
$(INSTTOOL) -d $(INSTALL)/$(MAN1DIR)
cat doc/doxygen.1 | sed -e "s/DATE/\$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxygen.1 ; \
cat doc/doxytag.1 | sed -e "s/DATE/\$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxytag.1 ; \
cat doc/doxywizard.1 | sed -e "s/DATE/\$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxywizard.1 ;
cat doc/doxygen.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxygen.1 ; \
cat doc/doxytag.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxytag.1 ; \
cat doc/doxywizard.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > $(INSTALL)/$(MAN1DIR)/doxywizard.1 ;
install_docs:
$(INSTTOOL) -d $(DOCDIR)
......
DOXYGEN Version 1.4.3
DOXYGEN Version 1.4.3_20050530
Please read INSTALL for compilation instructions.
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (16 May 2005)
Dimitri van Heesch (dimitri@stack.nl) (30 May 2005)
1.4.3
1.4.3-20050530
......@@ -1037,13 +1037,13 @@ void ClassDef::writeDocumentation(OutputList &ol)
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
ol.writeString("<!-- doxytag: class=<");
ol.writeString("<!-- doxytag: class=\"");
ol.docify(name());
ol.writeString("> -->");
ol.writeString("\" -->");
if (m_inherits->count()>0)
{
BaseClassListIterator bli(*m_inherits);
ol.writeString("<!-- doxytag: inherits=<");
ol.writeString("<!-- doxytag: inherits=\"");
BaseClassDef *bcd=0;
bool first=TRUE;
for (bli.toFirst();(bcd=bli.current());++bli)
......@@ -1052,7 +1052,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.docify(bcd->classDef->name());
first=FALSE;
}
ol.writeString("> -->");
ol.writeString("\" -->");
}
ol.popGeneratorState();
}
......@@ -2168,16 +2168,11 @@ void ClassDef::mergeMembers()
if (srcCd==dstCd || dstCd->isBaseClass(srcCd,TRUE))
// member is in the same or a base class
{
#ifdef NEWMATCH
found=matchArguments2(
srcMd->getOuterScope(),srcMd->getFileDef(),srcMd->argumentList(),
dstMd->getOuterScope(),dstMd->getFileDef(),dstMd->argumentList(),
TRUE
);
#else
found=matchArguments(srcMd->argumentList(),
dstMd->argumentList());
#endif
//printf(" Yes, matching (%s<->%s): %d\n",
// argListToString(srcMd->argumentList()).data(),
// argListToString(dstMd->argumentList()).data(),
......
......@@ -327,6 +327,7 @@ static Protection protection;
static bool xrefAppendFlag;
static bool inGroupParamFound;
static int braceCount;
//-----------------------------------------------------------------------------
......@@ -855,14 +856,11 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
addOutput(yytext[2]);
}
<Comment>(\n|\\_linebr)({B}*(\n|\\_linebr))+ { // at least one blank line (or blank line command)
if (inContext==OutputBrief)
{
setOutput(OutputDoc);
}
else
if (inContext!=OutputBrief)
{
addOutput(yytext);
}
setOutput(OutputDoc);
lineCount();
}
<Comment>"." { // potential end of a JavaDoc style comment
......@@ -1557,17 +1555,29 @@ SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
/* ----- handle argument of fn command ------- */
<FnParam>{DOCNL} { // end of argument
if (braceCount==0)
{
if (*yytext=='\n') yyLineNr++;
addOutput('\n');
//printf("functionProto=%s\n",functionProto.data());
langParser->parsePrototype(functionProto);
BEGIN( Comment );
}
}
<FnParam>{LC} { // line continuation
yyLineNr++;
functionProto+=' ';
}
<FnParam>[^@\\\n]+ { // non-special characters
<FnParam>[^@\\\n()]+ { // non-special characters
functionProto+=yytext;
}
<FnParam>"(" {
functionProto+=yytext;
braceCount++;
}
<FnParam>")" {
functionProto+=yytext;
braceCount--;
}
<FnParam>. { // add other stuff
functionProto+=*yytext;
......@@ -1655,6 +1665,7 @@ static void handleFn(const QCString &)
{
makeStructuralIndicator(Entry::MEMBERDOC_SEC);
functionProto.resize(0);
braceCount=0;
BEGIN(FnParam);
}
......
......@@ -253,7 +253,7 @@ static bool readCodeFragment(const char *fileName,
{
//printf("readCodeFragment(%s,%d,%d)\n",fileName,startLine,endLine);
if (fileName==0 || fileName[0]==0) return FALSE; // not a valid file name
QCString cmd="\"" + getFileFilter(fileName)+"\" \""+fileName+"\"";
QCString cmd=getFileFilter(fileName)+" \""+fileName+"\"";
FILE *f = Config_getBool("FILTER_SOURCE_FILES") ? popen(cmd,"r") : fopen(fileName,"r");
bool found=FALSE;
if (f)
......
......@@ -555,7 +555,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
int funcStart=cmdArg.find('(');
if (funcStart==-1) funcStart=l;
QString name=cmdArg.left(funcStart);
QString name=removeRedundantWhiteSpace(cmdArg.left(funcStart).latin1());
QString args=cmdArg.right(l-funcStart);
// try if the link is to a member
......@@ -2684,6 +2684,18 @@ int DocHtmlCell::parse()
if (isFirst) { par->markFirst(); isFirst=FALSE; }
m_children.append(par);
retval=par->parse();
if (retval==TK_HTMLTAG)
{
int tagId=HtmlTagMapper::map(g_token->name);
if (tagId==HTML_TD && g_token->endTag) // found </dt> tag
{
retval=TK_NEWPARA; // ignore the tag
}
else if (tagId==HTML_TH && g_token->endTag) // found </th> tag
{
retval=TK_NEWPARA; // ignore the tag
}
}
}
while (retval==TK_NEWPARA);
if (par) par->markLast();
......
......@@ -297,7 +297,7 @@ FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+]
FILEECHAR [a-z_A-Z0-9\-\+]
HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)*
FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK}
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"))?
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)?
SPCMD1 {CMD}[a-z_A-Z0-9]+
SPCMD2 {CMD}[\\@<>&$#%~]
SPCMD3 {CMD}form#[0-9]+
......@@ -316,7 +316,7 @@ OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")?
OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"
OPCAST {BLANK}+[^(\r\n.,]+
OPMASK ({BLANK}*{OPNORM}{FUNCARG})|({OPCAST}{FUNCARG})
OPMASK ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG})
LNKWORD1 ("::"|"#")?{SCOPEMASK}
CVSPEC {BLANK}*("const"|"volatile")
LNKWORD2 {SCOPEPRE}*"operator"{OPMASK}
......
This diff is collapsed.
This diff is collapsed.
......@@ -196,6 +196,7 @@ QCString unhtmlify(const char *str)
if (strncmp(p,"&amp;",5)==0) { result+='&'; p+=5; }
else if (strncmp(p,"&lt;",4)==0) { result+='<'; p+=4; }
else if (strncmp(p,"&gt;",4)==0) { result+='>'; p+=4; }
else if (strncmp(p,"&quot;",6)==0) { result+='"'; p+=4; }
else /* should not happen */ { result+='&'; p++; }
}
}
......@@ -301,12 +302,13 @@ QCString unhtmlify(const char *str)
}
<Qt3ReadName>.
<Qt3ReadArgs>[ \t]*"(" {
memberArgs+="(";
memberArgs+='(';
}
<Qt3ReadArgs>"&amp;" { memberArgs+="&"; }
<Qt3ReadArgs>"&lt;" { memberArgs+="<"; }
<Qt3ReadArgs>"&gt;" { memberArgs+=">"; }
<Qt3ReadArgs>"&nbsp;" { memberArgs+=" "; }
<Qt3ReadArgs>"&amp;" { memberArgs+='&'; }
<Qt3ReadArgs>"&lt;" { memberArgs+='<'; }
<Qt3ReadArgs>"&gt;" { memberArgs+='>'; }
<Qt3ReadArgs>"&quot;" { memberArgs+='"'; }
<Qt3ReadArgs>"&nbsp;" { memberArgs+=' '; }
<Qt3ReadArgs>"</h3>" {
addMember(memberName,memberRef,memberArgs);
memberName.resize(0);
......@@ -316,7 +318,7 @@ QCString unhtmlify(const char *str)
}
<Qt3ReadArgs>"<"[^>]+">"
<Qt3ReadArgs>")" {
memberArgs+=")";
memberArgs+=')';
addMember(memberName,memberRef,memberArgs);
memberName.resize(0);
memberRef.resize(0);
......@@ -329,39 +331,42 @@ QCString unhtmlify(const char *str)
/* --------------------------------------------------- */
/* Doxygen class extraction rules */
<Start>"<!-- doxytag: class=<" {
<Start>"<!-- doxytag: class=\"" {
className.resize(0);
BEGIN(DoxClassName);
}
<DoxClassName>[^&>]+ {
<DoxClassName>[^&"]+ {
className=yytext;
addClass(className);
}
<DoxClassName>"&lt;" {
className+="<";
className+='<';
}
<DoxClassName>"&gt;" {
className+=">";
className+='>';
}
<DoxClassName>"&amp;" {
className+="&";
className+='&';
}
<DoxClassName>"&quot;" {
className+='"';
}
<DoxClassName>. {
className+=*yytext;
}
<DoxClassName>"> -->" {
<DoxClassName>"\" -->" {
BEGIN(Start);
}
/* --------------------------------------------------- */
/* Doxygen inheritance extraction rules */
<Start>"<!-- doxytag: inherits=<" {
<Start>"<!-- doxytag: inherits=\"" {
bases.clear();
baseName.resize(0);
BEGIN(DoxClassBase);
}
<DoxClassBase>[^&,>]+ {
<DoxClassBase>[^&,"]+ {
baseName+=yytext;
}
<DoxClassBase>"," {
......@@ -369,18 +374,21 @@ QCString unhtmlify(const char *str)
baseName.resize(0);
}
<DoxClassBase>"&lt;" {
baseName+="<";
baseName+='<';
}
<DoxClassBase>"&gt;" {
baseName+=">";
baseName+='>';
}
<DoxClassBase>"&amp;" {
baseName+="&";
baseName+='&';
}
<DoxClassBase>"&quot;" {
baseName+='"';
}
<DoxClassBase>. {
baseName+=*yytext;
}
<DoxClassBase>"> -->" {
<DoxClassBase>"\" -->" {
bases.append(baseName);
baseName.resize(0);
addBases(className);
......@@ -390,65 +398,74 @@ QCString unhtmlify(const char *str)
/* --------------------------------------------------- */
/* Doxygen member extraction rules */
<Start>"<!-- doxytag: member=<" {
<Start>"<!-- doxytag: member=\"" {
memberName.resize(0);
BEGIN(DoxReadName);
}
<DoxReadName>[^&>]+ {
<DoxReadName>[^&"]+ {
memberName+=yytext;
}
<DoxReadName>"&lt;" {
memberName+="<";
memberName+='<';
}
<DoxReadName>"&gt;" {
memberName+=">";
memberName+='>';
}
<DoxReadName>"&amp;" {
memberName+="&";
memberName+='&';
}
<DoxReadName>"&quot;" {
memberName+='"';
}
<DoxReadName>. {
memberName+=*yytext;
}
<DoxReadName>"> ref=<" {
<DoxReadName>"\" ref=\"" {
memberName=memberName.mid(memberName.find("::")+2);
memberRef.resize(0);
BEGIN(DoxReadAnchor);
}
<DoxReadAnchor>[^&>]+ {
<DoxReadAnchor>[^&"]+ {
memberRef+=yytext;
}
<DoxReadAnchor>"&lt;" {
memberRef+="<";
memberRef+='<';
}
<DoxReadAnchor>"&gt;" {
memberRef+=">";
memberRef+='>';
}
<DoxReadAnchor>"&amp;" {
memberRef+="&";
memberRef+='&';
}
<DoxReadAnchor>"&quot;" {
memberRef+='"';
}
<DoxReadAnchor>. {
memberRef+=*yytext;
}
<DoxReadAnchor>"> args=<" {
<DoxReadAnchor>"\" args=\"" {
memberArgs.resize(0);
BEGIN(DoxReadArgs);
}
<DoxReadArgs>[^&>]+ {
<DoxReadArgs>[^&"]+ {
memberArgs+=yytext;
}
<DoxReadArgs>"&lt;" {
memberArgs+="<";
memberArgs+='<';
}
<DoxReadArgs>"&gt;" {
memberArgs+=">";
memberArgs+='>';
}
<DoxReadArgs>"&amp;" {
memberArgs+="&";
memberArgs+='&';
}
<DoxReadArgs>"&quot;" {
memberArgs+='"';
}
<DoxReadArgs>. {
memberArgs+=*yytext;
}
<DoxReadArgs>"> -->" {
<DoxReadArgs>"\" -->" {
addMember(memberName,memberRef,memberArgs);
memberName.resize(0);
memberRef.resize(0);
......@@ -613,10 +630,11 @@ QCString unhtmlify(const char *str)
else
BEGIN( Start );
}
<ReadArgs>"&amp;" { memberArgs+="&"; }
<ReadArgs>"&lt;" { memberArgs+="<"; }
<ReadArgs>"&gt;" { memberArgs+=">"; }
<ReadArgs>"&nbsp;" { memberArgs+=" "; }
<ReadArgs>"&amp;" { memberArgs+='&'; }
<ReadArgs>"&lt;" { memberArgs+='<'; }
<ReadArgs>"&gt;" { memberArgs+='>'; }
<ReadArgs>"&quot;" { memberArgs+='"'; }
<ReadArgs>"&nbsp;" { memberArgs+=' '; }
/*
<ReadArgs>[{}] { // handle enums
memberArgs.resize(0);
......
......@@ -686,13 +686,17 @@ void FileDef::addMembersToMemberGroup()
/*! Adds member definition \a md to the list of all members of this file */
void FileDef::insertMember(MemberDef *md)
{
//printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data());
if (allMemberList.find(md)!=-1) return;
//printf("%s:FileDef::insertMember(%s (=%p) list has %d elements)\n",
// name().data(),md->name().data(),md,allMemberList.count());
if (allMemberList.findRef(md)!=-1)
{
return;
}
allMemberList.append(md);
bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
switch(md->memberType())
switch (md->memberType())
{
case MemberDef::Variable:
case MemberDef::Property:
......@@ -1129,7 +1133,7 @@ static void addDirsAsGroups(Directory *root,GroupDef *parent,int level)
GroupDef *gd=0;
if (root->kind()==DirEntry::Dir)
{
gd = new GroupDef("<generated>",
gd = new GroupDef("[generated]",
1,
root->path(), // name
root->name() // title
......
......@@ -218,14 +218,10 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
md->getOuterScope()->definitionType()==Definition::TypeFile);
if (srcMd->isFunction() && md->isFunction() &&
#ifdef NEWMATCH
matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),srcMd->argumentList(),
md->getOuterScope(),md->getFileDef(),md->argumentList(),
TRUE
) &&
#else
matchArguments(srcMd->argumentList(),md->argumentList()) &&
#endif
sameScope
)
{
......
......@@ -603,9 +603,13 @@ void HtmlGenerator::startDoxyAnchor(const char *,const char *,
const char *args)
{
t << "<a class=\"anchor\" name=\"" << anchor << "\"></a>";
t << "<!-- doxytag: member=<" << name << "> ref=<" << anchor << "> args=<";
t << "<!-- doxytag: member=\"";
docify(name);
t << "\" ref=\"";
docify(anchor);
t << "\" args=\"";
docify(args);
t << "> -->";
t << "\" -->";
}
void HtmlGenerator::endDoxyAnchor(const char *,const char *)
......@@ -815,6 +819,7 @@ void HtmlGenerator::docify(const char *str)
case '<': t << "&lt;"; break;
case '>': t << "&gt;"; break;
case '&': t << "&amp;"; break;
case '"': t << "&quot;"; break;
case '\\':
if (*p=='<')
{ t << "&lt;"; p++; }
......
......@@ -3101,7 +3101,7 @@ void writeIndex(OutputList &ol)
ol.disableAllBut(OutputGenerator::Html);
QCString defFileName =
Doxygen::mainPage ? Doxygen::mainPage->getDefFileName().data() : "<generated>";
Doxygen::mainPage ? Doxygen::mainPage->getDefFileName().data() : "[generated]";
int defLine =
Doxygen::mainPage ? Doxygen::mainPage->getDefLine() : -1;
......
......@@ -104,7 +104,7 @@ enum ClassMemberHighlight
CMHL_Properties,
CMHL_Events,
CMHL_Related,
CMHL_Total = CMHL_Events+1
CMHL_Total = CMHL_Related+1
};
enum FileMemberHighlight
......
......@@ -315,7 +315,7 @@ void MemberList::writeDeclarations(OutputList &ol,
{
//printf("subtitle=`%s'\n",subtitle);
ol.startMemberSubtitle();
ol.parseDoc("<generated>",-1,0,0,subtitle,FALSE,FALSE);
ol.parseDoc("[generated]",-1,0,0,subtitle,FALSE,FALSE);
ol.endMemberSubtitle();
}
......@@ -339,7 +339,7 @@ void MemberList::writeDeclarations(OutputList &ol,
{
//printf("Member group has docs!\n");
ol.startMemberGroupDocs();
ol.parseDoc("<generated>",-1,0,0,mg->documentation()+"\n",FALSE,FALSE);
ol.parseDoc("[generated]",-1,0,0,mg->documentation()+"\n",FALSE,FALSE);
ol.endMemberGroupDocs();
}
ol.startMemberGroup();
......
......@@ -199,7 +199,7 @@ static FILE *checkAndOpenFile(const QCString &absName)
QCString filterName = getFileFilter(absName);
if (!filterName.isEmpty())
{
QCString cmd = "\"" + filterName+"\" \""+absName+"\"";
QCString cmd = filterName+" \""+absName+"\"";
f=popen(cmd,"r");
if (!f) err("Error: could not execute filter %s\n",cmd.data());
}
......@@ -2296,7 +2296,7 @@ void preprocessFile(const char *fileName,BufStr &output)
}
else
{
QCString cmd = "\"" + inputFilter+"\" \""+fileName+"\"";
QCString cmd = inputFilter+" \""+fileName+"\"";
preYYin = popen(cmd,"r");
if (!preYYin)
{
......
......@@ -648,8 +648,8 @@ void RTFDocVisitor::visitPost(DocTitle *)
{
if (m_hide) return;
DBG_RTF("{\\comment RTFDocVisitor::visitPost(DocTitle)}\n");
m_t << "}"; // end bold
m_t << "\\par" << endl;
m_t << "}"; // end bold
incIndentLevel();
m_t << rtf_Style_Reset << getStyle("DescContinue");
m_lastIsPara=FALSE;
......
......@@ -3992,8 +3992,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
/* ---- Single line comments ------ */
<DocLine>[^\n]*"\n" { // whole line
yyLineNr++;
<DocLine>[^\n]*/"\n" { // whole line
handleCommentBlock(yytext,TRUE);
BEGIN( docBlockContext );
}
......
This diff is collapsed.
......@@ -129,10 +129,12 @@ void generateFileRef(OutputDocInterface &od,const char *,
const char *linkTxt=0);
void writePageRef(OutputDocInterface &od,const char *cn,const char *mn);
#if 0
bool matchArguments(ArgumentList *,ArgumentList *,
const char *cl=0,const char *ns=0,bool checkCV=TRUE,
NamespaceSDict *usingNamespaces=0,
SDict<Definition> *usingClasses=0);
#endif
bool matchArguments2(Definition *srcScope,FileDef *srcFileScope,ArgumentList *srcAl,
Definition *dstScope,FileDef *dstFileScope,ArgumentList *dstAl,
bool checkCV
......@@ -155,7 +157,7 @@ QCString showFileDefMatches(const FileNameDict *fnDict,const char *n);
int guessSection(const char *name);
bool isId(char c);
QCString removeRedundantWhiteSpace(const QCString &s);
QCString argListToString(ArgumentList *al);
QCString argListToString(ArgumentList *al,bool useCanonicalType=FALSE);
QCString tempArgListToString(ArgumentList *al);
QCString generateMarker(int id);
void writeExample(OutputList &ol,ExampleSDict *el);
......
......@@ -594,9 +594,9 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if (md->memberType() == MemberDef::Variable)
{
ArgumentList *al = md->argumentList();
t << " volatile=\"";
if (al && al->volatileSpecifier) t << "yes"; else t << "no";
//ArgumentList *al = md->argumentList();
//t << " volatile=\"";
//if (al && al->volatileSpecifier) t << "yes"; else t << "no";
t << "\" mutable=\"";
if (md->isMutable()) t << "yes"; else t << "no";
......@@ -723,7 +723,14 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
}
}
else if (md->memberType()==MemberDef::Define &&
md->argsString()!=0) // define
md->argsString()) // define
{
if (md->argumentList()->count()==0) // special case for "foo()" to
// disguish it from "foo".
{
t << " <param></param>" << endl;
}
else
{
ArgumentListIterator ali(*md->argumentList());
Argument *a;
......@@ -732,6 +739,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t << " <param><defname>" << a->type << "</defname></param>" << endl;
}
}
}
// avoid that extremely large tables are written to the output.
// todo: it's better to adhere to MAX_INITIALIZER_LINES.
if (!md->initializer().isEmpty() && md->initializer().length()<2000)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment