|
From: Chris M. <zm...@us...> - 2001-05-23 21:37:19
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools
In directory usw-pr-cvs1:/tmp/cvs-serv11105
Modified Files:
gen_proxy_hs.xsl
Log Message:
proxy_hs looks complete to me.
Index: gen_proxy_hs.xsl
===================================================================
RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** gen_proxy_hs.xsl 2001/05/22 23:00:40 1.3
--- gen_proxy_hs.xsl 2001/05/23 21:37:17 1.4
***************
*** 11,14 ****
--- 11,69 ----
+ <!-- Templates to do #includes
+ These templates all use the include mode.
+ -->
+
+
+ <!-- Replace the default rule. -->
+ <xsl:template match="*" mode="include"/>
+
+
+ <!-- Certain nodes do nothing. -->
+ <xsl:template mode="include"
+ match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode">
+ <xsl:apply-templates mode="include"/>
+ </xsl:template>
+
+
+ <xsl:template match="Model:Class" mode="include">
+ <xsl:variable name="classname" select="@name"/>
+ <xsl:text>#include "</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>Class_impl.h" </xsl:text>
+
+ <xsl:text> </xsl:text>
+
+ </xsl:template>
+
+
+
+
+ <!-- Templates to do inheritance
+ These templates all use the inherit mode.
+ -->
+
+
+ <!-- Replace the default rule. -->
+ <xsl:template match="*" mode="inherit"/>
+
+
+ <!-- Certain nodes do nothing. -->
+ <xsl:template mode="inherit"
+ match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode">
+ <xsl:apply-templates mode="inherit"/>
+ </xsl:template>
+
+
+ <xsl:template match="Model:Class" mode="inherit">
+ <xsl:text> virtual public </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>Class_impl, </xsl:text>
+ </xsl:template>
+
+
+
+
+
<!-- Templates to do parameters to the create_<class> method.
These templates all use the create_params mode.
***************
*** 38,42 ****
</xsl:with-param>
<xsl:with-param name="position" select="1"/>
! </xsl:call-template>
<xsl:text>, </xsl:text>
</xsl:template>
--- 93,97 ----
</xsl:with-param>
<xsl:with-param name="position" select="1"/>
! </xsl:call-template>
<xsl:text>, </xsl:text>
</xsl:template>
***************
*** 47,50 ****
--- 102,106 ----
<!-- attempt to find this class's supertype -->
<xsl:variable name="supertypes" select="@supertypes"/>
+
<!-- xsl:variable name="superclass"
select="/descendant::Model:Class[@xmi.id=$supertypes]"/ -->
***************
*** 79,84 ****
<xsl:variable name="class_name" select="@name"/>
<xsl:variable name="supertypes" select="@supertypes"/>
- <xsl:variable name="superclass"
- select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/>
<xsl:variable name="processed_cn">
--- 135,138 ----
***************
*** 95,99 ****
<xsl:with-param name="the_string" select="$class_name"/>
</xsl:call-template>
! <xsl:text>_H__ </xsl:text>
<xsl:text>#define __</xsl:text>
--- 149,153 ----
<xsl:with-param name="the_string" select="$class_name"/>
</xsl:call-template>
! <xsl:text>CLASS_H__ </xsl:text>
<xsl:text>#define __</xsl:text>
***************
*** 101,105 ****
<xsl:with-param name="the_string" select="$class_name"/>
</xsl:call-template>
! <xsl:text>_H__ </xsl:text>
<xsl:text> </xsl:text>
--- 155,159 ----
<xsl:with-param name="the_string" select="$class_name"/>
</xsl:call-template>
! <xsl:text>CLASS_H__ </xsl:text>
<xsl:text> </xsl:text>
***************
*** 107,124 ****
<!-- Includes. -->
- <xsl:text>#include "</xsl:text>
<xsl:choose>
<xsl:when test="count(attribute::supertypes) = 0">
! <xsl:text>Reflective</xsl:text>
</xsl:when>
<xsl:otherwise>
! <xsl:value-of select="$superclass"/>
! <xsl:text>Class</xsl:text>
</xsl:otherwise>
</xsl:choose>
- <xsl:text>_impl.h" </xsl:text>
- <xsl:text> </xsl:text>
-
<xsl:text>#include "Core.h" </xsl:text>
--- 161,189 ----
<!-- Includes. -->
<xsl:choose>
<xsl:when test="count(attribute::supertypes) = 0">
! <xsl:text>#include "Reflective_impl.h" </xsl:text>
</xsl:when>
<xsl:otherwise>
! <xsl:choose>
! <xsl:when test='contains(@supertypes," ")'>
!
! <xsl:apply-templates mode="include"
! select='/descendant::Model:Class[@xmi.id=substring-before($supertypes," ")]'/>
!
! <xsl:apply-templates mode="include"
! select='/descendant::Model:Class[@xmi.id=substring-after($supertypes," ")]'/>
!
! </xsl:when>
! <xsl:otherwise>
!
! <xsl:apply-templates mode="include"
! select='/descendant::Model:Class[@xmi.id=$supertypes]'/>
!
! </xsl:otherwise>
! </xsl:choose>
</xsl:otherwise>
</xsl:choose>
<xsl:text>#include "Core.h" </xsl:text>
***************
*** 133,140 ****
<xsl:text>Class_impl : </xsl:text>
! <xsl:text> virtual public </xsl:text>
! <xsl:value-of select="$superclass"/>
! <xsl:text>Class_impl, </xsl:text>
<xsl:text> virtual public POA_</xsl:text>
<xsl:value-of select="$package_name"/>
--- 198,226 ----
<xsl:text>Class_impl : </xsl:text>
! <xsl:choose>
! <xsl:when test="count(attribute::supertypes) = 0">
! <xsl:text> virtual public Reflective::RefObject, </xsl:text>
! </xsl:when>
! <xsl:otherwise>
! <xsl:choose>
! <xsl:when test='contains(@supertypes," ")'>
!
! <xsl:apply-templates mode="inherit"
! select='/descendant::Model:Class[@xmi.id=substring-before($supertypes," ")]'/>
!
! <xsl:apply-templates mode="inherit"
! select='/descendant::Model:Class[@xmi.id=substring-after($supertypes," ")]'/>
!
! </xsl:when>
! <xsl:otherwise>
+ <xsl:apply-templates mode="inherit"
+ select='/descendant::Model:Class[@xmi.id=$supertypes]'/>
+
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
<xsl:text> virtual public POA_</xsl:text>
<xsl:value-of select="$package_name"/>
***************
*** 147,150 ****
--- 233,238 ----
<xsl:text> public: </xsl:text>
+ <xsl:text> </xsl:text>
+
<!-- Constructor. -->
***************
*** 153,158 ****
<xsl:text>Class_impl(); </xsl:text>
- <xsl:text> </xsl:text>
-
<!-- Destructor. -->
--- 241,244 ----
***************
*** 163,167 ****
<xsl:text> </xsl:text>
! <xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
<xsl:text>::</xsl:text>
--- 249,253 ----
<xsl:text> </xsl:text>
! <xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
<xsl:text>::</xsl:text>
***************
*** 171,179 ****
<xsl:text>() </xsl:text>
- <xsl:text> </xsl:text>
-
<xsl:if test='@isAbstract = "false"'>
! <xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
<xsl:text>::</xsl:text>
--- 257,263 ----
<xsl:text>() </xsl:text>
<xsl:if test='@isAbstract = "false"'>
! <xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
<xsl:text>::</xsl:text>
***************
*** 183,192 ****
<xsl:text>() </xsl:text>
- <xsl:text> </xsl:text>
-
</xsl:if>
<!-- create_<class> method. -->
<xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
--- 267,275 ----
<xsl:text>() </xsl:text>
</xsl:if>
<!-- create_<class> method. -->
+ <xsl:text> </xsl:text>
<xsl:text> </xsl:text>
<xsl:value-of select="$package_name"/>
***************
*** 207,210 ****
--- 290,325 ----
<xsl:text> </xsl:text>
+
+ <xsl:text> protected: </xsl:text>
+
+ <xsl:text> </xsl:text>
+
+ <xsl:text> static list<</xsl:text>
+ <xsl:value-of select="$package_name"/>
+ <xsl:text>::</xsl:text>
+ <xsl:value-of select="$class_name"/>
+ <xsl:text>_ptr> fc_all_of_type_</xsl:text>
+ <xsl:value-of select="$processed_cn"/>
+ <xsl:text>; </xsl:text>
+
+ <xsl:text> </xsl:text>
+
+ <xsl:if test='@isAbstract = "false"'>
+
+ <xsl:text> private: </xsl:text>
+
+ <xsl:text> </xsl:text>
+
+ <xsl:text> static list<</xsl:text>
+ <xsl:value-of select="$package_name"/>
+ <xsl:text>::</xsl:text>
+ <xsl:value-of select="$class_name"/>
+ <xsl:text>_ptr> fc_all_of_class_</xsl:text>
+ <xsl:value-of select="$processed_cn"/>
+ <xsl:text>; </xsl:text>
+
+ <xsl:text> </xsl:text>
+
+ </xsl:if>
<xsl:text>}; </xsl:text>
|