grim/gir-tools

Parents 5cfe183b792c
Children 24bd9dad8f11
Add a template for checking all the things and also check function-macros
  • +65 -99
    girlint.xsl
  • --- a/girlint.xsl Thu Feb 29 22:59:15 2024 -0600
    +++ b/girlint.xsl Thu Feb 29 23:23:55 2024 -0600
    @@ -19,139 +19,105 @@
    <!-- ignore all the cdata in doc tags -->
    <xsl:template match="gir:doc"/>
    - <xsl:template match="gir:property">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('property ', ../@name, ':', @name, ' missing version', $newline)"/>
    - </xsl:if>
    + <xsl:template name="check-item">
    + <xsl:param name="node"/>
    + <xsl:param name="prefix"/>
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('property ', ../@name, ':', @name, ' deprecated-version includes micro version : ', @deprecated-version, $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('property ', ../@name, ':', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    - </xsl:template>
    -
    - <xsl:template match="gir:method">
    <xsl:choose>
    <xsl:when test="not(@version)">
    - <xsl:value-of select="concat('method ', ../@name, '.', @name, ' mising version', $newline)"/>
    + <xsl:value-of select="concat($prefix, ' missing version', $newline)"/>
    </xsl:when>
    <xsl:when test="string(number(@version))!=@version">
    - <xsl:value-of select="concat('method ', ../@name, '.', @name, ' version includes micro version : ', @version, $newline)"/>
    + <xsl:value-of select="concat($prefix, ' version includes micro version', $newline)"/>
    </xsl:when>
    </xsl:choose>
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('method ', ../@name, '.', @name, ' deprecated-version includes micro version : ', @deprecated-version, $newline)"/>
    - </xsl:if>
    -
    <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('method ', ../@name, '.', @name, ' mising documentation', $newline)"/>
    - </xsl:if>
    - </xsl:template>
    -
    - <xsl:template match="gir:virtual-method">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('virtual method ', ../@name, '.', @name, ' mising version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('virtual method ', ../@name, '.', @name, ' deprecated-version includes micro version : ', @deprecated-version, $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('virtual method ', ../@name, '.', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    - </xsl:template>
    -
    - <xsl:template match="gir:function">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('function ', @name, ' mising version', $newline)"/>
    + <xsl:value-of select="concat($prefix, ' missing documentation', $newline)"/>
    </xsl:if>
    <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('function', @name, ' deprecated-version includes micro version : ', @deprecated-version, $newline)"/>
    + <xsl:value-of select="concat($prefix, ' deprecated-version includes micro version', $newline)"/>
    </xsl:if>
    + </xsl:template>
    +
    + <xsl:template match="gir:property">
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('property ', ../@name, ':', @name)"/>
    + </xsl:call-template>
    + </xsl:template>
    +
    + <xsl:template match="gir:method">
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('method ', ../@name, '.', @name)"/>
    + </xsl:call-template>
    + </xsl:template>
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('function ', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:template match="gir:virtual-method">
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('virtual method ', ../@name, '.', @name)"/>
    + </xsl:call-template>
    + </xsl:template>
    +
    + <xsl:template match="gir:function">
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('function ', @name)"/>
    + </xsl:call-template>
    + </xsl:template>
    +
    + <xsl:template match="gir:function-macro">
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('function macro ', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="gir:constructor">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('constructor ', ../@name, '.', @name, ' mising version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('constructor ', ../@name, '.', @name, ' has micro version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('constructor ', ../@name, '.', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('constructor ', ../@name, '.', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="gir:namespace/gir:callback">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('callback ', @name, ' mising version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('callback ', @name, ' deprecated-version has micro version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('callback ', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('callback ', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="glib:signal">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('signal ', ../@name, ':', @name, ' missing version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="string(number(@deprecated-version))!=@deprecated-version">
    - <xsl:value-of select="concat('signal ', ../@name, ':', @name, ' deprecated version has micro version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('signal ', ../@name, ':', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('signal ', ../@name, ':', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="gir:class">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('class ', @name, ' missing version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('class ', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('class ', @name)"/>
    + </xsl:call-template>
    <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="gir:enumeration">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('enumeration ', @name, ' missing version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('enumeration ', @name, ':', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('enumeration ', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="gir:bitfield">
    - <xsl:if test="not(@version)">
    - <xsl:value-of select="concat('bitfield ', @name, ' missing version', $newline)"/>
    - </xsl:if>
    -
    - <xsl:if test="not(gir:doc)">
    - <xsl:value-of select="concat('bitfield ', @name, ':', @name, ' missing documentation', $newline)"/>
    - </xsl:if>
    + <xsl:call-template name="check-item">
    + <xsl:with-param name="node" select="node()"/>
    + <xsl:with-param name="prefix" select="concat('bitfield ', @name)"/>
    + </xsl:call-template>
    </xsl:template>
    <xsl:template match="gir:namespace">