diff options
101 files changed, 511 insertions, 231 deletions
diff --git a/qtools/qcstring.cpp b/qtools/qcstring.cpp index 2f622df..1eb24aa 100644 --- a/qtools/qcstring.cpp +++ b/qtools/qcstring.cpp @@ -29,8 +29,9 @@ QCString &QCString::sprintf( const char *format, ... ) va_list ap; va_start( ap, format ); const int minlen=256; - if (length()<minlen) resize(minlen); - vsnprintf( data(), minlen, format, ap); + int l = length(); + if (l<minlen) { resize(minlen); l=minlen; } + int n=vsnprintf( data(), l, format, ap); resize(qstrlen(data())+1); va_end( ap ); return *this; diff --git a/qtools/qfile_unix.cpp b/qtools/qfile_unix.cpp index 0422fb4..dd41c4e 100644 --- a/qtools/qfile_unix.cpp +++ b/qtools/qfile_unix.cpp @@ -550,6 +550,7 @@ int QFile::writeBlock( const char *p, uint len ) return -1; } #endif + if (p==0) return 0; int nwritten; // number of bytes written if ( isRaw() ) // raw file nwritten = (int)WRITE( fd, p, len ); diff --git a/src/classdef.cpp b/src/classdef.cpp index 271634a..e6b9064 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -3879,7 +3879,8 @@ void ClassDef::addListReferences() : theTranslator->trClass(TRUE,TRUE), getOutputFileBase(), displayName(), - 0 + 0, + this ); } if (m_impl->memberGroupSDict) diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index b0ca85f..9b64401 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -140,6 +140,7 @@ CommandMap cmdMap[] = { "diafile", CMD_DIAFILE }, { "--", CMD_NDASH }, { "---", CMD_MDASH }, + { "_setscope", CMD_SETSCOPE }, { 0, 0 }, }; diff --git a/src/cmdmapper.h b/src/cmdmapper.h index 75fd8ec..87a3e66 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -129,7 +129,8 @@ enum CommandType CMD_NDASH = 99, CMD_MDASH = 100, CMD_STARTUML = 101, - CMD_ENDUML = 102 + CMD_ENDUML = 102, + CMD_SETSCOPE = 103 }; enum HtmlTagType diff --git a/src/condparser.h b/src/condparser.h index 0310f36..7c65411 100644 --- a/src/condparser.h +++ b/src/condparser.h @@ -28,24 +28,25 @@ class CondParser { // public functions public: + CondParser() : m_e(0), m_tokenType(NOTHING) {} bool parse(const char *fileName,int lineNr,const char *expr); // enumerations private: - enum TOKENTYPE + enum TOKENTYPE { - NOTHING = -1, - DELIMITER, - VARIABLE, + NOTHING = -1, + DELIMITER, + VARIABLE, UNKNOWN }; - enum OPERATOR_ID + enum OPERATOR_ID { - UNKNOWN_OP = -1, - AND = 1, - OR, + UNKNOWN_OP = -1, + AND = 1, + OR, NOT - }; + }; // data private: diff --git a/src/context.cpp b/src/context.cpp index 4b174b0..ec68e5e 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -5760,7 +5760,8 @@ class ClassTreeContext::Private : public PropertyMapper SharedPtr<NestingContext> m_classTree; struct Cachable { - Cachable() : maxDepthComputed(FALSE), preferredDepthComputed(FALSE) {} + Cachable() : maxDepth(0), maxDepthComputed(FALSE), + preferredDepth(0), preferredDepthComputed(FALSE) {} int maxDepth; bool maxDepthComputed; int preferredDepth; @@ -6168,7 +6169,8 @@ class FileTreeContext::Private : public PropertyMapper SharedPtr<NestingContext> m_dirFileTree; struct Cachable { - Cachable() : maxDepthComputed(FALSE), preferredDepthComputed(FALSE) {} + Cachable() : maxDepth(0), maxDepthComputed(FALSE), + preferredDepth(0), preferredDepthComputed(FALSE) {} int maxDepth; bool maxDepthComputed; int preferredDepth; diff --git a/src/definition.cpp b/src/definition.cpp index 4491bc4..4e90818 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -58,10 +58,10 @@ class DefinitionImpl SectionDict *sectionDict; // dictionary of all sections, not accessible - MemberSDict *sourceRefByDict; - MemberSDict *sourceRefsDict; - QList<ListItemInfo> *xrefListItems; - GroupList *partOfGroups; + MemberSDict *sourceRefByDict; + MemberSDict *sourceRefsDict; + QList<ListItemInfo> *xrefListItems; + GroupList *partOfGroups; DocInfo *details; // not exported DocInfo *inbodyDocs; // not exported @@ -89,11 +89,11 @@ class DefinitionImpl QCString id; // clang unique id }; -DefinitionImpl::DefinitionImpl() - : sectionDict(0), sourceRefByDict(0), sourceRefsDict(0), +DefinitionImpl::DefinitionImpl() + : sectionDict(0), sourceRefByDict(0), sourceRefsDict(0), xrefListItems(0), partOfGroups(0), - details(0), inbodyDocs(0), brief(0), body(0), - outerScope(0) + details(0), inbodyDocs(0), brief(0), body(0), hidden(FALSE), isArtificial(FALSE), + outerScope(0), lang(SrcLangExt_Unknown) { } diff --git a/src/diagram.cpp b/src/diagram.cpp index e50baec..cc16b50 100644 --- a/src/diagram.cpp +++ b/src/diagram.cpp @@ -1337,7 +1337,7 @@ void ClassDiagram::writeFigure(FTextStream &output,const char *path, QCString epstopdfArgs(4096); epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"", epsBaseName.data(),epsBaseName.data()); - //printf("Converting eps using `%s'\n",epstopdfCmd.data()); + //printf("Converting eps using `%s'\n",epstopdfArgs.data()); portable_sysTimerStart(); if (portable_system("epstopdf",epstopdfArgs)!=0) { diff --git a/src/dirdef.cpp b/src/dirdef.cpp index d2d9684..d4af3f0 100644 --- a/src/dirdef.cpp +++ b/src/dirdef.cpp @@ -18,7 +18,7 @@ static int g_dirCount=0; -DirDef::DirDef(const char *path) : Definition(path,1,1,path) +DirDef::DirDef(const char *path) : Definition(path,1,1,path), visited(FALSE) { bool fullPathNames = Config_getBool("FULL_PATH_NAMES"); // get display name (stipping the paths mentioned in STRIP_FROM_PATH) diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index cabb7ad..990224e 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -178,14 +178,14 @@ class TextGeneratorDocbookImpl : public TextGeneratorIntf class DocbookCodeGenerator : public CodeOutputInterface { public: - DocbookCodeGenerator(FTextStream &t) : m_t(t), m_lineNumber(-1), + DocbookCodeGenerator(FTextStream &t) : m_t(t), m_lineNumber(-1), m_col(0), m_insideCodeLine(FALSE), m_insideSpecialHL(FALSE) {} virtual ~DocbookCodeGenerator() {} void codify(const char *text) { Docbook_DB(("(codify \"%s\")\n",text)); - writeDocbookCodeString(m_t,text,col); + writeDocbookCodeString(m_t,text,m_col); } void writeCodeLink(const char *ref,const char *file, const char *anchor,const char *name, @@ -193,7 +193,7 @@ class DocbookCodeGenerator : public CodeOutputInterface { Docbook_DB(("(writeCodeLink)\n")); writeDocbookLink(m_t,ref,file,anchor,name,tooltip); - col+=strlen(name); + m_col+=strlen(name); } void writeTooltip(const char *, const DocLinkInfo &, const char *, const char *, const SourceLinkInfo &, const SourceLinkInfo & @@ -217,7 +217,7 @@ class DocbookCodeGenerator : public CodeOutputInterface } } m_insideCodeLine=TRUE; - col=0; + m_col=0; } void endCodeLine() { @@ -255,7 +255,6 @@ class DocbookCodeGenerator : public CodeOutputInterface { m_refId=compId; if (anchorId) m_refId+=(QCString)"_1"+anchorId; - m_isMemberRef = anchorId!=0; if (extRef) m_external=extRef; } } @@ -275,8 +274,7 @@ class DocbookCodeGenerator : public CodeOutputInterface QCString m_refId; QCString m_external; int m_lineNumber; - bool m_isMemberRef; - int col; + int m_col; bool m_insideCodeLine; bool m_insideSpecialHL; }; diff --git a/src/docparser.cpp b/src/docparser.cpp index b21c15c..a788e13 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -1410,6 +1410,17 @@ reparsetoken: doctokenizerYYsetStatePara(); } break; + case CMD_SETSCOPE: + { + QCString scope; + doctokenizerYYsetStateSetScope(); + doctokenizerYYlex(); + scope = g_token->name; + g_context = scope; + //printf("Found scope='%s'\n",scope.data()); + doctokenizerYYsetStatePara(); + } + break; default: return FALSE; } @@ -2089,6 +2100,11 @@ DocFormula::DocFormula(DocNode *parent,int id) : m_name.sprintf("form_%d",m_id); m_text = formula->getFormulaText(); } + else // wrong \form#<n> command + { + warn_doc_error(g_fileName,doctokenizerYYlineno,"Wrong formula id %d",id); + m_id = -1; + } } //--------------------------------------------------------------------------- @@ -2366,7 +2382,7 @@ DocRef::DocRef(DocNode *parent,const QCString &target,const QCString &context) : // compound->definitionType()); return; } - else if (compound->definitionType()==Definition::TypeFile && + else if (compound && compound->definitionType()==Definition::TypeFile && ((FileDef*)compound)->generateSourceFile() ) // undocumented file that has source code we can link to { @@ -2485,9 +2501,8 @@ DocCite::DocCite(DocNode *parent,const QCString &target,const QCString &) //cont DocLink::DocLink(DocNode *parent,const QCString &target) { - m_parent = parent; - Definition *compound; - //PageInfo *page; + m_parent = parent; + Definition *compound = 0; QCString anchor; m_refText = target; m_relPath = g_relPath; @@ -2504,7 +2519,7 @@ DocLink::DocLink(DocNode *parent,const QCString &target) m_file = compound->getOutputFileBase(); m_ref = compound->getReference(); } - else if (compound->definitionType()==Definition::TypeFile && + else if (compound && compound->definitionType()==Definition::TypeFile && ((FileDef*)compound)->generateSourceFile() ) // undocumented file that has source code we can link to { @@ -3308,7 +3323,6 @@ int DocIndexEntry::parse() break; } } - if (tok!=0) retval=tok; doctokenizerYYsetStatePara(); m_entry = m_entry.stripWhiteSpace(); endindexentry: @@ -6786,17 +6800,13 @@ int DocSection::parse() } else if ((m_level<=1+Doxygen::subpageNestingLevel && retval==RetVal_Subsubsection) || (m_level<=2+Doxygen::subpageNestingLevel && retval==RetVal_Paragraph) - ) + ) { - int level; - if (retval==RetVal_Subsection) level=2; - else if (retval==RetVal_Subsubsection) level=3; - else level=4; + int level = (retval==RetVal_Subsubsection) ? 3 : 4; warn_doc_error(g_fileName,doctokenizerYYlineno,"Unexpected %s " "command found inside %s!", sectionLevelToName[level],sectionLevelToName[m_level]); retval=0; // stop parsing - } else { diff --git a/src/doctokenizer.h b/src/doctokenizer.h index c95230b..65f3326 100644 --- a/src/doctokenizer.h +++ b/src/doctokenizer.h @@ -161,5 +161,6 @@ void doctokenizerYYsetStateSnippet(); void doctokenizerYYstartAutoList(); void doctokenizerYYendAutoList(); void doctokenizerYYsetStatePlantUML(); +void doctokenizerYYsetStateSetScope(); #endif diff --git a/src/doctokenizer.l b/src/doctokenizer.l index e0e72a7..aa8ef8d 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -370,12 +370,14 @@ SCOPECPP {SCOPEPRE}*(~)?{ID}{TEMPLPART}? SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}? SCOPEMASK {SCOPECPP}|{SCOPEOBJC} FUNCARG "("{FUNCPART}")"({BLANK}*("volatile"|"const"){BLANK})? +FUNCARG2 "("{FUNCPART}")"({BLANK}*("volatile"|"const"))? OPNEW {BLANK}+"new"({BLANK}*"[]")? OPDEL {BLANK}+"delete"({BLANK}*"[]")? OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" OPCAST {BLANK}+[^<(\r\n.,][^(\r\n.,]* OPMASK ({BLANK}*{OPNORM}{FUNCARG}) OPMASKOPT ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG}) +OPMASKOP2 ({BLANK}*{OPNORM}{FUNCARG2}?)|({OPCAST}{FUNCARG2}) LNKWORD1 ("::"|"#")?{SCOPEMASK} CVSPEC {BLANK}*("const"|"volatile") LNKWORD2 (({SCOPEPRE}*"operator"{OPMASK})|({SCOPEPRE}"operator"{OPMASKOPT})|(("::"|"#"){SCOPEPRE}*"operator"{OPMASKOPT})){CVSPEC}? @@ -390,9 +392,10 @@ HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*{WS}*(("/")?)">" HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"sup"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p" HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"SUP"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P" HTMLKEYW {HTMLKEYL}|{HTMLKEYU} -REFWORD2 ("#"|"::")?((({ID}{TEMPLPART}?)|{ANONNS})("."|"#"|"::"|"-"|"/"))*({ID}{TEMPLPART}?(":")?){FUNCARG}? +REFWORD2 ("#"|"::")?((({ID}{TEMPLPART}?)|{ANONNS})("."|"#"|"::"|"-"|"/"))*({ID}{TEMPLPART}?(":")?){FUNCARG2}? REFWORD3 ({ID}":")*{ID}":"? -REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2} +REFWORD4 (({SCOPEPRE}*"operator"{OPMASKOP2})|(("::"|"#"){SCOPEPRE}*"operator"{OPMASKOP2})){CVSPEC}? +REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{REFWORD4} %option noyywrap %option yylineno @@ -433,6 +436,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2} %x St_SkipTitle %x St_Anchor %x St_Snippet +%x St_SetScope %x St_Sections %s St_SecLabel1 @@ -1009,6 +1013,13 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2} <St_IntRef>{BLANK}+"\"" { BEGIN(St_Ref2); } +<St_SetScope>{SCOPEMASK}{BLANK} { + g_token->name = yytext; + g_token->name = g_token->name.stripWhiteSpace(); + return TK_WORD; + } +<St_SetScope>{BLANK} { + } <St_Ref2>"&"{ID}";" { /* symbol */ g_token->name = yytext; return TK_SYMBOL; @@ -1408,6 +1419,11 @@ void doctokenizerYYsetStateSnippet() BEGIN(St_Snippet); } +void doctokenizerYYsetStateSetScope() +{ + BEGIN(St_SetScope); +} + void doctokenizerYYcleanup() { yy_delete_buffer( YY_CURRENT_BUFFER ); diff --git a/src/doxygen.cpp b/src/doxygen.cpp index df1f853..821ebc5 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -5221,7 +5221,7 @@ static void addListReferences() addRefItem(xrefItems, name, theTranslator->trPage(TRUE,TRUE), - name,pd->title(),0); + name,pd->title(),0,0); } } @@ -5238,7 +5238,7 @@ static void addListReferences() addRefItem(xrefItems, name, theTranslator->trDir(TRUE,TRUE), - name,dd->displayName(),0); + name,dd->displayName(),0,0); } } @@ -8629,7 +8629,7 @@ static void buildPageList(EntryNav *rootNav) "page", name, title, - 0 + 0,0 ); rootNav->releaseEntry(); diff --git a/src/filedef.cpp b/src/filedef.cpp index 3ff69a4..42e3efc 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -1409,6 +1409,7 @@ void FileDef::addListReferences() getOutputFileBase(), theTranslator->trFile(TRUE,TRUE), getOutputFileBase(),name(), + 0, 0 ); } diff --git a/src/filename.cpp b/src/filename.cpp index 35a1841..8719f3c 100644 --- a/src/filename.cpp +++ b/src/filename.cpp @@ -45,9 +45,12 @@ void FileName::generateDiskNames() { // skip references for (it.toFirst();(fd=it.current()) && fd->isReference();++it) { } - // name if unique, so diskname is simply the name - //printf("!!!!!!!! Unique disk name=%s for fd=%s\n",name.data(),fd->diskname.data()); - fd->m_diskName=name; + if (fd) + { + // name if unique, so diskname is simply the name + //printf("!!!!!!!! Unique disk name=%s for fd=%s\n",name.data(),fd->diskname.data()); + fd->m_diskName=name; + } } else if (count>1) // multiple occurrences of the same file name { @@ -57,28 +60,31 @@ void FileName::generateDiskNames() while (!found) // search for the common prefix of all paths { for (it.toFirst();(fd=it.current()) && fd->isReference();++it) { } - char c=fd->m_path.at(i); - if (c=='/') j=i; // remember last position of dirname - ++it; - while ((fd=it.current()) && !found) + if (fd) { - if (!fd->isReference()) + char c=fd->m_path.at(i); + if (c=='/') j=i; // remember last position of dirname + ++it; + while ((fd=it.current()) && !found) { - //printf("i=%d j=%d fd->path=`%s' fd->name=`%s'\n",i,j,fd->path.left(i).data(),fd->name().data()); - if (i==(int)fd->m_path.length()) + if (!fd->isReference()) { - //warning("Input file %s found multiple times!\n" - // " The generated documentation for this file may not be correct!\n",fd->absFilePath().data()); - found=TRUE; - } - else if (fd->m_path[i]!=c) - { - found=TRUE; + //printf("i=%d j=%d fd->path=`%s' fd->name=`%s'\n",i,j,fd->path.left(i).data(),fd->name().data()); + if (i==(int)fd->m_path.length()) + { + //warning("Input file %s found multiple times!\n" + // " The generated documentation for this file may not be correct!\n",fd->absFilePath().data()); + found=TRUE; + } + else if (fd->m_path[i]!=c) + { + found=TRUE; + } } + ++it; } - ++it; + i++; } - i++; } for (it.toFirst();(fd=it.current());++it) { diff --git a/src/groupdef.cpp b/src/groupdef.cpp index 65e59f3..5993bb2 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -1534,6 +1534,7 @@ void GroupDef::addListReferences() getOutputFileBase(), theTranslator->trGroup(TRUE,TRUE), getOutputFileBase(),name(), + 0, 0 ); } diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index c4bd80a..3bb6792 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -737,17 +737,24 @@ void HtmlGenerator::init() if (f.open(IO_WriteOnly)) { const Resource *res = mgr.get("dynsections.js"); - FTextStream t(&f); - t << (const char *)res->data; - if (Config_getBool("SOURCE_BROWSER") && Config_getBool("SOURCE_TOOLTIPS")) + if (res) + { + FTextStream t(&f); + t << (const char *)res->data; + if (Config_getBool("SOURCE_BROWSER") && Config_getBool("SOURCE_TOOLTIPS")) + { + t << endl << + "$(document).ready(function() {\n" + " $('.code,.codeRef').each(function() {\n" + " $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());\n" + " $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });\n" + " });\n" + "});\n"; + } + } + else { - t << endl << - "$(document).ready(function() {\n" - " $('.code,.codeRef').each(function() {\n" - " $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());\n" - " $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });\n" - " });\n" - "});\n"; + err("Resource dynsections.js not compiled in"); } } } @@ -896,7 +903,6 @@ void HtmlGenerator::writeSearchInfo(FTextStream &t,const QCString &relPath) t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n"; t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n"; t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n"; - writeSearchCategories(t); t << "</div>\n"; t << "\n"; t << "<!-- iframe showing the search results (closed by default) -->\n"; diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in index 58563d1..1d242d0 100644 --- a/src/libdoxygen.t.in +++ b/src/libdoxygen.t.in @@ -121,6 +121,6 @@ TO_C_CMD=$(PYTHON) to_c_cmd.py < $< > $@ $(GENERATED_SRC)/layout_default.xml.h: layout_default.xml $(TO_C_CMD) -../generated_src/doxygen/resources.cpp: res2cc_cmd.py $(wildcard ../templates/html/*) +../generated_src/doxygen/resources.cpp: res2cc_cmd.py $(wildcard ../templates/html/*) $(wildcard ../templates/xml) $(wildcard ../templates/latex) $(PYTHON) res2cc_cmd.py ../templates ../generated_src/doxygen/resources.cpp diff --git a/src/markdown.cpp b/src/markdown.cpp index 72bab84..fdf1b0f 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -2375,7 +2375,7 @@ void MarkdownFileParser::parseInput(const char *fileName, Doxygen::markdownSupport = TRUE; bool needsEntry = FALSE; - Protection prot; + Protection prot=Public; while (parseCommentBlock( this, current, diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 66814a6..29595cf 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -738,7 +738,7 @@ MemberDef::MemberDef(const char *df,int dl,int dc, const char *t,const char *na,const char *a,const char *e, Protection p,Specifier v,bool s,Relationship r,MemberType mt, const ArgumentList *tal,const ArgumentList *al - ) : Definition(df,dl,dc,removeRedundantWhiteSpace(na)) + ) : Definition(df,dl,dc,removeRedundantWhiteSpace(na)), visited(FALSE) { //printf("MemberDef::MemberDef(%s)\n",na); m_impl = new MemberDefImpl; @@ -748,7 +748,7 @@ MemberDef::MemberDef(const char *df,int dl,int dc, m_isDestructorCached = 0; } -MemberDef::MemberDef(const MemberDef &md) : Definition(md) +MemberDef::MemberDef(const MemberDef &md) : Definition(md), visited(FALSE) { m_impl = new MemberDefImpl; m_isLinkableCached = 0; @@ -3507,7 +3507,7 @@ void MemberDef::addListReference(Definition *) addRefItem(xrefItems, qualifiedName()+argsString(), // argsString is needed for overloaded functions (see bug 609624) memLabel, - getOutputFileBase()+"#"+anchor(),memName,memArgs); + getOutputFileBase()+"#"+anchor(),memName,memArgs,pd); } } diff --git a/src/membergroup.cpp b/src/membergroup.cpp index 51eb4a1..aa0a36e 100644 --- a/src/membergroup.cpp +++ b/src/membergroup.cpp @@ -326,7 +326,7 @@ void MemberGroup::addListReferences(Definition *def) name, theTranslator->trGroup(TRUE,TRUE), name, - grpHeader,0); + grpHeader,0,def); } } diff --git a/src/memberlist.cpp b/src/memberlist.cpp index 68b3bcb..95726a0 100644 --- a/src/memberlist.cpp +++ b/src/memberlist.cpp @@ -33,16 +33,35 @@ #include "config.h" #include "docparser.h" -MemberList::MemberList() +MemberList::MemberList() : m_listType(MemberListType_pubMethods) { memberGroupList=0; + m_varCnt=0; + m_funcCnt=0; + m_enumCnt=0; + m_enumValCnt=0; + m_typeCnt=0; + m_protoCnt=0; + m_defCnt=0; + m_friendCnt=0; m_numDecMembers=-1; // special value indicating that value needs to be computed m_numDocMembers=-1; // special value indicating that value needs to be computed + m_inGroup=FALSE; + m_inFile=FALSE; + m_needsSorting=FALSE; } MemberList::MemberList(MemberListType lt) : m_listType(lt) { memberGroupList=0; + m_varCnt=0; + m_funcCnt=0; + m_enumCnt=0; + m_enumValCnt=0; + m_typeCnt=0; + m_protoCnt=0; + m_defCnt=0; + m_friendCnt=0; m_numDecMembers=-1; // special value indicating that value needs to be computed m_numDocMembers=-1; // special value indicating that value needs to be computed m_inGroup=FALSE; diff --git a/src/message.cpp b/src/message.cpp index 11b4502..4156720 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -152,15 +152,16 @@ static void format_warn(const char *file,int line,const char *text) static void do_warn(const char *tag, const char *file, int line, const char *prefix, const char *fmt, va_list args) { if (!Config_getBool(tag)) return; // warning type disabled - char text[40960]; + const int bufSize = 40960; + char text[bufSize]; int l=0; if (prefix) { - strcpy(text,prefix); + qstrncpy(text,prefix,bufSize); l=strlen(prefix); } - vsnprintf(text+l, 40960-l, fmt, args); - text[40960-1]='\0'; + vsnprintf(text+l, bufSize-l, fmt, args); + text[bufSize-1]='\0'; format_warn(file,line,text); } diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp index 8580a2e..6cf12b6 100644 --- a/src/namespacedef.cpp +++ b/src/namespacedef.cpp @@ -832,7 +832,8 @@ void NamespaceDef::addListReferences() theTranslator->trModule(TRUE,TRUE) : theTranslator->trNamespace(TRUE,TRUE), getOutputFileBase(),displayName(), - 0 + 0, + this ); } MemberGroupSDict::Iterator mgli(*memberGroupSDict); @@ -71,8 +71,8 @@ struct CondCtx struct FileState { - FileState(int size) : fileBuf(size), - oldFileBuf(0), oldFileBufPos(0) {} + FileState(int size) : lineNr(1), fileBuf(size), + oldFileBuf(0), oldFileBufPos(0), bufState(0) {} int lineNr; BufStr fileBuf; BufStr *oldFileBuf; diff --git a/src/pyscanner.l b/src/pyscanner.l index c67875e..1ac7b7a 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -938,6 +938,7 @@ STARTDOCSYMS "##" } ")" { // end of parameter list + current->args = argListToString(current->argList); } ":"{B} { @@ -1268,6 +1269,19 @@ STARTDOCSYMS "##" BEGIN(VariableEnd); } } + {TRIDOUBLEQUOTE} { // start of a comment block + g_specialBlock = FALSE; + current->program+=yytext; + initTriDoubleQuoteBlock(); + BEGIN(TripleComment); + } + + {TRISINGLEQUOTE} { // start of a comment block + g_specialBlock = FALSE; + current->program+=yytext; + initTriSingleQuoteBlock(); + BEGIN(TripleComment); + } "\"" { g_stringContext=YY_START; current->initializer+="\""; diff --git a/src/reflist.cpp b/src/reflist.cpp index ee6ac91..3cc7694 100644 --- a/src/reflist.cpp +++ b/src/reflist.cpp @@ -20,6 +20,7 @@ #include "reflist.h" #include "util.h" #include "ftextstream.h" +#include "definition.h" /*! Create a list of items that are cross referenced with documentation blocks * @param listName String representing the name of the list. @@ -144,6 +145,12 @@ void RefList::generatePage() doc += "\\anchor "; doc += item->listAnchor; doc += "\n"; + if (item->scope) + { + doc += "\\_setscope "; + doc += item->scope->name(); + doc += " "; + } doc += item->prefix; doc += " \\_internalref "; doc += item->name; @@ -166,6 +173,7 @@ void RefList::generatePage() doc += "</dd>"; } doc += "</dl>\n"; + //printf("generatePage('%s')\n",doc.data()); addRelatedPage(m_listName,m_pageTitle,doc,0,m_listName,1,0,0,0); } diff --git a/src/reflist.h b/src/reflist.h index 97b1420..5b647ea 100644 --- a/src/reflist.h +++ b/src/reflist.h @@ -23,14 +23,17 @@ #include <qlist.h> #include "sortdict.h" +class Definition; + /** This struct represents an item in the list of references. */ struct RefItem { - RefItem() /*: written(FALSE)*/ {} + RefItem() : scope(0) {} QCString text; //!< text of the item. QCString listAnchor; //!< anchor in the list QCString prefix; //!< type prefix for the name + Definition *scope; //!< scope to use for references. QCString name; //!< name of the entity containing the reference QCString title; //!< display name of the entity QCString args; //!< optional arguments for the entity (if function) diff --git a/src/res2cc_cmd.py b/src/res2cc_cmd.py index 40d2906..772ac84 100755 --- a/src/res2cc_cmd.py +++ b/src/res2cc_cmd.py @@ -1,3 +1,19 @@ +#!/usr/bin/python +# Script that compiles a set of resources into a single C++ source file. The C++ file +# offers an initResources() function, which registers the resources with the resource +# manager (class ResourceMgr) +# +# Copyright (C) 1997-2014 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# Documents produced by Doxygen are derivative works derived from the +# input used in their production; they are not affected by this license. +# from __future__ import print_function from os import listdir, stat, walk from os.path import isfile, join, splitext @@ -78,7 +94,7 @@ class LumaFile(File): def main(): if len(sys.argv)<3: - sys.exit('Usage: %s directory output_file.c' % sys.argv[0]) + sys.exit('Usage: %s directory output_file.cpp' % sys.argv[0]) directory = sys.argv[1] files = [] for dirName, subdirList, fileList in walk(directory): diff --git a/src/searchindex.cpp b/src/searchindex.cpp index da7c391..22727fe 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -1354,26 +1354,6 @@ void writeJavascriptSearchIndex() Doxygen::indexList->addStyleSheetFile("search/search.js"); } -void writeSearchCategories(FTextStream &t) -{ -#if 0 - static SearchIndexCategoryMapping map; - int i,j=0; - for (i=0;i<NUM_SEARCH_INDICES;i++) - { - if (g_searchIndexCount[i]>0) - { - t << "<a class=\"SelectItem\" href=\"javascript:void(0)\" " - << "onclick=\"searchBox.OnSelectItem(" << j << ")\">" - << "<span class=\"SelectionMark\"> </span>" - << convertToXML(map.categoryLabel[i]) - << "</a>"; - j++; - } - } -#endif -} - //--------------------------------------------------------------------------------------------- void initSearchIndexer() diff --git a/src/searchindex.h b/src/searchindex.h index 872c0d3..17d39a2 100644 --- a/src/searchindex.h +++ b/src/searchindex.h @@ -110,6 +110,5 @@ class SearchIndexExternal : public SearchIndexIntf //------- client side search index ---------------------- void writeJavascriptSearchIndex(); -void writeSearchCategories(FTextStream &t); #endif diff --git a/src/store.cpp b/src/store.cpp index 8916015..8d9a0cd 100644 --- a/src/store.cpp +++ b/src/store.cpp @@ -382,9 +382,9 @@ int Store::read(char *buf,uint size) void Store::printFreeList() { printf("FreeList: "); - portable_off_t pos = m_head->pos; - while (pos) + while (m_head) { + portable_off_t pos = m_head->pos; printf("%x ",(int)pos); m_head = m_head->next; } diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 4b21047..be0472a 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -251,8 +251,20 @@ class TagFileParser : public QXmlDefaultHandler { m_startElementHandlers.setAutoDelete(TRUE); m_endElementHandlers.setAutoDelete(TRUE); + m_curClass=0; + m_curFile=0; + m_curNamespace=0; + m_curPackage=0; + m_curGroup=0; + m_curPage=0; + m_curDir=0; + m_curMember=0; + m_curEnumValue=0; + m_curIncludes=0; + m_state = Invalid; + m_locator = 0; } - + void setDocumentLocator ( QXmlLocator * locator ) { m_locator = locator; diff --git a/src/template.cpp b/src/template.cpp index 2a40bfe..100de16 100644 --- a/src/template.cpp +++ b/src/template.cpp @@ -116,7 +116,7 @@ static QCString replace(const char *s,char csrc,char cdst) class TemplateVariant::Private { public: - Private() : raw(FALSE) {} + Private(Type t) : type(t), intVal(0), boolVal(TRUE), strukt(0), list(0), raw(FALSE) {} Type type; int intVal; QCString strVal; @@ -129,60 +129,52 @@ class TemplateVariant::Private TemplateVariant::TemplateVariant() { - p = new Private; - p->type=None; + p = new Private(None); } TemplateVariant::TemplateVariant(bool b) { - p = new Private; - p->type = Bool; + p = new Private(Bool); p->boolVal = b; } TemplateVariant::TemplateVariant(int v) { - p = new Private; - p->type = Integer; + p = new Private(Integer); p->intVal = v; } TemplateVariant::TemplateVariant(const char *s,bool raw) { - p = new Private; - p->type = String; + p = new Private(String); p->strVal = s; p->raw = raw; } TemplateVariant::TemplateVariant(const QCString &s,bool raw) { - p = new Private; - p->type = String; + p = new Private(String); p->strVal = s; p->raw = raw; } TemplateVariant::TemplateVariant(TemplateStructIntf *s) { - p = new Private; - p->type = Struct; + p = new Private(Struct); p->strukt = s; p->strukt->addRef(); } TemplateVariant::TemplateVariant(TemplateListIntf *l) { - p = new Private; - p->type = List; + p = new Private(List); p->list = l; p->list->addRef(); } TemplateVariant::TemplateVariant(const TemplateVariant::Delegate &delegate) { - p = new Private; - p->type = Function; + p = new Private(Function); p->delegate = delegate; } @@ -195,8 +187,7 @@ TemplateVariant::~TemplateVariant() TemplateVariant::TemplateVariant(const TemplateVariant &v) { - p = new Private; - p->type = v.p->type; + p = new Private(v.p->type); p->raw = v.p->raw; switch (p->type) { @@ -1436,11 +1427,11 @@ class ExprAstVariable : public ExprAst const QCString &name() const { return m_name; } virtual TemplateVariant resolve(TemplateContext *c) { - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); TemplateVariant v = c->get(m_name); + TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); if (!v.isValid()) { - ci->warn(ci->templateName(),ci->line(),"undefined variable '%s' in expression",m_name.data()); + if (ci) ci->warn(ci->templateName(),ci->line(),"undefined variable '%s' in expression",m_name.data()); } return v; } @@ -1487,6 +1478,7 @@ class ExprAstFilter : public ExprAst TemplateVariant apply(const TemplateVariant &v,TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return v; // should not happen TRACE(("Applying filter '%s' to '%s' (type=%d)\n",m_name.data(),v.toString().data(),v.type())); TemplateVariant arg; if (m_arg) arg = m_arg->resolve(c); @@ -1578,6 +1570,7 @@ class ExprAstBinary : public ExprAst virtual TemplateVariant resolve(TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return TemplateVariant(); // should not happen TemplateVariant lhs = m_lhs->resolve(c); TemplateVariant rhs = m_rhs ? m_rhs->resolve(c) : TemplateVariant(); switch(m_operator) @@ -2609,6 +2602,7 @@ class TemplateNodeText : public TemplateNode { //printf("TemplateNodeText::render(%s)\n",m_data.data()); TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen if (ci->spacelessEnabled()) { ts << ci->spacelessIntf()->remove(m_data); @@ -2647,6 +2641,7 @@ class TemplateNodeVariable : public TemplateNode void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_var) { @@ -2797,6 +2792,7 @@ class TemplateNodeIf : public TemplateNodeCreator<TemplateNodeIf> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); //printf("TemplateNodeIf::render #trueNodes=%d #falseNodes=%d\n",m_trueNodes.count(),m_falseNodes.count()); bool processed=FALSE; @@ -2861,6 +2857,7 @@ class TemplateNodeRepeat : public TemplateNodeCreator<TemplateNodeRepeat> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); TemplateVariant v; if (m_expr && (v=m_expr->resolve(c)).type()==TemplateVariant::Integer) @@ -2973,6 +2970,7 @@ class TemplateNodeRange : public TemplateNodeCreator<TemplateNodeRange> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); //printf("TemplateNodeRange::render #loopNodes=%d\n", // m_loopNodes.count()); @@ -3134,6 +3132,7 @@ class TemplateNodeFor : public TemplateNodeCreator<TemplateNodeFor> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); //printf("TemplateNodeFor::render #loopNodes=%d #emptyNodes=%d\n", // m_loopNodes.count(),m_emptyNodes.count()); @@ -3235,6 +3234,7 @@ class TemplateNodeMsg : public TemplateNodeCreator<TemplateNodeMsg> void render(FTextStream &, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); TemplateEscapeIntf *escIntf = ci->escapeIntf(); ci->setActiveEscapeIntf(0); // avoid escaping things we send to standard out @@ -3276,6 +3276,7 @@ class TemplateNodeBlock : public TemplateNodeCreator<TemplateNodeBlock> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); TemplateImpl *t = getTemplate(); if (t) @@ -3356,6 +3357,7 @@ class TemplateNodeExtend : public TemplateNodeCreator<TemplateNodeExtend> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_extendExpr==0) return; @@ -3374,7 +3376,6 @@ class TemplateNodeExtend : public TemplateNodeCreator<TemplateNodeExtend> if (baseTemplate) { // fill block context - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); TemplateBlockContext *bc = ci->blockContext(); // add overruling blocks to the context @@ -3435,6 +3436,7 @@ class TemplateNodeInclude : public TemplateNodeCreator<TemplateNodeInclude> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_includeExpr) { @@ -3514,6 +3516,7 @@ class TemplateNodeCreate : public TemplateNodeCreator<TemplateNodeCreate> void render(FTextStream &, TemplateContext *c) { TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_templateExpr && m_fileExpr) { @@ -3661,6 +3664,7 @@ class TemplateNodeTree : public TemplateNodeCreator<TemplateNodeTree> { //printf("TemplateNodeTree::render()\n"); TemplateContextImpl* ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); TemplateVariant v = m_treeExpr->resolve(c); const TemplateListIntf *list = v.toList(); @@ -3732,9 +3736,10 @@ class TemplateNodeIndexEntry : public TemplateNodeCreator<TemplateNodeIndexEntry } void render(FTextStream &, TemplateContext *c) { + TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen if (!m_name.isEmpty()) { - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); ci->setLocation(m_templateName,m_line); QListIterator<Mapping> it(m_args); Mapping *mapping; @@ -3775,9 +3780,10 @@ class TemplateNodeOpenSubIndex : public TemplateNodeCreator<TemplateNodeOpenSubI } void render(FTextStream &, TemplateContext *c) { + TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen if (!m_name.isEmpty()) { - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); ci->setLocation(m_templateName,m_line); ci->openSubIndex(m_name); } @@ -3810,9 +3816,10 @@ class TemplateNodeCloseSubIndex : public TemplateNodeCreator<TemplateNodeCloseSu } void render(FTextStream &, TemplateContext *c) { + TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen if (!m_name.isEmpty()) { - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); ci->setLocation(m_templateName,m_line); ci->closeSubIndex(m_name); } @@ -3873,6 +3880,7 @@ class TemplateNodeWith : public TemplateNodeCreator<TemplateNodeWith> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); c->push(); QListIterator<Mapping> it(m_args); @@ -3984,6 +3992,7 @@ class TemplateNodeSet : public TemplateNodeCreator<TemplateNodeSet> void render(FTextStream &, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_mapping) { @@ -4014,6 +4023,7 @@ class TemplateNodeSpaceless : public TemplateNodeCreator<TemplateNodeSpaceless> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); bool wasSpaceless = ci->spacelessEnabled(); ci->enableSpaceless(TRUE); @@ -4056,6 +4066,7 @@ class TemplateNodeMarkers : public TemplateNodeCreator<TemplateNodeMarkers> void render(FTextStream &ts, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (!m_var.isEmpty() && m_listExpr && m_patternExpr) { @@ -4152,9 +4163,15 @@ class TemplateNodeResource : public TemplateNodeCreator<TemplateNodeResource> } TRACE(("}TemplateNodeResource(%s)\n",data.data())); } + ~TemplateNodeResource() + { + delete m_resExpr; + delete m_asExpr; + } void render(FTextStream &, TemplateContext *c) { TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen ci->setLocation(m_templateName,m_line); if (m_resExpr) { @@ -4712,12 +4729,13 @@ TemplateImpl::TemplateImpl(TemplateEngine *engine,const QCString &name,const cha void TemplateImpl::render(FTextStream &ts, TemplateContext *c) { + TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); + if (ci==0) return; // should not happen if (!m_nodes.isEmpty()) { TemplateNodeExtend *ne = dynamic_cast<TemplateNodeExtend*>(m_nodes.getFirst()); if (ne==0) // normal template, add blocks to block context { - TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c); TemplateBlockContext *bc = ci->blockContext(); QListIterator<TemplateNode> li(m_nodes); TemplateNode *n; diff --git a/src/translator_hr.h b/src/translator_hr.h index 70dba21..98a746a 100644 --- a/src/translator_hr.h +++ b/src/translator_hr.h @@ -943,9 +943,9 @@ class TranslatorCroatian : public TranslatorAdapter_1_8_2 * be followed by a single name or by a list of names * of the category. */ - virtual QCString trMember(bool first_capital, bool singular) + virtual QCString trMember(bool, bool singular) { - QCString result((first_capital ? "član" : "član")); + QCString result("član"); if (!singular) result+="ovi"; return result; } diff --git a/src/util.cpp b/src/util.cpp index d01126f..8f7765a 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -3700,7 +3700,7 @@ void mergeArguments(ArgumentList *srcAl,ArgumentList *dstAl,bool forceNameOverwr ArgumentListIterator srcAli(*srcAl),dstAli(*dstAl); Argument *srcA,*dstA; - for (;(srcA=srcAli.current(),dstA=dstAli.current());++srcAli,++dstAli) + for (;(srcA=srcAli.current()) && (dstA=dstAli.current());++srcAli,++dstAli) { if (srcA->defval.isEmpty() && !dstA->defval.isEmpty()) { @@ -6027,10 +6027,11 @@ QCString substituteTemplateArgumentsInString( // for its template instance argument. bool found=FALSE; for (formAli.toFirst(); - (formArg=formAli.current()) && !found && (actArg=actAli.current()); + (formArg=formAli.current()) && !found; ++formAli,++actAli ) { + actArg = actAli.current(); if (formArg->type.left(6)=="class " && formArg->name.isEmpty()) { formArg->name = formArg->type.mid(6); @@ -6046,7 +6047,7 @@ QCString substituteTemplateArgumentsInString( //printf("n=%s formArg->type='%s' formArg->name='%s' formArg->defval='%s'\n", // n.data(),formArg->type.data(),formArg->name.data(),formArg->defval.data()); //printf(">> formArg->name='%s' actArg->type='%s' actArg->name='%s'\n", - // formArg->name.data(),actArg->type.data(),actArg->name.data() + // formArg->name.data(),actArg ? actArg->type.data() : "",actArg ? actArg->name.data() : "" // ); if (formArg->name==n && actArg && !actArg->type.isEmpty()) // base class is a template argument { @@ -6364,7 +6365,7 @@ PageDef *addRelatedPage(const char *name,const QCString &ptitle, void addRefItem(const QList<ListItemInfo> *sli, const char *key, - const char *prefix, const char *name,const char *title,const char *args) + const char *prefix, const char *name,const char *title,const char *args,Definition *scope) { //printf("addRefItem(sli=%p,key=%s,prefix=%s,name=%s,title=%s,args=%s)\n",sli,key,prefix,name,title,args); if (sli && key && key[0]!='@') // check for @ to skip anonymous stuff (see bug427012) @@ -6389,6 +6390,7 @@ void addRefItem(const QList<ListItemInfo> *sli, ASSERT(item!=0); item->prefix = prefix; + item->scope = scope; item->name = name; item->title = title; item->args = args; @@ -316,7 +316,7 @@ int filterCRLF(char *buf,int len); void addRefItem(const QList<ListItemInfo> *sli,const char *prefix, const char *key, - const char *name,const char *title,const char *args); + const char *name,const char *title,const char *args,Definition *scope); PageDef *addRelatedPage(const char *name,const QCString &ptitle, const QCString &doc,QList<SectionInfo> *anchors, diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 01d7f9d..8e1d02f 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -224,12 +224,11 @@ class XMLCodeGenerator : public CodeOutputInterface { public: - XMLCodeGenerator(FTextStream &t) : m_t(t), m_lineNumber(-1), - m_insideCodeLine(FALSE), m_normalHLNeedStartTag(TRUE), - m_insideSpecialHL(FALSE) {} + XMLCodeGenerator(FTextStream &t) : m_t(t), m_lineNumber(-1), m_isMemberRef(FALSE), m_col(0), + m_insideCodeLine(FALSE), m_normalHLNeedStartTag(TRUE), m_insideSpecialHL(FALSE) {} virtual ~XMLCodeGenerator() { } - - void codify(const char *text) + + void codify(const char *text) { XML_DB(("(codify \"%s\")\n",text)); if (m_insideCodeLine && !m_insideSpecialHL && m_normalHLNeedStartTag) @@ -237,11 +236,11 @@ class XMLCodeGenerator : public CodeOutputInterface m_t << "<highlight class=\"normal\">"; m_normalHLNeedStartTag=FALSE; } - writeXMLCodeString(m_t,text,col); + writeXMLCodeString(m_t,text,m_col); } void writeCodeLink(const char *ref,const char *file, const char *anchor,const char *name, - const char *tooltip) + const char *tooltip) { XML_DB(("(writeCodeLink)\n")); if (m_insideCodeLine && !m_insideSpecialHL && m_normalHLNeedStartTag) @@ -250,7 +249,7 @@ class XMLCodeGenerator : public CodeOutputInterface m_normalHLNeedStartTag=FALSE; } writeXMLLink(m_t,ref,file,anchor,name,tooltip); - col+=qstrlen(name); + m_col+=qstrlen(name); } void writeTooltip(const char *, const DocLinkInfo &, const char *, const char *, const SourceLinkInfo &, const SourceLinkInfo & @@ -258,7 +257,7 @@ class XMLCodeGenerator : public CodeOutputInterface { XML_DB(("(writeToolTip)\n")); } - void startCodeLine(bool) + void startCodeLine(bool) { XML_DB(("(startCodeLine)\n")); m_t << "<codeline"; @@ -282,11 +281,11 @@ class XMLCodeGenerator : public CodeOutputInterface m_t << " external=\"" << m_external << "\""; } } - m_t << ">"; + m_t << ">"; m_insideCodeLine=TRUE; - col=0; + m_col=0; } - void endCodeLine() + void endCodeLine() { XML_DB(("(endCodeLine)\n")); if (!m_insideSpecialHL && !m_normalHLNeedStartTag) @@ -300,7 +299,7 @@ class XMLCodeGenerator : public CodeOutputInterface m_external.resize(0); m_insideCodeLine=FALSE; } - void startFontClass(const char *colorClass) + void startFontClass(const char *colorClass) { XML_DB(("(startFontClass)\n")); if (m_insideCodeLine && !m_insideSpecialHL && !m_normalHLNeedStartTag) @@ -325,7 +324,7 @@ class XMLCodeGenerator : public CodeOutputInterface const char *anchorId,int l) { XML_DB(("(writeLineNumber)\n")); - // we remember the information provided here to use it + // we remember the information provided here to use it // at the <codeline> start tag. m_lineNumber = l; if (compId) @@ -349,12 +348,12 @@ class XMLCodeGenerator : public CodeOutputInterface } private: - FTextStream &m_t; + FTextStream &m_t; QCString m_refId; QCString m_external; int m_lineNumber; bool m_isMemberRef; - int col; + int m_col; bool m_insideCodeLine; bool m_normalHLNeedStartTag; @@ -1251,7 +1250,8 @@ static void generateXMLForClass(ClassDef *cd,FTextStream &ti) writeXMLHeader(t); t << " <compounddef id=\"" << classOutputFileBase(cd) << "\" kind=\"" - << cd->compoundTypeString() << "\" prot=\""; + << cd->compoundTypeString() << "\" language=\"" + << langToString(cd->getLanguage()) << "\" prot=\""; switch (cd->protection()) { case Public: t << "public"; break; @@ -1448,8 +1448,9 @@ static void generateXMLForNamespace(NamespaceDef *nd,FTextStream &ti) //t.setEncoding(FTextStream::UnicodeUTF8); writeXMLHeader(t); - t << " <compounddef id=\"" - << nd->getOutputFileBase() << "\" kind=\"namespace\">" << endl; + t << " <compounddef id=\"" << nd->getOutputFileBase() + << "\" kind=\"namespace\" language=\"" + << langToString(nd->getLanguage()) << "\">" << endl; t << " <compoundname>"; writeXMLString(t,nd->name()); t << "</compoundname>" << endl; @@ -1528,8 +1529,9 @@ static void generateXMLForFile(FileDef *fd,FTextStream &ti) //t.setEncoding(FTextStream::UnicodeUTF8); writeXMLHeader(t); - t << " <compounddef id=\"" - << fd->getOutputFileBase() << "\" kind=\"file\">" << endl; + t << " <compounddef id=\"" << fd->getOutputFileBase() + << "\" kind=\"file\" language=\"" + << langToString(fd->getLanguage()) << "\">" << endl; t << " <compoundname>"; writeXMLString(t,fd->name()); t << "</compoundname>" << endl; diff --git a/templates/xml/compound.xsd b/templates/xml/compound.xsd index be897c3..50e532e 100644 --- a/templates/xml/compound.xsd +++ b/templates/xml/compound.xsd @@ -39,6 +39,7 @@ </xsd:sequence> <xsd:attribute name="id" type="xsd:string" /> <xsd:attribute name="kind" type="DoxCompoundKind" /> + <xsd:attribute name="language" type="DoxLanguage" use="optional"/> <xsd:attribute name="prot" type="DoxProtectionKind" /> <xsd:attribute name="final" type="DoxBool" use="optional"/> <xsd:attribute name="sealed" type="DoxBool" use="optional"/> @@ -686,6 +687,26 @@ </xsd:restriction> </xsd:simpleType> + <xsd:simpleType name="DoxLanguage"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Unknown" /> + <xsd:enumeration value="IDL" /> + <xsd:enumeration value="Java" /> + <xsd:enumeration value="C#" /> + <xsd:enumeration value="D" /> + <xsd:enumeration value="PHP" /> + <xsd:enumeration value="Objective-C" /> + <xsd:enumeration value="C++" /> + <xsd:enumeration value="Javascript" /> + <xsd:enumeration value="Python" /> + <xsd:enumeration value="Fortran" /> + <xsd:enumeration value="VHDL" /> + <xsd:enumeration value="XML" /> + <xsd:enumeration value="Tcl" /> + <xsd:enumeration value="Markdown" /> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="DoxVirtualKind"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="non-virtual" /> diff --git a/testing/008/008__brief_8c.xml b/testing/008/008__brief_8c.xml index 3416798..4fcf6a6 100644 --- a/testing/008/008__brief_8c.xml +++ b/testing/008/008__brief_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="008__brief_8c" kind="file"> + <compounddef id="008__brief_8c" kind="file" language="C++"> <compoundname>008_brief.c</compoundname> <briefdescription> <para>A brief description. </para> diff --git a/testing/009/class_bug.xml b/testing/009/class_bug.xml index 75a3fa1..dc1ff06 100644 --- a/testing/009/class_bug.xml +++ b/testing/009/class_bug.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_bug" kind="class" prot="public"> + <compounddef id="class_bug" kind="class" language="C++" prot="public"> <compoundname>Bug</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_bug_1a1f720954dd97cd1203e80501a6eae74c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/009/class_deprecated.xml b/testing/009/class_deprecated.xml index 2420466..53a6273 100644 --- a/testing/009/class_deprecated.xml +++ b/testing/009/class_deprecated.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_deprecated" kind="class" prot="public"> + <compounddef id="class_deprecated" kind="class" language="C++" prot="public"> <compoundname>Deprecated</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_deprecated_1a1d5f6803e72c625727e7083d1722dbf9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/009/class_reminder.xml b/testing/009/class_reminder.xml index 2f3c641..c4f639e 100644 --- a/testing/009/class_reminder.xml +++ b/testing/009/class_reminder.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_reminder" kind="class" prot="public"> + <compounddef id="class_reminder" kind="class" language="C++" prot="public"> <compoundname>Reminder</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_reminder_1a173b5218bb11287b0e86a550d9f0728d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/009/class_test.xml b/testing/009/class_test.xml index 505617f..b9f7f9f 100644 --- a/testing/009/class_test.xml +++ b/testing/009/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_test_1a9fc54b716f326514a4c5f434137f4fc0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/009/class_todo.xml b/testing/009/class_todo.xml index 0ac555f..c98fdac 100644 --- a/testing/009/class_todo.xml +++ b/testing/009/class_todo.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_todo" kind="class" prot="public"> + <compounddef id="class_todo" kind="class" language="C++" prot="public"> <compoundname>Todo</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_todo_1a9e70ec9176ac4c1b20e011b4daddc9d8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/011/category_integer_07_arithmetic_08.xml b/testing/011/category_integer_07_arithmetic_08.xml index 9d64d98..73308db 100644 --- a/testing/011/category_integer_07_arithmetic_08.xml +++ b/testing/011/category_integer_07_arithmetic_08.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="category_integer_07_arithmetic_08" kind="category" prot="public"> + <compounddef id="category_integer_07_arithmetic_08" kind="category" language="Objective-C" prot="public"> <compoundname>Integer(Arithmetic)</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="category_integer_07_arithmetic_08_1a12f411c5872ba3bafb8ea7dd1826cf2a" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual"> diff --git a/testing/011/interface_integer.xml b/testing/011/interface_integer.xml index bdbcad2..e922dda 100644 --- a/testing/011/interface_integer.xml +++ b/testing/011/interface_integer.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="interface_integer" kind="class" prot="public"> + <compounddef id="interface_integer" kind="class" language="Objective-C" prot="public"> <compoundname>Integer</compoundname> <basecompoundref prot="public" virt="non-virtual">Object</basecompoundref> <sectiondef kind="protected-attrib"> diff --git a/testing/013/class_t1.xml b/testing/013/class_t1.xml index 2a9b415..e0dc3a2 100644 --- a/testing/013/class_t1.xml +++ b/testing/013/class_t1.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_t1" kind="class" prot="public"> + <compounddef id="class_t1" kind="class" language="C++" prot="public"> <compoundname>T1</compoundname> <includes refid="013__class_8h" local="yes">inc/013_class.h</includes> <briefdescription> diff --git a/testing/013/class_t2.xml b/testing/013/class_t2.xml index 9c85ff6..ca534e6 100644 --- a/testing/013/class_t2.xml +++ b/testing/013/class_t2.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_t2" kind="class" prot="public"> + <compounddef id="class_t2" kind="class" language="C++" prot="public"> <compoundname>T2</compoundname> <includes refid="013__class_8h" local="no">013_class.h</includes> <briefdescription> diff --git a/testing/013/class_t3.xml b/testing/013/class_t3.xml index 49e7a16..2fba932 100644 --- a/testing/013/class_t3.xml +++ b/testing/013/class_t3.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_t3" kind="class" prot="public"> + <compounddef id="class_t3" kind="class" language="C++" prot="public"> <compoundname>T3</compoundname> <includes refid="013__class_8h" local="no">013_class.h</includes> <briefdescription> diff --git a/testing/013/class_t4.xml b/testing/013/class_t4.xml index d87571d..907049f 100644 --- a/testing/013/class_t4.xml +++ b/testing/013/class_t4.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_t4" kind="class" prot="public"> + <compounddef id="class_t4" kind="class" language="C++" prot="public"> <compoundname>T4</compoundname> <includes refid="013__class_8h" local="yes">inc/013_class.h</includes> <briefdescription> diff --git a/testing/015/015__cond_8c.xml b/testing/015/015__cond_8c.xml index 39baed7..fb3a06c 100644 --- a/testing/015/015__cond_8c.xml +++ b/testing/015/015__cond_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="015__cond_8c" kind="file"> + <compounddef id="015__cond_8c" kind="file" language="C++"> <compoundname>015_cond.c</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="015__cond_8c_1a2521dcda743ec66ad8e030113d6e0c63" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/016/016__copydoc_8c.xml b/testing/016/016__copydoc_8c.xml index dd1de8f..992122d 100644 --- a/testing/016/016__copydoc_8c.xml +++ b/testing/016/016__copydoc_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="016__copydoc_8c" kind="file"> + <compounddef id="016__copydoc_8c" kind="file" language="C++"> <compoundname>016_copydoc.c</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="016__copydoc_8c_1af721a79655a3857b98d70fa6ada8a916" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/018/018__def_8c.xml b/testing/018/018__def_8c.xml index b55a2eb..0b30670 100644 --- a/testing/018/018__def_8c.xml +++ b/testing/018/018__def_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="018__def_8c" kind="file"> + <compounddef id="018__def_8c" kind="file" language="C++"> <compoundname>018_def.c</compoundname> <sectiondef kind="define"> <memberdef kind="define" id="018__def_8c_1a824c99cb152a3c2e9111a2cb9c34891e" prot="public" static="no"> diff --git a/testing/025/class_test.xml b/testing/025/class_test.xml index 8d3f076..f0c7abd 100644 --- a/testing/025/class_test.xml +++ b/testing/025/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_test_1a47b775f65718978f1ffcd96376f8ecfa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/026/class_test.xml b/testing/026/class_test.xml index f49cc8d..a332757 100644 --- a/testing/026/class_test.xml +++ b/testing/026/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <templateparamlist> <param> diff --git a/testing/027/struct_car.xml b/testing/027/struct_car.xml index 0e40922..c73ad34 100644 --- a/testing/027/struct_car.xml +++ b/testing/027/struct_car.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_car" kind="struct" prot="public"> + <compounddef id="struct_car" kind="struct" language="C++" prot="public"> <compoundname>Car</compoundname> <basecompoundref refid="struct_vehicle" prot="public" virt="non-virtual">Vehicle</basecompoundref> <sectiondef kind="protected-attrib"> diff --git a/testing/027/struct_object.xml b/testing/027/struct_object.xml index 107548d..4047446 100644 --- a/testing/027/struct_object.xml +++ b/testing/027/struct_object.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_object" kind="struct" prot="public"> + <compounddef id="struct_object" kind="struct" language="C++" prot="public"> <compoundname>Object</compoundname> <derivedcompoundref refid="struct_vehicle" prot="public" virt="non-virtual">Vehicle</derivedcompoundref> <sectiondef kind="private-attrib"> diff --git a/testing/027/struct_truck.xml b/testing/027/struct_truck.xml index 1da9e2f..14ebde2 100644 --- a/testing/027/struct_truck.xml +++ b/testing/027/struct_truck.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_truck" kind="struct" prot="public"> + <compounddef id="struct_truck" kind="struct" language="C++" prot="public"> <compoundname>Truck</compoundname> <basecompoundref refid="struct_vehicle" prot="public" virt="non-virtual">Vehicle</basecompoundref> <sectiondef kind="protected-attrib"> diff --git a/testing/027/struct_vehicle.xml b/testing/027/struct_vehicle.xml index a1f7654..bf480e8 100644 --- a/testing/027/struct_vehicle.xml +++ b/testing/027/struct_vehicle.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_vehicle" kind="struct" prot="public"> + <compounddef id="struct_vehicle" kind="struct" language="C++" prot="public"> <compoundname>Vehicle</compoundname> <basecompoundref refid="struct_object" prot="public" virt="non-virtual">Object</basecompoundref> <derivedcompoundref refid="struct_car" prot="public" virt="non-virtual">Car</derivedcompoundref> diff --git a/testing/029/029__hideinit_8c.xml b/testing/029/029__hideinit_8c.xml index 4bf1516..f5db794 100644 --- a/testing/029/029__hideinit_8c.xml +++ b/testing/029/029__hideinit_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="029__hideinit_8c" kind="file"> + <compounddef id="029__hideinit_8c" kind="file" language="C++"> <compoundname>029_hideinit.c</compoundname> <sectiondef kind="var"> <memberdef kind="variable" id="029__hideinit_8c_1a799f44203647e4c53bdb0386aa95680f" prot="public" static="no" mutable="no"> diff --git a/testing/035/035__invariant_8c.xml b/testing/035/035__invariant_8c.xml index d036388..f1a924d 100644 --- a/testing/035/035__invariant_8c.xml +++ b/testing/035/035__invariant_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="035__invariant_8c" kind="file"> + <compounddef id="035__invariant_8c" kind="file" language="C++"> <compoundname>035_invariant.c</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="035__invariant_8c_1a92e32ddd4278ab907422d5aaa34cb796" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/036/036__link_8c.xml b/testing/036/036__link_8c.xml index 4347d4b..c0dea58 100644 --- a/testing/036/036__link_8c.xml +++ b/testing/036/036__link_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="036__link_8c" kind="file"> + <compounddef id="036__link_8c" kind="file" language="C++"> <compoundname>036_link.c</compoundname> <innerclass refid="class_test" prot="public">Test</innerclass> <sectiondef kind="func"> diff --git a/testing/037/class_receiver.xml b/testing/037/class_receiver.xml index eb37d47..fc63646 100644 --- a/testing/037/class_receiver.xml +++ b/testing/037/class_receiver.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_receiver" kind="class" prot="public"> + <compounddef id="class_receiver" kind="class" language="C++" prot="public"> <compoundname>Receiver</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_receiver_1a162099741e0324e6254c9bc570566e40" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/037/class_sender.xml b/testing/037/class_sender.xml index 117ed93..4254384 100644 --- a/testing/037/class_sender.xml +++ b/testing/037/class_sender.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_sender" kind="class" prot="public"> + <compounddef id="class_sender" kind="class" language="C++" prot="public"> <compoundname>Sender</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_sender_1a8ad2c6f9baa4e798868fe4a4d45f8fda" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/039/class_test.xml b/testing/039/class_test.xml index 3f38916..244e88d 100644 --- a/testing/039/class_test.xml +++ b/testing/039/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="user-defined"> <header>A group of functions.</header> diff --git a/testing/040/namespace_n_s.xml b/testing/040/namespace_n_s.xml index 14ffc26..64beb23 100644 --- a/testing/040/namespace_n_s.xml +++ b/testing/040/namespace_n_s.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace_n_s" kind="namespace"> + <compounddef id="namespace_n_s" kind="namespace" language="C++"> <compoundname>NS</compoundname> <briefdescription> </briefdescription> diff --git a/testing/041/class_test.xml b/testing/041/class_test.xml index 294b67c..7068026 100644 --- a/testing/041/class_test.xml +++ b/testing/041/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_test_1a8e7b46ceaf7bd2ab94114b390b3288ca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/042/namespaceorg_1_1doxygen_1_1_test.xml b/testing/042/namespaceorg_1_1doxygen_1_1_test.xml index b48c307..7ed33d5 100644 --- a/testing/042/namespaceorg_1_1doxygen_1_1_test.xml +++ b/testing/042/namespaceorg_1_1doxygen_1_1_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespaceorg_1_1doxygen_1_1_test" kind="namespace"> + <compounddef id="namespaceorg_1_1doxygen_1_1_test" kind="namespace" language="Java"> <compoundname>org::doxygen::Test</compoundname> <briefdescription> </briefdescription> diff --git a/testing/044/struct_s.xml b/testing/044/struct_s.xml index 9505f8c..2aa62c2 100644 --- a/testing/044/struct_s.xml +++ b/testing/044/struct_s.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_s" kind="struct" prot="public"> + <compounddef id="struct_s" kind="struct" language="C++" prot="public"> <compoundname>S</compoundname> <includes refid="044__section_8h" local="no">044_section.h</includes> <sectiondef kind="public-attrib"> diff --git a/testing/046/046__related_8cpp.xml b/testing/046/046__related_8cpp.xml index 0291e84..9f5eab6 100644 --- a/testing/046/046__related_8cpp.xml +++ b/testing/046/046__related_8cpp.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="046__related_8cpp" kind="file"> + <compounddef id="046__related_8cpp" kind="file" language="C++"> <compoundname>046_related.cpp</compoundname> <innerclass refid="class_test" prot="public">Test</innerclass> <sectiondef kind="func"> diff --git a/testing/046/class_test.xml b/testing/046/class_test.xml index 3c631ab..62712d4 100644 --- a/testing/046/class_test.xml +++ b/testing/046/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="C++" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_test_1a1683da699dc049d74101488d143c8e98" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/047/047__return_8cpp.xml b/testing/047/047__return_8cpp.xml index 2ed45d1..b57a0c3 100644 --- a/testing/047/047__return_8cpp.xml +++ b/testing/047/047__return_8cpp.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="047__return_8cpp" kind="file"> + <compounddef id="047__return_8cpp" kind="file" language="C++"> <compoundname>047_return.cpp</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="047__return_8cpp_1aab0ee031d46db05d47213d2625ab6aac" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/048/048__showinit_8c.xml b/testing/048/048__showinit_8c.xml index a44ccb9..34b2c1c 100644 --- a/testing/048/048__showinit_8c.xml +++ b/testing/048/048__showinit_8c.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="048__showinit_8c" kind="file"> + <compounddef id="048__showinit_8c" kind="file" language="C++"> <compoundname>048_showinit.c</compoundname> <sectiondef kind="var"> <memberdef kind="variable" id="048__showinit_8c_1a799f44203647e4c53bdb0386aa95680f" prot="public" static="no" mutable="no"> diff --git a/testing/054/054__parblock_8cpp.xml b/testing/054/054__parblock_8cpp.xml index a562a6d..ae6e462 100644 --- a/testing/054/054__parblock_8cpp.xml +++ b/testing/054/054__parblock_8cpp.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="054__parblock_8cpp" kind="file"> + <compounddef id="054__parblock_8cpp" kind="file" language="C++"> <compoundname>054_parblock.cpp</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="054__parblock_8cpp_1a2dd0ac47f42a9994b91d34403be05fe9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/057/057__caller__graphs_8tcl.xml b/testing/057/057__caller__graphs_8tcl.xml index 4c54e1c..c3dfb78 100644 --- a/testing/057/057__caller__graphs_8tcl.xml +++ b/testing/057/057__caller__graphs_8tcl.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="057__caller__graphs_8tcl" kind="file"> + <compounddef id="057__caller__graphs_8tcl" kind="file" language="Tcl"> <compoundname>057_caller_graphs.tcl</compoundname> <innernamespace refid="namespacebar">bar</innernamespace> <innernamespace refid="namespacefoo">foo</innernamespace> diff --git a/testing/057/__057__caller__graphs_8tcl.xml b/testing/057/__057__caller__graphs_8tcl.xml index 2fdcf6a..48ab815 100644 --- a/testing/057/__057__caller__graphs_8tcl.xml +++ b/testing/057/__057__caller__graphs_8tcl.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="__057__caller__graphs_8tcl" kind="file"> + <compounddef id="__057__caller__graphs_8tcl" kind="file" language="Tcl"> <compoundname>_057_caller_graphs.tcl</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="__057__caller__graphs_8tcl_1a7c3c8acee94bf61ba9e911dafe35adac" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/057/namespace1.xml b/testing/057/namespace1.xml index e74d8fe..6a40cc4 100644 --- a/testing/057/namespace1.xml +++ b/testing/057/namespace1.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace1" kind="namespace"> + <compounddef id="namespace1" kind="namespace" language="Tcl"> <compoundname>1</compoundname> <innernamespace refid="namespace1_1_11">1::1</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace1_1_11.xml b/testing/057/namespace1_1_11.xml index e5c5596..8ff3ce9 100644 --- a/testing/057/namespace1_1_11.xml +++ b/testing/057/namespace1_1_11.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace1_1_11" kind="namespace"> + <compounddef id="namespace1_1_11" kind="namespace" language="Tcl"> <compoundname>1::1</compoundname> <innernamespace refid="namespace1_1_11_1_11">1::1::1</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace1_1_11_1_11.xml b/testing/057/namespace1_1_11_1_11.xml index caccbe4..f7f9716 100644 --- a/testing/057/namespace1_1_11_1_11.xml +++ b/testing/057/namespace1_1_11_1_11.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace1_1_11_1_11" kind="namespace"> + <compounddef id="namespace1_1_11_1_11" kind="namespace" language="Tcl"> <compoundname>1::1::1</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespace1_1_11_1_11_1aa604df053f7ebe36205d1a5675459b96" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/057/namespace2.xml b/testing/057/namespace2.xml index 6ea122c..0ce04a8 100644 --- a/testing/057/namespace2.xml +++ b/testing/057/namespace2.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace2" kind="namespace"> + <compounddef id="namespace2" kind="namespace" language="Tcl"> <compoundname>2</compoundname> <innernamespace refid="namespace2_1_12">2::2</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace2_1_12.xml b/testing/057/namespace2_1_12.xml index d2a589a..af86ebe 100644 --- a/testing/057/namespace2_1_12.xml +++ b/testing/057/namespace2_1_12.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace2_1_12" kind="namespace"> + <compounddef id="namespace2_1_12" kind="namespace" language="Tcl"> <compoundname>2::2</compoundname> <innernamespace refid="namespace2_1_12_1_12">2::2::2</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace2_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12.xml index d04a73c..0a6d7fa 100644 --- a/testing/057/namespace2_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace2_1_12_1_12" kind="namespace"> + <compounddef id="namespace2_1_12_1_12" kind="namespace" language="Tcl"> <compoundname>2::2::2</compoundname> <innernamespace refid="namespace2_1_12_1_12_1_12">2::2::2::2</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace2_1_12_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12_1_12.xml index 980906d..461d61e 100644 --- a/testing/057/namespace2_1_12_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12_1_12.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace2_1_12_1_12_1_12" kind="namespace"> + <compounddef id="namespace2_1_12_1_12_1_12" kind="namespace" language="Tcl"> <compoundname>2::2::2::2</compoundname> <innernamespace refid="namespace2_1_12_1_12_1_12_1_12">2::2::2::2::2</innernamespace> <sectiondef kind="func"> diff --git a/testing/057/namespace2_1_12_1_12_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12_1_12_1_12.xml index 0c6957b..3981ff0 100644 --- a/testing/057/namespace2_1_12_1_12_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12_1_12_1_12.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespace2_1_12_1_12_1_12_1_12" kind="namespace"> + <compounddef id="namespace2_1_12_1_12_1_12_1_12" kind="namespace" language="Tcl"> <compoundname>2::2::2::2::2</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespace2_1_12_1_12_1_12_1_12_1ac07f64c62783fd8b44317389b4a711f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/057/namespacebar.xml b/testing/057/namespacebar.xml index 3c0f6e9..85cde41 100644 --- a/testing/057/namespacebar.xml +++ b/testing/057/namespacebar.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacebar" kind="namespace"> + <compounddef id="namespacebar" kind="namespace" language="Tcl"> <compoundname>bar</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespacebar_1aa1678a9adb588c0b91b118de7cc38ddb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/057/namespacefoo.xml b/testing/057/namespacefoo.xml index 2aae8ea..0d81332 100644 --- a/testing/057/namespacefoo.xml +++ b/testing/057/namespacefoo.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacefoo" kind="namespace"> + <compounddef id="namespacefoo" kind="namespace" language="Tcl"> <compoundname>foo</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespacefoo_1a265acdcaea6da32c3bbd9afb5d0e32a4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/058/058__bracket__recursion_8tcl.xml b/testing/058/058__bracket__recursion_8tcl.xml index fd36cee..dcb60e4 100644 --- a/testing/058/058__bracket__recursion_8tcl.xml +++ b/testing/058/058__bracket__recursion_8tcl.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="058__bracket__recursion_8tcl" kind="file"> + <compounddef id="058__bracket__recursion_8tcl" kind="file" language="Tcl"> <compoundname>058_bracket_recursion.tcl</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/059/059__command__catch_8tcl.xml b/testing/059/059__command__catch_8tcl.xml index 6604413..a12a366 100644 --- a/testing/059/059__command__catch_8tcl.xml +++ b/testing/059/059__command__catch_8tcl.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="059__command__catch_8tcl" kind="file"> + <compounddef id="059__command__catch_8tcl" kind="file" language="Tcl"> <compoundname>059_command_catch.tcl</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/060/060__command__switch_8tcl.xml b/testing/060/060__command__switch_8tcl.xml index 05e01c6..f1792f4 100644 --- a/testing/060/060__command__switch_8tcl.xml +++ b/testing/060/060__command__switch_8tcl.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="060__command__switch_8tcl" kind="file"> + <compounddef id="060__command__switch_8tcl" kind="file" language="Tcl"> <compoundname>060_command_switch.tcl</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/061/class_test.xml b/testing/061/class_test.xml index 0922539..b233e9c 100644 --- a/testing/061/class_test.xml +++ b/testing/061/class_test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="class_test" kind="class" prot="public"> + <compounddef id="class_test" kind="class" language="Tcl" prot="public"> <compoundname>Test</compoundname> <sectiondef kind="public-func"> <memberdef kind="function" id="class_test_1af863c78bca81b4e276dcbb30f12e8ec6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/062/namespacen1.xml b/testing/062/namespacen1.xml index 0ef31ff..a31fc29 100644 --- a/testing/062/namespacen1.xml +++ b/testing/062/namespacen1.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacen1" kind="namespace"> + <compounddef id="namespacen1" kind="namespace" language="Tcl"> <compoundname>n1</compoundname> <innernamespace refid="namespacen1_1_1n1">n1::n1</innernamespace> <sectiondef kind="func"> diff --git a/testing/062/namespacen2.xml b/testing/062/namespacen2.xml index 39c21d2..29c4d80 100644 --- a/testing/062/namespacen2.xml +++ b/testing/062/namespacen2.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacen2" kind="namespace"> + <compounddef id="namespacen2" kind="namespace" language="Tcl"> <compoundname>n2</compoundname> <innernamespace refid="namespacen2_1_1n2">n2::n2</innernamespace> <sectiondef kind="func"> diff --git a/testing/062/namespacen3.xml b/testing/062/namespacen3.xml index 25c803c..bfc1364 100644 --- a/testing/062/namespacen3.xml +++ b/testing/062/namespacen3.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacen3" kind="namespace"> + <compounddef id="namespacen3" kind="namespace" language="Tcl"> <compoundname>n3</compoundname> <innernamespace refid="namespacen3_1_1n3">n3::n3</innernamespace> <sectiondef kind="func"> diff --git a/testing/063/namespaceoo.xml b/testing/063/namespaceoo.xml index eb0c93c..044c364 100644 --- a/testing/063/namespaceoo.xml +++ b/testing/063/namespaceoo.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespaceoo" kind="namespace"> + <compounddef id="namespaceoo" kind="namespace" language="Tcl"> <compoundname>oo</compoundname> <innernamespace refid="namespaceoo_1_1define">oo::define</innernamespace> <innernamespace refid="namespaceoo_1_1_helpers">oo::Helpers</innernamespace> diff --git a/testing/063/namespaceoo_1_1_helpers.xml b/testing/063/namespaceoo_1_1_helpers.xml index ff309cf..40b4830 100644 --- a/testing/063/namespaceoo_1_1_helpers.xml +++ b/testing/063/namespaceoo_1_1_helpers.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespaceoo_1_1_helpers" kind="namespace"> + <compounddef id="namespaceoo_1_1_helpers" kind="namespace" language="Tcl"> <compoundname>oo::Helpers</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespaceoo_1_1_helpers_1a96c5b755588beb2e930cff23ce811d6c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/063/namespaceoo_1_1define.xml b/testing/063/namespaceoo_1_1define.xml index aa62fbd..214b705 100644 --- a/testing/063/namespaceoo_1_1define.xml +++ b/testing/063/namespaceoo_1_1define.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespaceoo_1_1define" kind="namespace"> + <compounddef id="namespaceoo_1_1define" kind="namespace" language="Tcl"> <compoundname>oo::define</compoundname> <sectiondef kind="func"> <memberdef kind="function" id="namespaceoo_1_1define_1a89e7ea222a316f1926c1f9f30f2cc5c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> diff --git a/testing/064/struct_foo.xml b/testing/064/struct_foo.xml new file mode 100644 index 0000000..3765625 --- /dev/null +++ b/testing/064/struct_foo.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="struct_foo" kind="struct" language="C++" prot="public"> + <compoundname>Foo</compoundname> + <sectiondef kind="public-func"> + <memberdef kind="function" id="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Foo::operator int</definition> + <argsstring>()</argsstring> + <name>operator int</name> + <briefdescription> + <para>Conversion to int. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="064_castoperator.cpp" line="22" column="1"/> + </memberdef> + <memberdef kind="function" id="struct_foo_1a870f369cc7af9489418451e78d8bd539" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Foo::operator int</definition> + <argsstring>() const </argsstring> + <name>operator int</name> + <briefdescription> + <para>Conversion to int const. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="064_castoperator.cpp" line="24" column="1"/> + </memberdef> + </sectiondef> + <briefdescription> + <para><ref refid="struct_foo" kindref="compound">Foo</ref>. </para> + </briefdescription> + <detaileddescription> + <para> + <itemizedlist> + <listitem> + <para>No autolink for operator int()</para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" kindref="member">operator int()</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" kindref="member">title</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" kindref="member">Foo::operator int()</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" kindref="member">Foo::operator int()</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" kindref="member">title</ref> + </para> + </listitem> + <listitem> + <para>No autolink for operator int() const</para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" kindref="member">operator int() const</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" kindref="member">title</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" kindref="member">Foo::operator int() const</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" kindref="member">Foo::operator int() const</ref> + </para> + </listitem> + <listitem> + <para> + <ref refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" kindref="member">title</ref> + </para> + </listitem> + </itemizedlist> + </para> + </detaileddescription> + <location file="064_castoperator.cpp" bodystart="20" bodyend="25"/> + <listofallmembers> + <member refid="struct_foo_1aab9774d892b6cd4a0fbebd034b4c1fad" prot="public" virt="non-virtual"> + <scope>Foo</scope> + <name>operator int</name> + </member> + <member refid="struct_foo_1a870f369cc7af9489418451e78d8bd539" prot="public" virt="non-virtual"> + <scope>Foo</scope> + <name>operator int</name> + </member> + </listofallmembers> + </compounddef> +</doxygen> diff --git a/testing/064_castoperator.cpp b/testing/064_castoperator.cpp new file mode 100644 index 0000000..d6f8006 --- /dev/null +++ b/testing/064_castoperator.cpp @@ -0,0 +1,25 @@ +// objective: test linking to the cast operator with and without const +// check: struct_foo.xml +/** + * @brief Foo + * + * - No autolink for operator int() + * - @ref operator int() + * - @ref operator int() "title" + * - Foo::operator int() + * - @ref Foo::operator int() + * - @ref Foo::operator int() "title" + * + * - No autolink for operator int() const + * - @ref operator int() const + * - @ref operator int() const "title" + * - Foo::operator int() const + * - @ref Foo::operator int() const + * - @ref Foo::operator int() const "title" + */ +struct Foo { + /** @brief Conversion to int */ + operator int(); + /** @brief Conversion to int const */ + operator int() const; +}; |