diff options
-rw-r--r-- | src/classdef.cpp | 3 | ||||
-rw-r--r-- | src/xmlgen.cpp | 6 | ||||
-rw-r--r-- | templates/xml/compound.xsd | 1 |
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> |