summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qtools/qcstring.cpp5
-rw-r--r--qtools/qfile_unix.cpp1
-rw-r--r--src/classdef.cpp3
-rw-r--r--src/cmdmapper.cpp1
-rw-r--r--src/cmdmapper.h3
-rw-r--r--src/condparser.h19
-rw-r--r--src/context.cpp6
-rw-r--r--src/definition.cpp16
-rw-r--r--src/diagram.cpp2
-rw-r--r--src/dirdef.cpp2
-rw-r--r--src/docbookgen.cpp12
-rw-r--r--src/docparser.cpp34
-rw-r--r--src/doctokenizer.h1
-rw-r--r--src/doctokenizer.l20
-rw-r--r--src/doxygen.cpp6
-rw-r--r--src/filedef.cpp1
-rw-r--r--src/filename.cpp44
-rw-r--r--src/groupdef.cpp1
-rw-r--r--src/htmlgen.cpp28
-rw-r--r--src/libdoxygen.t.in2
-rw-r--r--src/markdown.cpp2
-rw-r--r--src/memberdef.cpp6
-rw-r--r--src/membergroup.cpp2
-rw-r--r--src/memberlist.cpp21
-rw-r--r--src/message.cpp9
-rw-r--r--src/namespacedef.cpp3
-rw-r--r--src/pre.l4
-rw-r--r--src/pyscanner.l14
-rw-r--r--src/reflist.cpp8
-rw-r--r--src/reflist.h5
-rwxr-xr-xsrc/res2cc_cmd.py18
-rw-r--r--src/searchindex.cpp20
-rw-r--r--src/searchindex.h1
-rw-r--r--src/store.cpp4
-rw-r--r--src/tagreader.cpp14
-rw-r--r--src/template.cpp70
-rw-r--r--src/translator_hr.h4
-rw-r--r--src/util.cpp10
-rw-r--r--src/util.h2
-rw-r--r--src/xmlgen.cpp44
-rw-r--r--templates/xml/compound.xsd21
-rw-r--r--testing/008/008__brief_8c.xml2
-rw-r--r--testing/009/class_bug.xml2
-rw-r--r--testing/009/class_deprecated.xml2
-rw-r--r--testing/009/class_reminder.xml2
-rw-r--r--testing/009/class_test.xml2
-rw-r--r--testing/009/class_todo.xml2
-rw-r--r--testing/011/category_integer_07_arithmetic_08.xml2
-rw-r--r--testing/011/interface_integer.xml2
-rw-r--r--testing/013/class_t1.xml2
-rw-r--r--testing/013/class_t2.xml2
-rw-r--r--testing/013/class_t3.xml2
-rw-r--r--testing/013/class_t4.xml2
-rw-r--r--testing/015/015__cond_8c.xml2
-rw-r--r--testing/016/016__copydoc_8c.xml2
-rw-r--r--testing/018/018__def_8c.xml2
-rw-r--r--testing/025/class_test.xml2
-rw-r--r--testing/026/class_test.xml2
-rw-r--r--testing/027/struct_car.xml2
-rw-r--r--testing/027/struct_object.xml2
-rw-r--r--testing/027/struct_truck.xml2
-rw-r--r--testing/027/struct_vehicle.xml2
-rw-r--r--testing/029/029__hideinit_8c.xml2
-rw-r--r--testing/035/035__invariant_8c.xml2
-rw-r--r--testing/036/036__link_8c.xml2
-rw-r--r--testing/037/class_receiver.xml2
-rw-r--r--testing/037/class_sender.xml2
-rw-r--r--testing/039/class_test.xml2
-rw-r--r--testing/040/namespace_n_s.xml2
-rw-r--r--testing/041/class_test.xml2
-rw-r--r--testing/042/namespaceorg_1_1doxygen_1_1_test.xml2
-rw-r--r--testing/044/struct_s.xml2
-rw-r--r--testing/046/046__related_8cpp.xml2
-rw-r--r--testing/046/class_test.xml2
-rw-r--r--testing/047/047__return_8cpp.xml2
-rw-r--r--testing/048/048__showinit_8c.xml2
-rw-r--r--testing/054/054__parblock_8cpp.xml2
-rw-r--r--testing/057/057__caller__graphs_8tcl.xml2
-rw-r--r--testing/057/__057__caller__graphs_8tcl.xml2
-rw-r--r--testing/057/namespace1.xml2
-rw-r--r--testing/057/namespace1_1_11.xml2
-rw-r--r--testing/057/namespace1_1_11_1_11.xml2
-rw-r--r--testing/057/namespace2.xml2
-rw-r--r--testing/057/namespace2_1_12.xml2
-rw-r--r--testing/057/namespace2_1_12_1_12.xml2
-rw-r--r--testing/057/namespace2_1_12_1_12_1_12.xml2
-rw-r--r--testing/057/namespace2_1_12_1_12_1_12_1_12.xml2
-rw-r--r--testing/057/namespacebar.xml2
-rw-r--r--testing/057/namespacefoo.xml2
-rw-r--r--testing/058/058__bracket__recursion_8tcl.xml2
-rw-r--r--testing/059/059__command__catch_8tcl.xml2
-rw-r--r--testing/060/060__command__switch_8tcl.xml2
-rw-r--r--testing/061/class_test.xml2
-rw-r--r--testing/062/namespacen1.xml2
-rw-r--r--testing/062/namespacen2.xml2
-rw-r--r--testing/062/namespacen3.xml2
-rw-r--r--testing/063/namespaceoo.xml2
-rw-r--r--testing/063/namespaceoo_1_1_helpers.xml2
-rw-r--r--testing/063/namespaceoo_1_1define.xml2
-rw-r--r--testing/064/struct_foo.xml112
-rw-r--r--testing/064_castoperator.cpp25
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);
diff --git a/src/pre.l b/src/pre.l
index 8d2b5f7..9e88b0d 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -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\">&#160;</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;
diff --git a/src/util.h b/src/util.h
index 07744ca..b3f99c0 100644
--- a/src/util.h
+++ b/src/util.h
@@ -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;
+};