home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / ctm.efw < prev    next >
Text File  |  1999-02-22  |  6KB  |  200 lines

  1. :copyrightS
  2. /* @(#) somc/ctm.efw 2.23.1.4 12/22/95 10:11:01 [7/30/96 14:44:52] */
  3.  
  4. /*
  5.  *   COMPONENT_NAME: some
  6.  *
  7.  *   ORIGINS: 27
  8.  *
  9.  *
  10.  *   25H7912, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1996
  11.  *   All Rights Reserved
  12.  *   Licensed Materials - Property of IBM
  13.  *   US Government Users Restricted Rights - Use, duplication or
  14.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  15.  */
  16.  
  17. :prologS
  18. /*
  19.  *  This file was generated by the SOM Compiler and Emitter Framework.
  20.  *  Generated using template emitter:
  21.  *      SOM Emitter <progname>: <version>
  22.  */
  23.  
  24. :moduleS
  25. #define SOM_Module_<moduleSourceFileStem>_Source
  26.  
  27. :classS
  28. #ifndef SOM_Module_<lowerClassSourceFileStem>_Source
  29. #define SOM_Module_<lowerClassSourceFileStem>_Source
  30. #endif
  31. #define <classCScopedName>_Class_Source
  32. ?#define <explicitMetaName>_Class_Source
  33. ?#define <metaClassForName>_Class_Source
  34.  
  35. :includeS
  36. #include "<classSourceFileStem>.<ext>"
  37.  
  38. :methodsPrologS
  39. :methodCommentS
  40. ?<--  methodComment>
  41. :noSelfMethodPrototypeS
  42.  
  43. SOM_Scope <methodCReturnType>  SOMLINK <methodPrefix><methodName>(<methodNoSelfParamList, ...>)
  44. :withSelfMethodPrototypeS
  45.  
  46. SOM_Scope <methodCReturnType>  SOMLINK <methodPrefix><methodName>(<methodCParamList, ...>)
  47. :methodBodyS
  48. {
  49.     <somThisAssign>
  50.     <methodClassName>MethodDebug("<methodClassName>","<methodPrefix><methodName>");
  51.  
  52. :parentMethodCallS
  53.     <classCScopedName>_parent_<baseClassName>_<methodName>(<methodFullParamNameList, ...>);
  54. :returnedParentMethodCallS
  55.     return (<classCScopedName>_parent_<baseClassName>_<methodName>(<methodFullParamNameList, ...>));
  56. :implicitMetaParentMethodCallS
  57.     parent_<classprefix><methodName>(<methodFullParamNameList, ...>);
  58. :returnedImplicitMetaParentMethodCallS
  59.     return (parent_<classprefix><methodName>(<methodFullParamNameList, ...>));
  60. :CreturnStatementS
  61.     /* Return statement to be customized: */
  62.     return;
  63. :C++returnStatementS
  64.     /* Return statement to be customized: */
  65.     { <methodCReturnType> retVal;  return (retVal); }
  66. :somInitCallOfDefaultInitS
  67.     <methodPrefix>somDefaultInit(somSelf, (somInitCtrl *) NULL);
  68. :somUninitCallOfsomDestructS
  69.     <methodPrefix>somDestruct(somSelf, FALSE, (somDestructCtrl *) NULL);
  70. :methodEpilogS
  71. }
  72. :methodsEpilogS
  73.  
  74. :InitializerS
  75.  
  76. ?<--  initializerComment>
  77. SOM_Scope void SOMLINK <instanceMethodPrefix><initializerName>(<initializerCParamList, ...>)
  78. {
  79.     <classCScopedName>Data *somThis; /* set in BeginInitializer */
  80.     somInitCtrl globalCtrl;
  81.     somBooleanVector myMask;
  82.     <classCScopedName>MethodDebug("<classCScopedName>","<initializerName>");
  83.     <classCScopedName>_BeginInitializer_<initializerName>;
  84.  
  85. :AssignmentOpS
  86.  
  87. ?<--  assignmentOpComment>
  88. SOM_Scope <classCScopedName> <star> SOMLINK <instanceMethodPrefix><assignmentOpName>(<assignmentOpCParamList, ...>)
  89. {
  90.     <classCScopedName>Data *somThis; /* set in BeginAssignmentOp */
  91.     somAssignCtrl globalCtrl;
  92.     somBooleanVector myMask;
  93.     <classCScopedName>MethodDebug("<classCScopedName>","<assignmentOpName>");
  94.     <classCScopedName>_BeginAssignmentOp;
  95.  
  96. :parentInitializerCallS
  97.     <classCScopedName>_Init_<parentName>_somDefaultInit(somSelf, <ctrlName>);
  98. :parentCopyInitializerCallS
  99.     <classCScopedName>_Init_<parentName>_<initializerName>(somSelf, <ctrlName>, <fromName>);
  100. :parentAssignOpCallS
  101.     <classCScopedName>_Assign_<parentName>_<assignmentOpName>(somSelf, <ctrlName>, <fromName>);
  102. :initializerEpilogS
  103.  
  104.     /*
  105.      * local <className> initialization code added by programmer
  106.      */
  107. }
  108.  
  109. :AssignmentOpEpilogS
  110.  
  111.     /*
  112.      * local <className> assignmentOp code added by programmer
  113.      */
  114.  
  115.     return somSelf;
  116. }
  117.  
  118. :CDestructorS
  119.  
  120. ?<--  destructorComment>
  121. SOM_Scope void SOMLINK <instanceMethodPrefix>somDestruct(<destructorCParamList, ...>)
  122. {
  123.     <classCScopedName>Data *somThis; /* set in BeginDestructor */
  124.     somDestructCtrl globalCtrl;
  125.     somBooleanVector myMask;
  126.     <classCScopedName>MethodDebug("<classCScopedName>","<instanceMethodPrefix>somDestruct");
  127.     <classCScopedName>_BeginDestructor;
  128.  
  129.     /*
  130.      * local <className> deinitialization code added by programmer
  131.      */
  132.  
  133.     <classCScopedName>_EndDestructor;
  134. :CppDestructorS
  135.  
  136. ?<--  destructorComment>
  137. SOM_Scope void SOMLINK <instanceMethodPrefix>somDestruct(<destructorCParamList, ...>)
  138. {
  139.     <classCScopedName>Data *somThis; /* set in BeginDestructor */
  140.     somDestructCtrl globalCtrl;
  141.     somBooleanVector myMask;
  142.     <classCScopedName>MethodDebug("<classCScopedName>","<instanceMethodPrefix>somDestruct");
  143.     <classCScopedName>_BeginDestructor;
  144.  
  145.     /*
  146.      * local <className> deinitialization code added by programmer
  147.      */
  148.  
  149.     <classCScopedName>_EndDestructor;
  150. :parentDeinitializerCallS
  151. :CDestructorEpilogS
  152. }
  153.  
  154. :CppDestructorEpilogS
  155. }
  156.  
  157. :classinitS
  158.  
  159. /* Programmer Provided Class Initialization called by SOM kernel */
  160. void SOMLINK <classInitPrefix><classinit>(SOMClass *cls)
  161. {
  162. }
  163.  
  164. :somallocateS
  165.  
  166. /* Programmer Provided instance allocation function */
  167. /* returns an uninitialized instance so uses void * as return type */
  168. SOM_Scope void * SOMLINK <somallocate>( SOMClass *cls, size_t sizeToAllocate )
  169. {
  170.    /* programmer replaces the following with memory allocation */
  171.    return 0;
  172. }
  173.  
  174. /* Programmer Provided instance deallocation function */
  175. /* the argument is no longer an object, so uses void* as memory pointer */
  176. SOM_Scope void SOMLINK <somdeallocate>( void *obj, size_t sizeToFree )
  177. {
  178. }
  179.  
  180. :epilogS
  181. :externalInstanceMethodPrefixS
  182. <externalprefix>
  183. :internalInstanceMethodPrefixS
  184. <functionprefix>
  185. :classMethodPrefixS
  186. <classprefix>
  187.  
  188. :noDataSomThisAssignS
  189. /* <methodClassName>Data *somThis = <methodClassName>GetData(somSelf); */
  190. :yesDataSomThisAssignS
  191. <methodClassName>Data *somThis = <methodClassName>GetData(somSelf);
  192.  
  193. :instanceMethodClassNameS
  194. <classCScopedName>
  195. :classMethodClassNameS
  196. M_<classCScopedName>
  197.  
  198. :classInitPrefixS
  199. <instanceMethodPrefix>
  200.