summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classdef.cpp3
-rw-r--r--src/xmlgen.cpp6
-rw-r--r--templates/xml/compound.xsd1
3 files changed, 9 insertions, 1 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index ea6eece..d48efd0 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2532,9 +2532,10 @@ bool ClassDef::hasExamples() const
void ClassDef::addTypeConstraint(const QCString &typeConstraint,const QCString &type)
{
+ //printf("addTypeContraint(%s,%s)\n",type.data(),typeConstraint.data());
static bool hideUndocRelation = Config_getBool("HIDE_UNDOC_RELATIONS");
if (typeConstraint.isEmpty() || type.isEmpty()) return;
- ClassDef *cd = getClass(typeConstraint);
+ ClassDef *cd = getResolvedClass(this,getFileDef(),typeConstraint);
if (cd==0 && !hideUndocRelation)
{
cd = new ClassDef(getDefFileName(),getDefLine(),getDefColumn(),typeConstraint,ClassDef::Class);
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index c2eddd5..215b88a 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -394,6 +394,12 @@ static void writeTemplateArgumentList(ArgumentList *al,
linkifyText(TextGeneratorXMLImpl(t),scope,fileScope,0,a->defval);
t << "</defval>" << endl;
}
+ if (!a->typeConstraint.isEmpty())
+ {
+ t << indentStr << " <typeconstraint>";
+ linkifyText(TextGeneratorXMLImpl(t),scope,fileScope,0,a->typeConstraint);
+ t << "</typeconstraint>" << endl;
+ }
t << indentStr << " </param>" << endl;
}
t << indentStr << "</templateparamlist>" << endl;
diff --git a/templates/xml/compound.xsd b/templates/xml/compound.xsd
index ff516e3..c960c7b 100644
--- a/templates/xml/compound.xsd
+++ b/templates/xml/compound.xsd
@@ -220,6 +220,7 @@
<xsd:element name="defname" minOccurs="0" />
<xsd:element name="array" minOccurs="0" />
<xsd:element name="defval" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="typeconstraint" type="linkedTextType" minOccurs="0" />
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>