function.xsl: Default values can not be annotated

doxygen/doxygen2boostbook.xsl: If the string "detail::" is found in a
type or default argument, the type/argument is replaced with
"unspecified".


[SVN r20810]
This commit is contained in:
Douglas Gregor 2003-11-15 05:36:47 +00:00
parent 701f383881
commit 02fd5d3611
2 changed files with 37 additions and 18 deletions

View File

@ -19,6 +19,10 @@
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
</xsl:param> </xsl:param>
<!-- The substring used to identify unspecified types that we can't
mask from within Doxygen. This is a hack (big surprise). -->
<xsl:param name="boost.doxygen.detail">detail::</xsl:param>
<xsl:output method="xml" indent="yes" standalone="yes"/> <xsl:output method="xml" indent="yes" standalone="yes"/>
<xsl:key name="compounds-by-kind" match="compounddef" use="@kind"/> <xsl:key name="compounds-by-kind" match="compounddef" use="@kind"/>
@ -651,10 +655,7 @@ Cannot handle memberdef element with kind=<xsl:value-of select="@kind"/>
<xsl:apply-templates select="briefdescription" mode="passthrough"/> <xsl:apply-templates select="briefdescription" mode="passthrough"/>
<xsl:apply-templates select="detaileddescription" mode="passthrough"/> <xsl:apply-templates select="detaileddescription" mode="passthrough"/>
<type> <type><xsl:apply-templates select="type"/></type>
<xsl:apply-templates select="type/text()|type/*"
mode="passthrough"/>
</type>
</typedef> </typedef>
</xsl:template> </xsl:template>
@ -667,15 +668,21 @@ Cannot handle memberdef element with kind=<xsl:value-of select="@kind"/>
</xsl:attribute> </xsl:attribute>
<!-- Parameter type --> <!-- Parameter type -->
<paramtype> <paramtype><xsl:apply-templates select="type"/></paramtype>
<xsl:apply-templates select="type"/>
</paramtype>
<!-- Default argument --> <!-- Default argument -->
<xsl:if test="defval"> <xsl:if test="defval">
<default> <default>
<xsl:apply-templates select="defval/*|defval/text()" <xsl:choose>
mode="passthrough"/> <xsl:when test="contains(string(defval), $boost.doxygen.detail)">
<emphasis>unspecified</emphasis>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="defval/*|defval/text()"
mode="passthrough"/>
</xsl:otherwise>
</xsl:choose>
</default> </default>
</xsl:if> </xsl:if>
@ -786,9 +793,7 @@ Cannot handle memberdef element with kind=<xsl:value-of select="@kind"/>
</xsl:attribute> </xsl:attribute>
<!-- Return type --> <!-- Return type -->
<type> <type><xsl:apply-templates select="type"/></type>
<xsl:apply-templates select="type"/>
</type>
<xsl:call-template name="function.children"/> <xsl:call-template name="function.children"/>
</function> </function>
@ -905,9 +910,7 @@ Cannot handle memberdef element with kind=<xsl:value-of select="@kind"/>
</xsl:if> </xsl:if>
<!-- Return type --> <!-- Return type -->
<type> <type><xsl:apply-templates select="type"/></type>
<xsl:apply-templates select="type"/>
</type>
<xsl:call-template name="function.children"/> <xsl:call-template name="function.children"/>
</method> </method>
@ -1035,7 +1038,14 @@ Cannot handle memberdef element with kind=<xsl:value-of select="@kind"/>
</xsl:template> </xsl:template>
<xsl:template match="type"> <xsl:template match="type">
<xsl:apply-templates mode="type"/> <xsl:choose>
<xsl:when test="contains(string(.), $boost.doxygen.detail)">
<emphasis>unspecified</emphasis>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates mode="type"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template> </xsl:template>
<xsl:template match="ref" mode="type"> <xsl:template match="ref" mode="type">

View File

@ -376,7 +376,16 @@
</xsl:when> </xsl:when>
<xsl:when test="$parameter/default"> <xsl:when test="$parameter/default">
<xsl:text> = </xsl:text> <xsl:text> = </xsl:text>
<xsl:value-of select="string($parameter/default)"/> <xsl:choose>
<xsl:when test="$final">
<xsl:apply-templates
select="$parameter/default/*|$parameter/default/text()"
mode="annotation"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="string($parameter/default)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
@ -399,7 +408,7 @@
<xsl:with-param name="highlight" select="true()"/> <xsl:with-param name="highlight" select="true()"/>
</xsl:apply-templates> </xsl:apply-templates>
<xsl:value-of select="$name"/> <xsl:value-of select="$name"/>
<xsl:value-of select="$default"/> <xsl:copy-of select="$default"/>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:value-of select="concat($prefix, $text)"/> <xsl:value-of select="concat($prefix, $text)"/>