Mscript.genmodel 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <genmodel:GenModel xmi:version="2.0"
  3. xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
  4. xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipselabs.mscript.language/src"
  5. editDirectory="/org.eclipselabs.mscript.language.edit/src" editorDirectory="/org.eclipselabs.mscript.language.editor/src"
  6. modelPluginID="org.eclipselabs.mscript.language" forceOverwrite="true" modelName="Mscript"
  7. updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
  8. importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
  9. editPluginID="org.eclipselabs.mscript.language.edit" editorPluginID="org.eclipselabs.mscript.language.editor"
  10. usedGenPackages="../../org.eclipselabs.mscript.typesystem/model/TypeSystem.genmodel#//typesystem">
  11. <foreignModel>Mscript.ecore</foreignModel>
  12. <genPackages prefix="Ast" basePackage="org.eclipselabs.mscript.language" disposableProviderFactory="true"
  13. ecorePackage="Mscript.ecore#/">
  14. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//FunctionKind">
  15. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//FunctionKind/Stateless"/>
  16. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//FunctionKind/Stateful"/>
  17. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//FunctionKind/Continuous"/>
  18. </genEnums>
  19. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//AssertionStatusKind">
  20. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AssertionStatusKind/Info"/>
  21. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AssertionStatusKind/Warning"/>
  22. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AssertionStatusKind/Error"/>
  23. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AssertionStatusKind/Fatal"/>
  24. </genEnums>
  25. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//EqualityOperator">
  26. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//EqualityOperator/EqualTo"/>
  27. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//EqualityOperator/NotEqualTo"/>
  28. </genEnums>
  29. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//RelationalOperator">
  30. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//RelationalOperator/LessThan"/>
  31. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//RelationalOperator/LessThanOrEqualTo"/>
  32. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//RelationalOperator/GreaterThan"/>
  33. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//RelationalOperator/GreaterThanOrEqualTo"/>
  34. </genEnums>
  35. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//AdditiveOperator">
  36. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AdditiveOperator/Add"/>
  37. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//AdditiveOperator/Subtract"/>
  38. </genEnums>
  39. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//MultiplicativeOperator">
  40. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//MultiplicativeOperator/Multiply"/>
  41. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//MultiplicativeOperator/Divide"/>
  42. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//MultiplicativeOperator/ElementWiseMultiply"/>
  43. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//MultiplicativeOperator/ElementWiseDivide"/>
  44. </genEnums>
  45. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//PowerOperator">
  46. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//PowerOperator/Power"/>
  47. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//PowerOperator/ElementWisePower"/>
  48. </genEnums>
  49. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//UnaryOperator">
  50. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//UnaryOperator/Negate"/>
  51. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//UnaryOperator/LogicalNot"/>
  52. </genEnums>
  53. <genEnums typeSafeEnumCompatible="false" ecoreEnum="Mscript.ecore#//PostfixOperator">
  54. <genEnumLiterals ecoreEnumLiteral="Mscript.ecore#//PostfixOperator/Transpose"/>
  55. </genEnums>
  56. <genClasses ecoreClass="Mscript.ecore#//Module">
  57. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Module/definitions"/>
  58. </genClasses>
  59. <genClasses ecoreClass="Mscript.ecore#//Definition">
  60. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//Definition/name"/>
  61. </genClasses>
  62. <genClasses ecoreClass="Mscript.ecore#//DataTypeDefinition"/>
  63. <genClasses ecoreClass="Mscript.ecore#//EnumerationDefinition">
  64. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//EnumerationDefinition/literalDeclarations"/>
  65. </genClasses>
  66. <genClasses ecoreClass="Mscript.ecore#//EnumerationLiteralDeclaration">
  67. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//EnumerationLiteralDeclaration/name"/>
  68. </genClasses>
  69. <genClasses ecoreClass="Mscript.ecore#//TypeAliasDefinition">
  70. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//TypeAliasDefinition/type"/>
  71. </genClasses>
  72. <genClasses ecoreClass="Mscript.ecore#//RecordDefinition">
  73. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RecordDefinition/fieldDeclarations"/>
  74. </genClasses>
  75. <genClasses ecoreClass="Mscript.ecore#//RecordFieldDeclaration">
  76. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//RecordFieldDeclaration/name"/>
  77. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RecordFieldDeclaration/type"/>
  78. </genClasses>
  79. <genClasses ecoreClass="Mscript.ecore#//FunctionDefinition">
  80. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//FunctionDefinition/kind"/>
  81. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/templateParameterDeclarations"/>
  82. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/inputParameterDeclarations"/>
  83. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/outputParameterDeclarations"/>
  84. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/checks"/>
  85. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/assertions"/>
  86. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/functionObjectDeclarations"/>
  87. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/stateVariableDeclarations"/>
  88. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionDefinition/equations"/>
  89. </genClasses>
  90. <genClasses ecoreClass="Mscript.ecore#//Check">
  91. <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference Mscript.ecore#//Check/function"/>
  92. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Check/templateArguments"/>
  93. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Check/inputParameterTypes"/>
  94. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Check/outputParameterTypes"/>
  95. </genClasses>
  96. <genClasses ecoreClass="Mscript.ecore#//CallableElement">
  97. <genOperations ecoreOperation="Mscript.ecore#//CallableElement/getName"/>
  98. <genOperations ecoreOperation="Mscript.ecore#//CallableElement/getQualifiedName"/>
  99. </genClasses>
  100. <genClasses ecoreClass="Mscript.ecore#//ParameterDeclaration">
  101. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//ParameterDeclaration/name"/>
  102. </genClasses>
  103. <genClasses ecoreClass="Mscript.ecore#//TemplateParameterDeclaration"/>
  104. <genClasses ecoreClass="Mscript.ecore#//InputParameterDeclaration"/>
  105. <genClasses ecoreClass="Mscript.ecore#//OutputParameterDeclaration"/>
  106. <genClasses ecoreClass="Mscript.ecore#//Assertion">
  107. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//Assertion/static"/>
  108. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Assertion/condition"/>
  109. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//Assertion/statusKind"/>
  110. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Assertion/message"/>
  111. </genClasses>
  112. <genClasses ecoreClass="Mscript.ecore#//StateVariableDeclaration">
  113. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//StateVariableDeclaration/name"/>
  114. </genClasses>
  115. <genClasses ecoreClass="Mscript.ecore#//FunctionObjectDeclaration">
  116. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//FunctionObjectDeclaration/name"/>
  117. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionObjectDeclaration/functionName"/>
  118. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionObjectDeclaration/templateArguments"/>
  119. </genClasses>
  120. <genClasses ecoreClass="Mscript.ecore#//Equation">
  121. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//Equation/initial"/>
  122. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Equation/leftHandSide"/>
  123. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Equation/rightHandSide"/>
  124. </genClasses>
  125. <genClasses ecoreClass="Mscript.ecore#//DataTypeSpecifier">
  126. <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Mscript.ecore#//DataTypeSpecifier/type"/>
  127. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//DataTypeSpecifier/definedType"/>
  128. </genClasses>
  129. <genClasses ecoreClass="Mscript.ecore#//LetExpression">
  130. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LetExpression/variableDeclarations"/>
  131. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LetExpression/targetExpression"/>
  132. </genClasses>
  133. <genClasses ecoreClass="Mscript.ecore#//LetExpressionVariableDeclaration">
  134. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LetExpressionVariableDeclaration/parts"/>
  135. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LetExpressionVariableDeclaration/assignedExpression"/>
  136. </genClasses>
  137. <genClasses ecoreClass="Mscript.ecore#//LetExpressionVariableDeclarationPart">
  138. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//LetExpressionVariableDeclarationPart/name"/>
  139. </genClasses>
  140. <genClasses ecoreClass="Mscript.ecore#//IfExpression">
  141. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//IfExpression/static"/>
  142. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfExpression/condition"/>
  143. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfExpression/thenExpression"/>
  144. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfExpression/elseExpression"/>
  145. </genClasses>
  146. <genClasses ecoreClass="Mscript.ecore#//SwitchExpression">
  147. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//SwitchExpression/static"/>
  148. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//SwitchExpression/controlExpression"/>
  149. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//SwitchExpression/cases"/>
  150. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//SwitchExpression/defaultExpression"/>
  151. </genClasses>
  152. <genClasses ecoreClass="Mscript.ecore#//SwitchCase">
  153. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//SwitchCase/caseExpression"/>
  154. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//SwitchCase/resultExpression"/>
  155. </genClasses>
  156. <genClasses ecoreClass="Mscript.ecore#//ArrayElementAccess">
  157. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayElementAccess/array"/>
  158. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayElementAccess/subscripts"/>
  159. </genClasses>
  160. <genClasses ecoreClass="Mscript.ecore#//ArraySubscript">
  161. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//ArraySubscript/slice"/>
  162. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArraySubscript/expression"/>
  163. </genClasses>
  164. <genClasses ecoreClass="Mscript.ecore#//IterationCall">
  165. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationCall/target"/>
  166. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//IterationCall/identifier"/>
  167. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationCall/variables"/>
  168. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationCall/accumulator"/>
  169. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationCall/breakCondition"/>
  170. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationCall/expression"/>
  171. </genClasses>
  172. <genClasses ecoreClass="Mscript.ecore#//IterationVariable">
  173. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//IterationVariable/name"/>
  174. </genClasses>
  175. <genClasses ecoreClass="Mscript.ecore#//IterationAccumulator">
  176. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//IterationAccumulator/name"/>
  177. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IterationAccumulator/initializer"/>
  178. </genClasses>
  179. <genClasses ecoreClass="Mscript.ecore#//DerivativeOperator">
  180. <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Mscript.ecore#//DerivativeOperator/variable"/>
  181. </genClasses>
  182. <genClasses ecoreClass="Mscript.ecore#//ArrayConstructionOperator">
  183. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayConstructionOperator/expressions"/>
  184. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayConstructionOperator/iterationClauses"/>
  185. </genClasses>
  186. <genClasses ecoreClass="Mscript.ecore#//ArrayConstructionIterationClause">
  187. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//ArrayConstructionIterationClause/variableName"/>
  188. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayConstructionIterationClause/collectionExpression"/>
  189. </genClasses>
  190. <genClasses ecoreClass="Mscript.ecore#//ArrayConcatenationOperator">
  191. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ArrayConcatenationOperator/rows"/>
  192. </genClasses>
  193. <genClasses ecoreClass="Mscript.ecore#//ExpressionList">
  194. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ExpressionList/expressions"/>
  195. </genClasses>
  196. <genClasses ecoreClass="Mscript.ecore#//UnitConstructionOperator">
  197. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//UnitConstructionOperator/unit"/>
  198. </genClasses>
  199. <genClasses ecoreClass="Mscript.ecore#//ParenthesizedExpression">
  200. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ParenthesizedExpression/expressions"/>
  201. </genClasses>
  202. <genClasses ecoreClass="Mscript.ecore#//EndExpression"/>
  203. <genClasses ecoreClass="Mscript.ecore#//RangeExpression">
  204. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RangeExpression/operands"/>
  205. </genClasses>
  206. <genClasses ecoreClass="Mscript.ecore#//ImpliesExpression">
  207. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ImpliesExpression/leftOperand"/>
  208. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ImpliesExpression/rightOperand"/>
  209. </genClasses>
  210. <genClasses ecoreClass="Mscript.ecore#//LogicalOrExpression">
  211. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LogicalOrExpression/leftOperand"/>
  212. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LogicalOrExpression/rightOperand"/>
  213. </genClasses>
  214. <genClasses ecoreClass="Mscript.ecore#//LogicalAndExpression">
  215. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LogicalAndExpression/leftOperand"/>
  216. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//LogicalAndExpression/rightOperand"/>
  217. </genClasses>
  218. <genClasses ecoreClass="Mscript.ecore#//EqualityExpression">
  219. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//EqualityExpression/leftOperand"/>
  220. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//EqualityExpression/operator"/>
  221. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//EqualityExpression/rightOperand"/>
  222. </genClasses>
  223. <genClasses ecoreClass="Mscript.ecore#//RelationalExpression">
  224. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RelationalExpression/leftOperand"/>
  225. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//RelationalExpression/operator"/>
  226. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RelationalExpression/rightOperand"/>
  227. </genClasses>
  228. <genClasses ecoreClass="Mscript.ecore#//TypeTestExpression">
  229. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//TypeTestExpression/expression"/>
  230. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//TypeTestExpression/type"/>
  231. </genClasses>
  232. <genClasses ecoreClass="Mscript.ecore#//AdditiveExpression">
  233. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//AdditiveExpression/operator"/>
  234. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//AdditiveExpression/leftOperand"/>
  235. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//AdditiveExpression/rightOperand"/>
  236. </genClasses>
  237. <genClasses ecoreClass="Mscript.ecore#//MultiplicativeExpression">
  238. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//MultiplicativeExpression/operator"/>
  239. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//MultiplicativeExpression/leftOperand"/>
  240. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//MultiplicativeExpression/rightOperand"/>
  241. </genClasses>
  242. <genClasses ecoreClass="Mscript.ecore#//PowerExpression">
  243. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//PowerExpression/operand"/>
  244. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//PowerExpression/operator"/>
  245. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//PowerExpression/exponent"/>
  246. </genClasses>
  247. <genClasses ecoreClass="Mscript.ecore#//UnaryExpression">
  248. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//UnaryExpression/operator"/>
  249. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//UnaryExpression/operand"/>
  250. </genClasses>
  251. <genClasses ecoreClass="Mscript.ecore#//PostfixExpression">
  252. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//PostfixExpression/operand"/>
  253. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//PostfixExpression/operator"/>
  254. </genClasses>
  255. <genClasses image="false" ecoreClass="Mscript.ecore#//FeatureCall">
  256. <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Mscript.ecore#//FeatureCall/feature"/>
  257. </genClasses>
  258. <genClasses ecoreClass="Mscript.ecore#//VariableAccess">
  259. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//VariableAccess/stepExpression"/>
  260. <genOperations ecoreOperation="Mscript.ecore#//VariableAccess/isInitial"/>
  261. </genClasses>
  262. <genClasses image="false" ecoreClass="Mscript.ecore#//StepExpression"/>
  263. <genClasses ecoreClass="Mscript.ecore#//RangeStepExpression">
  264. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RangeStepExpression/start"/>
  265. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//RangeStepExpression/end"/>
  266. </genClasses>
  267. <genClasses ecoreClass="Mscript.ecore#//AdditiveStepExpression">
  268. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//AdditiveStepExpression/operator"/>
  269. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//AdditiveStepExpression/leftOperand"/>
  270. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//AdditiveStepExpression/rightOperand"/>
  271. </genClasses>
  272. <genClasses ecoreClass="Mscript.ecore#//NegateStepExpression">
  273. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//NegateStepExpression/operand"/>
  274. </genClasses>
  275. <genClasses image="false" ecoreClass="Mscript.ecore#//PrimitiveStepExpression"/>
  276. <genClasses ecoreClass="Mscript.ecore#//StepLiteral">
  277. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//StepLiteral/value"/>
  278. </genClasses>
  279. <genClasses ecoreClass="Mscript.ecore#//StepN"/>
  280. <genClasses ecoreClass="Mscript.ecore#//FunctionCall">
  281. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//FunctionCall/arguments"/>
  282. </genClasses>
  283. <genClasses ecoreClass="Mscript.ecore#//MemberVariableAccess">
  284. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//MemberVariableAccess/target"/>
  285. <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Mscript.ecore#//MemberVariableAccess/memberVariable"/>
  286. </genClasses>
  287. <genClasses ecoreClass="Mscript.ecore#//AlgorithmExpression">
  288. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//AlgorithmExpression/body"/>
  289. </genClasses>
  290. <genClasses ecoreClass="Mscript.ecore#//Compound">
  291. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Compound/statements"/>
  292. </genClasses>
  293. <genClasses image="false" ecoreClass="Mscript.ecore#//Statement"/>
  294. <genClasses ecoreClass="Mscript.ecore#//Assignment">
  295. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Assignment/target"/>
  296. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//Assignment/expression"/>
  297. </genClasses>
  298. <genClasses ecoreClass="Mscript.ecore#//VariableDeclaration">
  299. <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Mscript.ecore#//VariableDeclaration/name"/>
  300. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//VariableDeclaration/initializer"/>
  301. </genClasses>
  302. <genClasses ecoreClass="Mscript.ecore#//IfStatement">
  303. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfStatement/condition"/>
  304. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfStatement/thenStatement"/>
  305. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//IfStatement/elseStatement"/>
  306. </genClasses>
  307. <genClasses ecoreClass="Mscript.ecore#//WhileStatement">
  308. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//WhileStatement/condition"/>
  309. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//WhileStatement/body"/>
  310. </genClasses>
  311. <genClasses ecoreClass="Mscript.ecore#//DoWhileStatement">
  312. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//DoWhileStatement/condition"/>
  313. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//DoWhileStatement/body"/>
  314. </genClasses>
  315. <genClasses ecoreClass="Mscript.ecore#//ForStatement">
  316. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ForStatement/iterationVariable"/>
  317. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ForStatement/collectionExpression"/>
  318. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ForStatement/body"/>
  319. </genClasses>
  320. <genClasses ecoreClass="Mscript.ecore#//ContinueStatement"/>
  321. <genClasses ecoreClass="Mscript.ecore#//BreakStatement"/>
  322. <genClasses ecoreClass="Mscript.ecore#//ReturnStatement">
  323. <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Mscript.ecore#//ReturnStatement/expression"/>
  324. </genClasses>
  325. <genClasses ecoreClass="Mscript.ecore#//BuiltinDefinition"/>
  326. <genClasses ecoreClass="Mscript.ecore#//BuiltinFunction"/>
  327. <genClasses ecoreClass="Mscript.ecore#//BuiltinVariable"/>
  328. </genPackages>
  329. </genmodel:GenModel>