@memoarchitect/tools 0.4.5 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +5 -5
  2. package/package.json +8 -8
  3. package/packages/tools/lib/bin/memo.js +1 -1
  4. package/packages/tools/lib/browser/index.d.ts +2 -0
  5. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  6. package/packages/tools/lib/browser/index.js +2 -0
  7. package/packages/tools/lib/browser/index.js.map +1 -1
  8. package/packages/tools/lib/commands/create-package.js +1 -1
  9. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  10. package/packages/tools/lib/commands/dev.js +46 -6
  11. package/packages/tools/lib/commands/dev.js.map +1 -1
  12. package/packages/tools/lib/commands/install.js +1 -1
  13. package/packages/tools/lib/commands/ontology.js +1 -1
  14. package/packages/tools/lib/commands/ontology.js.map +1 -1
  15. package/packages/tools/lib/dhf/document-registry.js +5 -5
  16. package/packages/tools/lib/dhf/document-registry.js.map +1 -1
  17. package/packages/tools/lib/dhf/template-engine.js +3 -3
  18. package/packages/tools/lib/dhf/template-engine.js.map +1 -1
  19. package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
  20. package/packages/tools/lib/importer/cameo-importer.js +5 -2
  21. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  22. package/packages/tools/lib/importer/ea-importer.d.ts +1 -1
  23. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  24. package/packages/tools/lib/importer/ea-importer.js +6 -4
  25. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  26. package/packages/tools/lib/index.d.ts +2 -0
  27. package/packages/tools/lib/index.d.ts.map +1 -1
  28. package/packages/tools/lib/index.js +2 -0
  29. package/packages/tools/lib/index.js.map +1 -1
  30. package/packages/tools/lib/language/generated/ast.d.ts +1774 -142
  31. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  32. package/packages/tools/lib/language/generated/ast.js +1776 -845
  33. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  34. package/packages/tools/lib/language/generated/grammar.d.ts +1 -1
  35. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  36. package/packages/tools/lib/language/generated/grammar.js +1831 -844
  37. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  38. package/packages/tools/lib/language/generated/module.d.ts +1 -1
  39. package/packages/tools/lib/language/generated/module.js +1 -1
  40. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  41. package/packages/tools/lib/model/builder.js +38 -14
  42. package/packages/tools/lib/model/builder.js.map +1 -1
  43. package/packages/tools/lib/model/config.d.ts +11 -1
  44. package/packages/tools/lib/model/config.d.ts.map +1 -1
  45. package/packages/tools/lib/model/kind-registry.d.ts +9 -0
  46. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  47. package/packages/tools/lib/model/kind-registry.js +26 -3
  48. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  49. package/packages/tools/lib/model/layer-resolver.d.ts.map +1 -1
  50. package/packages/tools/lib/model/layer-resolver.js +15 -0
  51. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  52. package/packages/tools/lib/model/ontology-loader.d.ts +2 -0
  53. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  54. package/packages/tools/lib/model/ontology-loader.js +92 -28
  55. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  56. package/packages/tools/lib/model/parser-utils.d.ts +9 -0
  57. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  58. package/packages/tools/lib/model/parser-utils.js +24 -0
  59. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  60. package/packages/tools/lib/model/paths.d.ts +0 -2
  61. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  62. package/packages/tools/lib/model/paths.js +0 -2
  63. package/packages/tools/lib/model/paths.js.map +1 -1
  64. package/packages/tools/lib/model/relationship-legality.d.ts +261 -0
  65. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -0
  66. package/packages/tools/lib/model/relationship-legality.js +391 -0
  67. package/packages/tools/lib/model/relationship-legality.js.map +1 -0
  68. package/packages/tools/lib/model/relationship-registry.d.ts +38 -4
  69. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  70. package/packages/tools/lib/model/relationship-registry.js +109 -1
  71. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  72. package/packages/tools/lib/model/semantic.d.ts +42 -0
  73. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  74. package/packages/tools/lib/model/semantic.js +3 -0
  75. package/packages/tools/lib/model/semantic.js.map +1 -1
  76. package/packages/tools/lib/model/short-id.js +1 -1
  77. package/packages/tools/lib/model/short-id.js.map +1 -1
  78. package/packages/tools/lib/model/source-affinity.d.ts +21 -0
  79. package/packages/tools/lib/model/source-affinity.d.ts.map +1 -0
  80. package/packages/tools/lib/model/source-affinity.js +42 -0
  81. package/packages/tools/lib/model/source-affinity.js.map +1 -0
  82. package/packages/tools/lib/model/source-graph.d.ts +30 -0
  83. package/packages/tools/lib/model/source-graph.d.ts.map +1 -0
  84. package/packages/tools/lib/model/source-graph.js +154 -0
  85. package/packages/tools/lib/model/source-graph.js.map +1 -0
  86. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  87. package/packages/tools/lib/model/view-kinds.js +1 -0
  88. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  89. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  90. package/packages/tools/lib/operations/project-snapshot.js +2 -15
  91. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  92. package/packages/tools/lib/protocol/messages.d.ts +92 -8
  93. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  94. package/packages/tools/lib/server/dev-server.d.ts +16 -0
  95. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  96. package/packages/tools/lib/server/dev-server.js +190 -16
  97. package/packages/tools/lib/server/dev-server.js.map +1 -1
  98. package/packages/tools/lib/server/file-watcher.d.ts +21 -2
  99. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  100. package/packages/tools/lib/server/file-watcher.js +55 -23
  101. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  102. package/packages/tools/lib/server/persistor.d.ts +0 -13
  103. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  104. package/packages/tools/lib/server/persistor.js +3 -31
  105. package/packages/tools/lib/server/persistor.js.map +1 -1
  106. package/packages/tools/lib/server/relationship-writer.d.ts +104 -0
  107. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -0
  108. package/packages/tools/lib/server/relationship-writer.js +402 -0
  109. package/packages/tools/lib/server/relationship-writer.js.map +1 -0
  110. package/packages/tools/lib/server/view-layout-store.d.ts +14 -1
  111. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  112. package/packages/tools/lib/server/view-layout-store.js +63 -11
  113. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  114. package/packages/tools/src/grammar/memo-sysml.langium +102 -18
@@ -1,5 +1,5 @@
1
1
  /******************************************************************************
2
- * This file was generated by langium-cli 3.5.2.
2
+ * This file was generated by langium-cli 4.3.0.
3
3
  * DO NOT EDIT MANUALLY!
4
4
  ******************************************************************************/
5
5
  /* eslint-disable */
@@ -10,952 +10,1883 @@ export const MemoSysMLTerminals = {
10
10
  ML_COMMENT: /\/\*[\s\S]*?\*\//,
11
11
  DOC_COMMENT: /doc\s+\/\*[\s\S]*?\*\//,
12
12
  ID: /[a-zA-Z_][a-zA-Z0-9_]*/,
13
+ UNRESTRICTED_NAME: /'(?:[^'\\]|\\.)*'/,
13
14
  STRING: /"(?:[^"\\]|\\.)*"/,
14
15
  REAL: /[0-9]+\.[0-9]+/,
15
16
  INT: /[0-9]+/,
16
17
  };
17
- export const ActionDefBodyMember = 'ActionDefBodyMember';
18
+ export const ActionDefBodyMember = {
19
+ $type: 'ActionDefBodyMember'
20
+ };
18
21
  export function isActionDefBodyMember(item) {
19
- return reflection.isInstance(item, ActionDefBodyMember);
20
- }
21
- export const ActionUsageBodyMember = 'ActionUsageBodyMember';
22
- export function isActionUsageBodyMember(item) {
23
- return reflection.isInstance(item, ActionUsageBodyMember);
24
- }
25
- export const AttributeValue = 'AttributeValue';
26
- export function isAttributeValue(item) {
27
- return reflection.isInstance(item, AttributeValue);
28
- }
29
- export const ConnectionBodyMember = 'ConnectionBodyMember';
30
- export function isConnectionBodyMember(item) {
31
- return reflection.isInstance(item, ConnectionBodyMember);
32
- }
33
- export const ConstraintExpr = 'ConstraintExpr';
34
- export function isConstraintExpr(item) {
35
- return reflection.isInstance(item, ConstraintExpr);
36
- }
37
- export const DefinitionBodyMember = 'DefinitionBodyMember';
38
- export function isDefinitionBodyMember(item) {
39
- return reflection.isInstance(item, DefinitionBodyMember);
40
- }
41
- export const DefinitionMember = 'DefinitionMember';
42
- export function isDefinitionMember(item) {
43
- return reflection.isInstance(item, DefinitionMember);
44
- }
45
- export function isDottedName(item) {
46
- return typeof item === 'string';
47
- }
48
- export function isEnumLiteralName(item) {
49
- return item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'library' || item === 'private' || item === 'public' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
50
- }
51
- export function isExposePath(item) {
52
- return typeof item === 'string';
53
- }
54
- export function isFeatureName(item) {
55
- return item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'flow' || item === 'view' || item === 'viewpoint' || item === 'attribute' || item === 'constraint' || item === 'ref' || item === 'allocate' || item === 'end' || item === 'enum' || item === 'function' || item === 'operator' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
56
- }
57
- export function isImportPath(item) {
58
- return typeof item === 'string';
59
- }
60
- export function isMemberName(item) {
61
- return item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'part' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
62
- }
63
- export const NamespaceMember = 'NamespaceMember';
64
- export function isNamespaceMember(item) {
65
- return reflection.isInstance(item, NamespaceMember);
66
- }
67
- export const PackageMember = 'PackageMember';
68
- export function isPackageMember(item) {
69
- return reflection.isInstance(item, PackageMember);
70
- }
71
- export function isQualifiedName(item) {
72
- return typeof item === 'string';
73
- }
74
- export function isQualifiedNameSegment(item) {
75
- return item === 'library' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
76
- }
77
- export function isQualifiedNameTailSegment(item) {
78
- return isQualifiedNameSegment(item) || item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'private' || item === 'public';
79
- }
80
- export function isReferenceName(item) {
81
- return typeof item === 'string';
82
- }
83
- export function isSuccessionRef(item) {
84
- return item === 'start' || item === 'done' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
85
- }
86
- export const UsageBodyMember = 'UsageBodyMember';
87
- export function isUsageBodyMember(item) {
88
- return reflection.isInstance(item, UsageBodyMember);
89
- }
90
- export const UsageMember = 'UsageMember';
91
- export function isUsageMember(item) {
92
- return reflection.isInstance(item, UsageMember);
93
- }
94
- export const ViewBodyMember = 'ViewBodyMember';
95
- export function isViewBodyMember(item) {
96
- return reflection.isInstance(item, ViewBodyMember);
97
- }
98
- export const ActionDefinition = 'ActionDefinition';
22
+ return reflection.isInstance(item, ActionDefBodyMember.$type);
23
+ }
24
+ export const ActionDefinition = {
25
+ $type: 'ActionDefinition',
26
+ additionalSpecializations: 'additionalSpecializations',
27
+ behaviorKind: 'behaviorKind',
28
+ body: 'body',
29
+ isAbstract: 'isAbstract',
30
+ name: 'name',
31
+ specialization: 'specialization'
32
+ };
99
33
  export function isActionDefinition(item) {
100
- return reflection.isInstance(item, ActionDefinition);
34
+ return reflection.isInstance(item, ActionDefinition.$type);
101
35
  }
102
- export const ActionParameterMember = 'ActionParameterMember';
36
+ export const ActionParameterMember = {
37
+ $type: 'ActionParameterMember',
38
+ direction: 'direction',
39
+ name: 'name',
40
+ type: 'type'
41
+ };
103
42
  export function isActionParameterMember(item) {
104
- return reflection.isInstance(item, ActionParameterMember);
105
- }
106
- export const ActionUsage = 'ActionUsage';
43
+ return reflection.isInstance(item, ActionParameterMember.$type);
44
+ }
45
+ export const ActionUsage = {
46
+ $type: 'ActionUsage',
47
+ behaviorKind: 'behaviorKind',
48
+ body: 'body',
49
+ name: 'name',
50
+ type: 'type'
51
+ };
107
52
  export function isActionUsage(item) {
108
- return reflection.isInstance(item, ActionUsage);
53
+ return reflection.isInstance(item, ActionUsage.$type);
54
+ }
55
+ export const ActionUsageBodyMember = {
56
+ $type: 'ActionUsageBodyMember'
57
+ };
58
+ export function isActionUsageBodyMember(item) {
59
+ return reflection.isInstance(item, ActionUsageBodyMember.$type);
109
60
  }
110
- export const AliasDeclaration = 'AliasDeclaration';
61
+ export const AliasDeclaration = {
62
+ $type: 'AliasDeclaration',
63
+ name: 'name',
64
+ target: 'target'
65
+ };
111
66
  export function isAliasDeclaration(item) {
112
- return reflection.isInstance(item, AliasDeclaration);
67
+ return reflection.isInstance(item, AliasDeclaration.$type);
113
68
  }
114
- export const AllocateUsage = 'AllocateUsage';
115
- export function isAllocateUsage(item) {
116
- return reflection.isInstance(item, AllocateUsage);
69
+ export function isAliasName(item) {
70
+ return item === 'verification' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
117
71
  }
118
- export const AttributeDefinition = 'AttributeDefinition';
72
+ export const AllocateUsage = {
73
+ $type: 'AllocateUsage',
74
+ source: 'source',
75
+ target: 'target'
76
+ };
77
+ export function isAllocateUsage(item) {
78
+ return reflection.isInstance(item, AllocateUsage.$type);
79
+ }
80
+ export const AttributeDefinition = {
81
+ $type: 'AttributeDefinition',
82
+ additionalSpecializations: 'additionalSpecializations',
83
+ body: 'body',
84
+ isAbstract: 'isAbstract',
85
+ name: 'name',
86
+ specialization: 'specialization'
87
+ };
119
88
  export function isAttributeDefinition(item) {
120
- return reflection.isInstance(item, AttributeDefinition);
121
- }
122
- export const AttributeMember = 'AttributeMember';
89
+ return reflection.isInstance(item, AttributeDefinition.$type);
90
+ }
91
+ export const AttributeMember = {
92
+ $type: 'AttributeMember',
93
+ body: 'body',
94
+ multiplicity: 'multiplicity',
95
+ name: 'name',
96
+ redefines: 'redefines',
97
+ type: 'type',
98
+ value: 'value'
99
+ };
123
100
  export function isAttributeMember(item) {
124
- return reflection.isInstance(item, AttributeMember);
101
+ return reflection.isInstance(item, AttributeMember.$type);
102
+ }
103
+ export const AttributeValue = {
104
+ $type: 'AttributeValue'
105
+ };
106
+ export function isAttributeValue(item) {
107
+ return reflection.isInstance(item, AttributeValue.$type);
125
108
  }
126
- export const BinaryExpr = 'BinaryExpr';
109
+ export const BinaryExpr = {
110
+ $type: 'BinaryExpr',
111
+ left: 'left',
112
+ op: 'op',
113
+ right: 'right'
114
+ };
127
115
  export function isBinaryExpr(item) {
128
- return reflection.isInstance(item, BinaryExpr);
116
+ return reflection.isInstance(item, BinaryExpr.$type);
129
117
  }
130
- export const BooleanValue = 'BooleanValue';
118
+ export const BooleanValue = {
119
+ $type: 'BooleanValue',
120
+ value: 'value'
121
+ };
131
122
  export function isBooleanValue(item) {
132
- return reflection.isInstance(item, BooleanValue);
123
+ return reflection.isInstance(item, BooleanValue.$type);
133
124
  }
134
- export const CollectionOp = 'CollectionOp';
125
+ export const CollectionOp = {
126
+ $type: 'CollectionOp',
127
+ argument: 'argument',
128
+ op: 'op',
129
+ target: 'target'
130
+ };
135
131
  export function isCollectionOp(item) {
136
- return reflection.isInstance(item, CollectionOp);
132
+ return reflection.isInstance(item, CollectionOp.$type);
137
133
  }
138
- export const ConnectionDefinition = 'ConnectionDefinition';
134
+ export const ConnectionBodyMember = {
135
+ $type: 'ConnectionBodyMember'
136
+ };
137
+ export function isConnectionBodyMember(item) {
138
+ return reflection.isInstance(item, ConnectionBodyMember.$type);
139
+ }
140
+ export const ConnectionDefinition = {
141
+ $type: 'ConnectionDefinition',
142
+ additionalSpecializations: 'additionalSpecializations',
143
+ body: 'body',
144
+ isAbstract: 'isAbstract',
145
+ name: 'name',
146
+ specialization: 'specialization'
147
+ };
139
148
  export function isConnectionDefinition(item) {
140
- return reflection.isInstance(item, ConnectionDefinition);
149
+ return reflection.isInstance(item, ConnectionDefinition.$type);
141
150
  }
142
- export const ConnectionEnd = 'ConnectionEnd';
151
+ export const ConnectionEnd = {
152
+ $type: 'ConnectionEnd',
153
+ endName: 'endName',
154
+ ref: 'ref'
155
+ };
143
156
  export function isConnectionEnd(item) {
144
- return reflection.isInstance(item, ConnectionEnd);
145
- }
146
- export const ConnectionUsage = 'ConnectionUsage';
157
+ return reflection.isInstance(item, ConnectionEnd.$type);
158
+ }
159
+ export const ConnectionUsage = {
160
+ $type: 'ConnectionUsage',
161
+ body: 'body',
162
+ name: 'name',
163
+ source: 'source',
164
+ target: 'target',
165
+ type: 'type'
166
+ };
147
167
  export function isConnectionUsage(item) {
148
- return reflection.isInstance(item, ConnectionUsage);
149
- }
150
- export const ConstraintDefinition = 'ConstraintDefinition';
168
+ return reflection.isInstance(item, ConnectionUsage.$type);
169
+ }
170
+ export const ConstraintDefinition = {
171
+ $type: 'ConstraintDefinition',
172
+ additionalSpecializations: 'additionalSpecializations',
173
+ body: 'body',
174
+ isAbstract: 'isAbstract',
175
+ name: 'name',
176
+ specialization: 'specialization'
177
+ };
151
178
  export function isConstraintDefinition(item) {
152
- return reflection.isInstance(item, ConstraintDefinition);
179
+ return reflection.isInstance(item, ConstraintDefinition.$type);
180
+ }
181
+ export const ConstraintExpr = {
182
+ $type: 'ConstraintExpr'
183
+ };
184
+ export function isConstraintExpr(item) {
185
+ return reflection.isInstance(item, ConstraintExpr.$type);
153
186
  }
154
- export const ControlNodeUsage = 'ControlNodeUsage';
187
+ export const ControlNodeUsage = {
188
+ $type: 'ControlNodeUsage',
189
+ controlKind: 'controlKind',
190
+ name: 'name'
191
+ };
155
192
  export function isControlNodeUsage(item) {
156
- return reflection.isInstance(item, ControlNodeUsage);
193
+ return reflection.isInstance(item, ControlNodeUsage.$type);
194
+ }
195
+ export const DefinitionBodyMember = {
196
+ $type: 'DefinitionBodyMember'
197
+ };
198
+ export function isDefinitionBodyMember(item) {
199
+ return reflection.isInstance(item, DefinitionBodyMember.$type);
157
200
  }
158
- export const DocComment = 'DocComment';
201
+ export const DefinitionMember = {
202
+ $type: 'DefinitionMember'
203
+ };
204
+ export function isDefinitionMember(item) {
205
+ return reflection.isInstance(item, DefinitionMember.$type);
206
+ }
207
+ export const DocComment = {
208
+ $type: 'DocComment',
209
+ content: 'content'
210
+ };
159
211
  export function isDocComment(item) {
160
- return reflection.isInstance(item, DocComment);
212
+ return reflection.isInstance(item, DocComment.$type);
213
+ }
214
+ export function isDottedName(item) {
215
+ return typeof item === 'string';
161
216
  }
162
- export const EndDeclaration = 'EndDeclaration';
217
+ export const EndDeclaration = {
218
+ $type: 'EndDeclaration',
219
+ isConjugated: 'isConjugated',
220
+ multiplicity: 'multiplicity',
221
+ name: 'name',
222
+ type: 'type'
223
+ };
163
224
  export function isEndDeclaration(item) {
164
- return reflection.isInstance(item, EndDeclaration);
225
+ return reflection.isInstance(item, EndDeclaration.$type);
165
226
  }
166
- export const EnumDefinition = 'EnumDefinition';
227
+ export const EnumDefinition = {
228
+ $type: 'EnumDefinition',
229
+ literals: 'literals',
230
+ name: 'name'
231
+ };
167
232
  export function isEnumDefinition(item) {
168
- return reflection.isInstance(item, EnumDefinition);
233
+ return reflection.isInstance(item, EnumDefinition.$type);
169
234
  }
170
- export const EnumLiteral = 'EnumLiteral';
235
+ export const EnumLiteral = {
236
+ $type: 'EnumLiteral',
237
+ name: 'name'
238
+ };
171
239
  export function isEnumLiteral(item) {
172
- return reflection.isInstance(item, EnumLiteral);
240
+ return reflection.isInstance(item, EnumLiteral.$type);
173
241
  }
174
- export const EnumValue = 'EnumValue';
242
+ export function isEnumLiteralName(item) {
243
+ return item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'library' || item === 'private' || item === 'public' || item === 'state' || item === 'verification' || item === 'use' || item === 'fork' || item === 'join' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item) || /'(?:[^'\\]|\\.)*'/.test(item)));
244
+ }
245
+ export const EnumValue = {
246
+ $type: 'EnumValue',
247
+ enumRef: 'enumRef'
248
+ };
175
249
  export function isEnumValue(item) {
176
- return reflection.isInstance(item, EnumValue);
250
+ return reflection.isInstance(item, EnumValue.$type);
177
251
  }
178
- export const ExposeMember = 'ExposeMember';
252
+ export const ExposeMember = {
253
+ $type: 'ExposeMember',
254
+ path: 'path'
255
+ };
179
256
  export function isExposeMember(item) {
180
- return reflection.isInstance(item, ExposeMember);
257
+ return reflection.isInstance(item, ExposeMember.$type);
258
+ }
259
+ export function isExposePath(item) {
260
+ return typeof item === 'string';
181
261
  }
182
- export const FeatureChain = 'FeatureChain';
262
+ export const FeatureChain = {
263
+ $type: 'FeatureChain',
264
+ segments: 'segments'
265
+ };
183
266
  export function isFeatureChain(item) {
184
- return reflection.isInstance(item, FeatureChain);
267
+ return reflection.isInstance(item, FeatureChain.$type);
268
+ }
269
+ export function isFeatureName(item) {
270
+ return item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'flow' || item === 'view' || item === 'viewpoint' || item === 'attribute' || item === 'constraint' || item === 'ref' || item === 'allocate' || item === 'end' || item === 'enum' || item === 'function' || item === 'operator' || item === 'state' || item === 'verification' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
185
271
  }
186
- export const FlowConnectionUsage = 'FlowConnectionUsage';
272
+ export const FlowConnectionUsage = {
273
+ $type: 'FlowConnectionUsage',
274
+ itemType: 'itemType',
275
+ source: 'source',
276
+ target: 'target'
277
+ };
187
278
  export function isFlowConnectionUsage(item) {
188
- return reflection.isInstance(item, FlowConnectionUsage);
279
+ return reflection.isInstance(item, FlowConnectionUsage.$type);
189
280
  }
190
- export const FlowEnd = 'FlowEnd';
281
+ export const FlowEnd = {
282
+ $type: 'FlowEnd',
283
+ ref: 'ref'
284
+ };
191
285
  export function isFlowEnd(item) {
192
- return reflection.isInstance(item, FlowEnd);
286
+ return reflection.isInstance(item, FlowEnd.$type);
193
287
  }
194
- export const ImportDeclaration = 'ImportDeclaration';
288
+ export const ImportDeclaration = {
289
+ $type: 'ImportDeclaration',
290
+ path: 'path',
291
+ visibility: 'visibility'
292
+ };
195
293
  export function isImportDeclaration(item) {
196
- return reflection.isInstance(item, ImportDeclaration);
294
+ return reflection.isInstance(item, ImportDeclaration.$type);
295
+ }
296
+ export function isImportPath(item) {
297
+ return typeof item === 'string';
197
298
  }
198
- export const InterfaceDefinition = 'InterfaceDefinition';
299
+ export const InterfaceDefinition = {
300
+ $type: 'InterfaceDefinition',
301
+ additionalSpecializations: 'additionalSpecializations',
302
+ body: 'body',
303
+ isAbstract: 'isAbstract',
304
+ name: 'name',
305
+ specialization: 'specialization'
306
+ };
199
307
  export function isInterfaceDefinition(item) {
200
- return reflection.isInstance(item, InterfaceDefinition);
308
+ return reflection.isInstance(item, InterfaceDefinition.$type);
201
309
  }
202
- export const IntValue = 'IntValue';
203
- export function isIntValue(item) {
204
- return reflection.isInstance(item, IntValue);
310
+ export const InterfaceUsage = {
311
+ $type: 'InterfaceUsage',
312
+ body: 'body',
313
+ name: 'name',
314
+ type: 'type'
315
+ };
316
+ export function isInterfaceUsage(item) {
317
+ return reflection.isInstance(item, InterfaceUsage.$type);
205
318
  }
206
- export const ItemDefinition = 'ItemDefinition';
319
+ export const IntValue = {
320
+ $type: 'IntValue',
321
+ value: 'value'
322
+ };
323
+ export function isIntValue(item) {
324
+ return reflection.isInstance(item, IntValue.$type);
325
+ }
326
+ export const ItemDefinition = {
327
+ $type: 'ItemDefinition',
328
+ additionalSpecializations: 'additionalSpecializations',
329
+ body: 'body',
330
+ isAbstract: 'isAbstract',
331
+ name: 'name',
332
+ specialization: 'specialization'
333
+ };
207
334
  export function isItemDefinition(item) {
208
- return reflection.isInstance(item, ItemDefinition);
209
- }
210
- export const LiteralExpr = 'LiteralExpr';
335
+ return reflection.isInstance(item, ItemDefinition.$type);
336
+ }
337
+ export const ItemUsage = {
338
+ $type: 'ItemUsage',
339
+ body: 'body',
340
+ boundRef: 'boundRef',
341
+ direction: 'direction',
342
+ multiplicity: 'multiplicity',
343
+ name: 'name',
344
+ type: 'type'
345
+ };
346
+ export function isItemUsage(item) {
347
+ return reflection.isInstance(item, ItemUsage.$type);
348
+ }
349
+ export const LiteralExpr = {
350
+ $type: 'LiteralExpr',
351
+ boolValue: 'boolValue',
352
+ intValue: 'intValue',
353
+ strValue: 'strValue'
354
+ };
211
355
  export function isLiteralExpr(item) {
212
- return reflection.isInstance(item, LiteralExpr);
356
+ return reflection.isInstance(item, LiteralExpr.$type);
357
+ }
358
+ export function isMemberName(item) {
359
+ return item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'part' || item === 'state' || item === 'verification' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
213
360
  }
214
- export const MetadataApplication = 'MetadataApplication';
361
+ export const MetadataApplication = {
362
+ $type: 'MetadataApplication',
363
+ body: 'body',
364
+ type: 'type'
365
+ };
215
366
  export function isMetadataApplication(item) {
216
- return reflection.isInstance(item, MetadataApplication);
367
+ return reflection.isInstance(item, MetadataApplication.$type);
217
368
  }
218
- export const MetadataDefinition = 'MetadataDefinition';
369
+ export const MetadataDefinition = {
370
+ $type: 'MetadataDefinition',
371
+ body: 'body',
372
+ name: 'name',
373
+ specialization: 'specialization'
374
+ };
219
375
  export function isMetadataDefinition(item) {
220
- return reflection.isInstance(item, MetadataDefinition);
376
+ return reflection.isInstance(item, MetadataDefinition.$type);
221
377
  }
222
- export const Model = 'Model';
378
+ export const Model = {
379
+ $type: 'Model',
380
+ members: 'members'
381
+ };
223
382
  export function isModel(item) {
224
- return reflection.isInstance(item, Model);
225
- }
226
- export const Multiplicity = 'Multiplicity';
383
+ return reflection.isInstance(item, Model.$type);
384
+ }
385
+ export const Multiplicity = {
386
+ $type: 'Multiplicity',
387
+ exact: 'exact',
388
+ lower: 'lower',
389
+ unbounded: 'unbounded',
390
+ upper: 'upper'
391
+ };
227
392
  export function isMultiplicity(item) {
228
- return reflection.isInstance(item, Multiplicity);
393
+ return reflection.isInstance(item, Multiplicity.$type);
394
+ }
395
+ export const NamespaceMember = {
396
+ $type: 'NamespaceMember'
397
+ };
398
+ export function isNamespaceMember(item) {
399
+ return reflection.isInstance(item, NamespaceMember.$type);
229
400
  }
230
- export const PackageDeclaration = 'PackageDeclaration';
401
+ export const PackageDeclaration = {
402
+ $type: 'PackageDeclaration',
403
+ isLibrary: 'isLibrary',
404
+ members: 'members',
405
+ name: 'name'
406
+ };
231
407
  export function isPackageDeclaration(item) {
232
- return reflection.isInstance(item, PackageDeclaration);
408
+ return reflection.isInstance(item, PackageDeclaration.$type);
233
409
  }
234
- export const PartDefinition = 'PartDefinition';
410
+ export const PackageMember = {
411
+ $type: 'PackageMember'
412
+ };
413
+ export function isPackageMember(item) {
414
+ return reflection.isInstance(item, PackageMember.$type);
415
+ }
416
+ export const PartDefinition = {
417
+ $type: 'PartDefinition',
418
+ additionalSpecializations: 'additionalSpecializations',
419
+ body: 'body',
420
+ isAbstract: 'isAbstract',
421
+ name: 'name',
422
+ specialization: 'specialization'
423
+ };
235
424
  export function isPartDefinition(item) {
236
- return reflection.isInstance(item, PartDefinition);
237
- }
238
- export const PartMember = 'PartMember';
425
+ return reflection.isInstance(item, PartDefinition.$type);
426
+ }
427
+ export const PartMember = {
428
+ $type: 'PartMember',
429
+ bindingOp: 'bindingOp',
430
+ body: 'body',
431
+ boundRef: 'boundRef',
432
+ multiplicity: 'multiplicity',
433
+ name: 'name',
434
+ type: 'type'
435
+ };
239
436
  export function isPartMember(item) {
240
- return reflection.isInstance(item, PartMember);
437
+ return reflection.isInstance(item, PartMember.$type);
241
438
  }
242
- export const PartUsage = 'PartUsage';
439
+ export const PartUsage = {
440
+ $type: 'PartUsage',
441
+ body: 'body',
442
+ name: 'name',
443
+ type: 'type'
444
+ };
243
445
  export function isPartUsage(item) {
244
- return reflection.isInstance(item, PartUsage);
245
- }
246
- export const PortDefinition = 'PortDefinition';
446
+ return reflection.isInstance(item, PartUsage.$type);
447
+ }
448
+ export const PortDefinition = {
449
+ $type: 'PortDefinition',
450
+ additionalSpecializations: 'additionalSpecializations',
451
+ body: 'body',
452
+ isAbstract: 'isAbstract',
453
+ name: 'name',
454
+ specialization: 'specialization'
455
+ };
247
456
  export function isPortDefinition(item) {
248
- return reflection.isInstance(item, PortDefinition);
249
- }
250
- export const PortUsage = 'PortUsage';
457
+ return reflection.isInstance(item, PortDefinition.$type);
458
+ }
459
+ export const PortUsage = {
460
+ $type: 'PortUsage',
461
+ body: 'body',
462
+ direction: 'direction',
463
+ isConjugated: 'isConjugated',
464
+ name: 'name',
465
+ type: 'type'
466
+ };
251
467
  export function isPortUsage(item) {
252
- return reflection.isInstance(item, PortUsage);
468
+ return reflection.isInstance(item, PortUsage.$type);
469
+ }
470
+ export function isQualifiedName(item) {
471
+ return typeof item === 'string';
472
+ }
473
+ export function isQualifiedNameSegment(item) {
474
+ return item === 'library' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
475
+ }
476
+ export function isQualifiedNameTailSegment(item) {
477
+ return isQualifiedNameSegment(item) || item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'private' || item === 'public' || item === 'state' || item === 'verification' || item === 'use' || item === 'fork' || item === 'join' || (typeof item === 'string' && (/'(?:[^'\\]|\\.)*'/.test(item)));
253
478
  }
254
- export const RealValue = 'RealValue';
479
+ export const RealValue = {
480
+ $type: 'RealValue',
481
+ value: 'value'
482
+ };
255
483
  export function isRealValue(item) {
256
- return reflection.isInstance(item, RealValue);
484
+ return reflection.isInstance(item, RealValue.$type);
485
+ }
486
+ export function isReferenceName(item) {
487
+ return typeof item === 'string';
257
488
  }
258
- export const RefMember = 'RefMember';
489
+ export const RefMember = {
490
+ $type: 'RefMember',
491
+ isConjugated: 'isConjugated',
492
+ isItem: 'isItem',
493
+ multiplicity: 'multiplicity',
494
+ name: 'name',
495
+ redefines: 'redefines',
496
+ type: 'type',
497
+ value: 'value'
498
+ };
259
499
  export function isRefMember(item) {
260
- return reflection.isInstance(item, RefMember);
500
+ return reflection.isInstance(item, RefMember.$type);
261
501
  }
262
- export const RequireConstraintMember = 'RequireConstraintMember';
502
+ export const RequireConstraintMember = {
503
+ $type: 'RequireConstraintMember',
504
+ expression: 'expression',
505
+ kind: 'kind'
506
+ };
263
507
  export function isRequireConstraintMember(item) {
264
- return reflection.isInstance(item, RequireConstraintMember);
265
- }
266
- export const RequirementDefinition = 'RequirementDefinition';
508
+ return reflection.isInstance(item, RequireConstraintMember.$type);
509
+ }
510
+ export const RequirementDefinition = {
511
+ $type: 'RequirementDefinition',
512
+ additionalSpecializations: 'additionalSpecializations',
513
+ body: 'body',
514
+ isAbstract: 'isAbstract',
515
+ name: 'name',
516
+ specialization: 'specialization'
517
+ };
267
518
  export function isRequirementDefinition(item) {
268
- return reflection.isInstance(item, RequirementDefinition);
519
+ return reflection.isInstance(item, RequirementDefinition.$type);
269
520
  }
270
- export const RequirementUsage = 'RequirementUsage';
521
+ export const RequirementUsage = {
522
+ $type: 'RequirementUsage',
523
+ body: 'body',
524
+ name: 'name',
525
+ type: 'type'
526
+ };
271
527
  export function isRequirementUsage(item) {
272
- return reflection.isInstance(item, RequirementUsage);
528
+ return reflection.isInstance(item, RequirementUsage.$type);
273
529
  }
274
- export const SetElement = 'SetElement';
530
+ export const SetElement = {
531
+ $type: 'SetElement',
532
+ stringValue: 'stringValue',
533
+ value: 'value'
534
+ };
275
535
  export function isSetElement(item) {
276
- return reflection.isInstance(item, SetElement);
536
+ return reflection.isInstance(item, SetElement.$type);
277
537
  }
278
- export const SetLiteral = 'SetLiteral';
538
+ export const SetLiteral = {
539
+ $type: 'SetLiteral',
540
+ elements: 'elements'
541
+ };
279
542
  export function isSetLiteral(item) {
280
- return reflection.isInstance(item, SetLiteral);
543
+ return reflection.isInstance(item, SetLiteral.$type);
281
544
  }
282
- export const Specialization = 'Specialization';
545
+ export const Specialization = {
546
+ $type: 'Specialization',
547
+ superType: 'superType'
548
+ };
283
549
  export function isSpecialization(item) {
284
- return reflection.isInstance(item, Specialization);
550
+ return reflection.isInstance(item, Specialization.$type);
551
+ }
552
+ export const StateDefinition = {
553
+ $type: 'StateDefinition',
554
+ additionalSpecializations: 'additionalSpecializations',
555
+ body: 'body',
556
+ isAbstract: 'isAbstract',
557
+ name: 'name',
558
+ specialization: 'specialization'
559
+ };
560
+ export function isStateDefinition(item) {
561
+ return reflection.isInstance(item, StateDefinition.$type);
562
+ }
563
+ export const StateUsage = {
564
+ $type: 'StateUsage',
565
+ body: 'body',
566
+ name: 'name',
567
+ type: 'type'
568
+ };
569
+ export function isStateUsage(item) {
570
+ return reflection.isInstance(item, StateUsage.$type);
285
571
  }
286
- export const StringValue = 'StringValue';
572
+ export const StringValue = {
573
+ $type: 'StringValue',
574
+ value: 'value'
575
+ };
287
576
  export function isStringValue(item) {
288
- return reflection.isInstance(item, StringValue);
577
+ return reflection.isInstance(item, StringValue.$type);
289
578
  }
290
- export const SuccessionStep = 'SuccessionStep';
579
+ export function isSuccessionRef(item) {
580
+ return item === 'start' || item === 'done' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
581
+ }
582
+ export const SuccessionStep = {
583
+ $type: 'SuccessionStep',
584
+ ref: 'ref'
585
+ };
291
586
  export function isSuccessionStep(item) {
292
- return reflection.isInstance(item, SuccessionStep);
587
+ return reflection.isInstance(item, SuccessionStep.$type);
293
588
  }
294
- export const SuccessionUsage = 'SuccessionUsage';
589
+ export const SuccessionUsage = {
590
+ $type: 'SuccessionUsage',
591
+ steps: 'steps'
592
+ };
295
593
  export function isSuccessionUsage(item) {
296
- return reflection.isInstance(item, SuccessionUsage);
594
+ return reflection.isInstance(item, SuccessionUsage.$type);
297
595
  }
298
- export const UnaryExpr = 'UnaryExpr';
596
+ export const UnaryExpr = {
597
+ $type: 'UnaryExpr',
598
+ op: 'op',
599
+ operand: 'operand'
600
+ };
299
601
  export function isUnaryExpr(item) {
300
- return reflection.isInstance(item, UnaryExpr);
602
+ return reflection.isInstance(item, UnaryExpr.$type);
301
603
  }
302
- export const ViewDefinition = 'ViewDefinition';
303
- export function isViewDefinition(item) {
304
- return reflection.isInstance(item, ViewDefinition);
604
+ export const UsageBodyMember = {
605
+ $type: 'UsageBodyMember'
606
+ };
607
+ export function isUsageBodyMember(item) {
608
+ return reflection.isInstance(item, UsageBodyMember.$type);
305
609
  }
306
- export const ViewpointDefinition = 'ViewpointDefinition';
610
+ export const UsageMember = {
611
+ $type: 'UsageMember'
612
+ };
613
+ export function isUsageMember(item) {
614
+ return reflection.isInstance(item, UsageMember.$type);
615
+ }
616
+ export const UseCaseDeclaration = {
617
+ $type: 'UseCaseDeclaration',
618
+ additionalSpecializations: 'additionalSpecializations',
619
+ body: 'body',
620
+ isAbstract: 'isAbstract',
621
+ isDefinition: 'isDefinition',
622
+ name: 'name',
623
+ specialization: 'specialization',
624
+ type: 'type',
625
+ usageBody: 'usageBody'
626
+ };
627
+ export function isUseCaseDeclaration(item) {
628
+ return reflection.isInstance(item, UseCaseDeclaration.$type);
629
+ }
630
+ export const VerificationDefinition = {
631
+ $type: 'VerificationDefinition',
632
+ additionalSpecializations: 'additionalSpecializations',
633
+ body: 'body',
634
+ isAbstract: 'isAbstract',
635
+ name: 'name',
636
+ specialization: 'specialization'
637
+ };
638
+ export function isVerificationDefinition(item) {
639
+ return reflection.isInstance(item, VerificationDefinition.$type);
640
+ }
641
+ export const VerificationUsage = {
642
+ $type: 'VerificationUsage',
643
+ body: 'body',
644
+ name: 'name',
645
+ type: 'type'
646
+ };
647
+ export function isVerificationUsage(item) {
648
+ return reflection.isInstance(item, VerificationUsage.$type);
649
+ }
650
+ export const ViewBodyMember = {
651
+ $type: 'ViewBodyMember'
652
+ };
653
+ export function isViewBodyMember(item) {
654
+ return reflection.isInstance(item, ViewBodyMember.$type);
655
+ }
656
+ export const ViewDefinition = {
657
+ $type: 'ViewDefinition',
658
+ additionalSpecializations: 'additionalSpecializations',
659
+ body: 'body',
660
+ isAbstract: 'isAbstract',
661
+ name: 'name',
662
+ specialization: 'specialization'
663
+ };
664
+ export function isViewDefinition(item) {
665
+ return reflection.isInstance(item, ViewDefinition.$type);
666
+ }
667
+ export const ViewpointDefinition = {
668
+ $type: 'ViewpointDefinition',
669
+ additionalSpecializations: 'additionalSpecializations',
670
+ body: 'body',
671
+ isAbstract: 'isAbstract',
672
+ name: 'name',
673
+ specialization: 'specialization'
674
+ };
307
675
  export function isViewpointDefinition(item) {
308
- return reflection.isInstance(item, ViewpointDefinition);
676
+ return reflection.isInstance(item, ViewpointDefinition.$type);
309
677
  }
310
- export const ViewUsage = 'ViewUsage';
678
+ export const ViewUsage = {
679
+ $type: 'ViewUsage',
680
+ body: 'body',
681
+ name: 'name',
682
+ type: 'type'
683
+ };
311
684
  export function isViewUsage(item) {
312
- return reflection.isInstance(item, ViewUsage);
685
+ return reflection.isInstance(item, ViewUsage.$type);
313
686
  }
314
687
  export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
315
- getAllTypes() {
316
- return [ActionDefBodyMember, ActionDefinition, ActionParameterMember, ActionUsage, ActionUsageBodyMember, AliasDeclaration, AllocateUsage, AttributeDefinition, AttributeMember, AttributeValue, BinaryExpr, BooleanValue, CollectionOp, ConnectionBodyMember, ConnectionDefinition, ConnectionEnd, ConnectionUsage, ConstraintDefinition, ConstraintExpr, ControlNodeUsage, DefinitionBodyMember, DefinitionMember, DocComment, EndDeclaration, EnumDefinition, EnumLiteral, EnumValue, ExposeMember, FeatureChain, FlowConnectionUsage, FlowEnd, ImportDeclaration, IntValue, InterfaceDefinition, ItemDefinition, LiteralExpr, MetadataApplication, MetadataDefinition, Model, Multiplicity, NamespaceMember, PackageDeclaration, PackageMember, PartDefinition, PartMember, PartUsage, PortDefinition, PortUsage, RealValue, RefMember, RequireConstraintMember, RequirementDefinition, RequirementUsage, SetElement, SetLiteral, Specialization, StringValue, SuccessionStep, SuccessionUsage, UnaryExpr, UsageBodyMember, UsageMember, ViewBodyMember, ViewDefinition, ViewUsage, ViewpointDefinition];
317
- }
318
- computeIsSubtype(subtype, supertype) {
319
- switch (subtype) {
320
- case ActionDefinition:
321
- case AttributeDefinition:
322
- case ConnectionDefinition:
323
- case ConstraintDefinition:
324
- case EnumDefinition:
325
- case InterfaceDefinition:
326
- case ItemDefinition:
327
- case MetadataDefinition:
328
- case PartDefinition:
329
- case PortDefinition:
330
- case RequirementDefinition:
331
- case ViewDefinition:
332
- case ViewpointDefinition: {
333
- return this.isSubtype(DefinitionMember, supertype);
334
- }
335
- case ActionParameterMember: {
336
- return this.isSubtype(ActionDefBodyMember, supertype);
337
- }
338
- case ActionUsage: {
339
- return this.isSubtype(ActionUsageBodyMember, supertype) || this.isSubtype(UsageMember, supertype);
340
- }
341
- case AliasDeclaration:
342
- case AllocateUsage:
343
- case ConnectionUsage:
344
- case DefinitionMember:
345
- case UsageMember: {
346
- return this.isSubtype(PackageMember, supertype);
347
- }
348
- case AttributeMember:
349
- case PartMember: {
350
- return this.isSubtype(DefinitionBodyMember, supertype) || this.isSubtype(UsageBodyMember, supertype);
351
- }
352
- case BinaryExpr:
353
- case CollectionOp:
354
- case FeatureChain:
355
- case LiteralExpr:
356
- case UnaryExpr: {
357
- return this.isSubtype(ConstraintExpr, supertype);
358
- }
359
- case BooleanValue:
360
- case EnumValue:
361
- case IntValue:
362
- case RealValue:
363
- case SetLiteral:
364
- case StringValue: {
365
- return this.isSubtype(AttributeValue, supertype);
366
- }
367
- case ControlNodeUsage:
368
- case FlowConnectionUsage:
369
- case SuccessionUsage: {
370
- return this.isSubtype(ActionUsageBodyMember, supertype);
371
- }
372
- case DefinitionBodyMember: {
373
- return this.isSubtype(ActionDefBodyMember, supertype) || this.isSubtype(ConnectionBodyMember, supertype);
374
- }
375
- case DocComment:
376
- case MetadataApplication: {
377
- return this.isSubtype(DefinitionBodyMember, supertype) || this.isSubtype(PackageMember, supertype) || this.isSubtype(UsageBodyMember, supertype);
378
- }
379
- case EndDeclaration: {
380
- return this.isSubtype(ConnectionBodyMember, supertype);
381
- }
382
- case ExposeMember: {
383
- return this.isSubtype(ViewBodyMember, supertype);
384
- }
385
- case ImportDeclaration:
386
- case PackageDeclaration: {
387
- return this.isSubtype(NamespaceMember, supertype) || this.isSubtype(PackageMember, supertype);
388
- }
389
- case PartUsage:
390
- case RequirementUsage: {
391
- return this.isSubtype(UsageMember, supertype);
392
- }
393
- case PortUsage:
394
- case ViewUsage: {
395
- return this.isSubtype(DefinitionBodyMember, supertype) || this.isSubtype(UsageBodyMember, supertype) || this.isSubtype(UsageMember, supertype);
396
- }
397
- case RefMember:
398
- case RequireConstraintMember: {
399
- return this.isSubtype(DefinitionBodyMember, supertype);
400
- }
401
- case UsageBodyMember: {
402
- return this.isSubtype(ActionUsageBodyMember, supertype) || this.isSubtype(ViewBodyMember, supertype);
403
- }
404
- default: {
405
- return false;
406
- }
407
- }
408
- }
409
- getReferenceType(refInfo) {
410
- const referenceId = `${refInfo.container.$type}:${refInfo.property}`;
411
- switch (referenceId) {
412
- default: {
413
- throw new Error(`${referenceId} is not a valid reference id.`);
414
- }
415
- }
416
- }
417
- getTypeMetaData(type) {
418
- switch (type) {
419
- case ActionDefinition: {
420
- return {
421
- name: ActionDefinition,
422
- properties: [
423
- { name: 'additionalSpecializations', defaultValue: [] },
424
- { name: 'behaviorKind' },
425
- { name: 'body', defaultValue: [] },
426
- { name: 'isAbstract', defaultValue: false },
427
- { name: 'name' },
428
- { name: 'specialization' }
429
- ]
430
- };
431
- }
432
- case ActionParameterMember: {
433
- return {
434
- name: ActionParameterMember,
435
- properties: [
436
- { name: 'direction' },
437
- { name: 'name' },
438
- { name: 'type' }
439
- ]
440
- };
441
- }
442
- case ActionUsage: {
443
- return {
444
- name: ActionUsage,
445
- properties: [
446
- { name: 'behaviorKind' },
447
- { name: 'body', defaultValue: [] },
448
- { name: 'name' },
449
- { name: 'type' }
450
- ]
451
- };
452
- }
453
- case AliasDeclaration: {
454
- return {
455
- name: AliasDeclaration,
456
- properties: [
457
- { name: 'name' },
458
- { name: 'target' }
459
- ]
460
- };
461
- }
462
- case AllocateUsage: {
463
- return {
464
- name: AllocateUsage,
465
- properties: [
466
- { name: 'source' },
467
- { name: 'target' }
468
- ]
469
- };
470
- }
471
- case AttributeDefinition: {
472
- return {
473
- name: AttributeDefinition,
474
- properties: [
475
- { name: 'additionalSpecializations', defaultValue: [] },
476
- { name: 'body', defaultValue: [] },
477
- { name: 'isAbstract', defaultValue: false },
478
- { name: 'name' },
479
- { name: 'specialization' }
480
- ]
481
- };
482
- }
483
- case AttributeMember: {
484
- return {
485
- name: AttributeMember,
486
- properties: [
487
- { name: 'multiplicity' },
488
- { name: 'name' },
489
- { name: 'redefines', defaultValue: false },
490
- { name: 'type' },
491
- { name: 'value' }
492
- ]
493
- };
494
- }
495
- case BinaryExpr: {
496
- return {
497
- name: BinaryExpr,
498
- properties: [
499
- { name: 'left' },
500
- { name: 'op' },
501
- { name: 'right' }
502
- ]
503
- };
504
- }
505
- case BooleanValue: {
506
- return {
507
- name: BooleanValue,
508
- properties: [
509
- { name: 'value' }
510
- ]
511
- };
512
- }
513
- case CollectionOp: {
514
- return {
515
- name: CollectionOp,
516
- properties: [
517
- { name: 'argument' },
518
- { name: 'op' },
519
- { name: 'target' }
520
- ]
521
- };
522
- }
523
- case ConnectionDefinition: {
524
- return {
525
- name: ConnectionDefinition,
526
- properties: [
527
- { name: 'additionalSpecializations', defaultValue: [] },
528
- { name: 'body', defaultValue: [] },
529
- { name: 'isAbstract', defaultValue: false },
530
- { name: 'name' },
531
- { name: 'specialization' }
532
- ]
533
- };
534
- }
535
- case ConnectionEnd: {
536
- return {
537
- name: ConnectionEnd,
538
- properties: [
539
- { name: 'endName' },
540
- { name: 'ref' }
541
- ]
542
- };
543
- }
544
- case ConnectionUsage: {
545
- return {
546
- name: ConnectionUsage,
547
- properties: [
548
- { name: 'source' },
549
- { name: 'target' },
550
- { name: 'type' }
551
- ]
552
- };
553
- }
554
- case ConstraintDefinition: {
555
- return {
556
- name: ConstraintDefinition,
557
- properties: [
558
- { name: 'additionalSpecializations', defaultValue: [] },
559
- { name: 'body', defaultValue: [] },
560
- { name: 'isAbstract', defaultValue: false },
561
- { name: 'name' },
562
- { name: 'specialization' }
563
- ]
564
- };
565
- }
566
- case ControlNodeUsage: {
567
- return {
568
- name: ControlNodeUsage,
569
- properties: [
570
- { name: 'controlKind' },
571
- { name: 'name' }
572
- ]
573
- };
574
- }
575
- case DocComment: {
576
- return {
577
- name: DocComment,
578
- properties: [
579
- { name: 'content' }
580
- ]
581
- };
582
- }
583
- case EndDeclaration: {
584
- return {
585
- name: EndDeclaration,
586
- properties: [
587
- { name: 'multiplicity' },
588
- { name: 'name' },
589
- { name: 'type' }
590
- ]
591
- };
592
- }
593
- case EnumDefinition: {
594
- return {
595
- name: EnumDefinition,
596
- properties: [
597
- { name: 'literals', defaultValue: [] },
598
- { name: 'name' }
599
- ]
600
- };
601
- }
602
- case EnumLiteral: {
603
- return {
604
- name: EnumLiteral,
605
- properties: [
606
- { name: 'name' }
607
- ]
608
- };
609
- }
610
- case EnumValue: {
611
- return {
612
- name: EnumValue,
613
- properties: [
614
- { name: 'enumRef' }
615
- ]
616
- };
617
- }
618
- case ExposeMember: {
619
- return {
620
- name: ExposeMember,
621
- properties: [
622
- { name: 'path' }
623
- ]
624
- };
625
- }
626
- case FeatureChain: {
627
- return {
628
- name: FeatureChain,
629
- properties: [
630
- { name: 'segments', defaultValue: [] }
631
- ]
632
- };
633
- }
634
- case FlowConnectionUsage: {
635
- return {
636
- name: FlowConnectionUsage,
637
- properties: [
638
- { name: 'itemType' },
639
- { name: 'source' },
640
- { name: 'target' }
641
- ]
642
- };
643
- }
644
- case FlowEnd: {
645
- return {
646
- name: FlowEnd,
647
- properties: [
648
- { name: 'ref' }
649
- ]
650
- };
651
- }
652
- case ImportDeclaration: {
653
- return {
654
- name: ImportDeclaration,
655
- properties: [
656
- { name: 'path' },
657
- { name: 'visibility' }
658
- ]
659
- };
660
- }
661
- case InterfaceDefinition: {
662
- return {
663
- name: InterfaceDefinition,
664
- properties: [
665
- { name: 'additionalSpecializations', defaultValue: [] },
666
- { name: 'body', defaultValue: [] },
667
- { name: 'isAbstract', defaultValue: false },
668
- { name: 'name' },
669
- { name: 'specialization' }
670
- ]
671
- };
672
- }
673
- case IntValue: {
674
- return {
675
- name: IntValue,
676
- properties: [
677
- { name: 'value' }
678
- ]
679
- };
680
- }
681
- case ItemDefinition: {
682
- return {
683
- name: ItemDefinition,
684
- properties: [
685
- { name: 'additionalSpecializations', defaultValue: [] },
686
- { name: 'body', defaultValue: [] },
687
- { name: 'isAbstract', defaultValue: false },
688
- { name: 'name' },
689
- { name: 'specialization' }
690
- ]
691
- };
692
- }
693
- case LiteralExpr: {
694
- return {
695
- name: LiteralExpr,
696
- properties: [
697
- { name: 'boolValue' },
698
- { name: 'intValue' },
699
- { name: 'strValue' }
700
- ]
701
- };
702
- }
703
- case MetadataApplication: {
704
- return {
705
- name: MetadataApplication,
706
- properties: [
707
- { name: 'body', defaultValue: [] },
708
- { name: 'type' }
709
- ]
710
- };
711
- }
712
- case MetadataDefinition: {
713
- return {
714
- name: MetadataDefinition,
715
- properties: [
716
- { name: 'body', defaultValue: [] },
717
- { name: 'name' },
718
- { name: 'specialization' }
719
- ]
720
- };
721
- }
722
- case Model: {
723
- return {
724
- name: Model,
725
- properties: [
726
- { name: 'members', defaultValue: [] }
727
- ]
728
- };
729
- }
730
- case Multiplicity: {
731
- return {
732
- name: Multiplicity,
733
- properties: [
734
- { name: 'exact' },
735
- { name: 'lower' },
736
- { name: 'unbounded', defaultValue: false },
737
- { name: 'upper' }
738
- ]
739
- };
740
- }
741
- case PackageDeclaration: {
742
- return {
743
- name: PackageDeclaration,
744
- properties: [
745
- { name: 'isLibrary', defaultValue: false },
746
- { name: 'members', defaultValue: [] },
747
- { name: 'name' }
748
- ]
749
- };
750
- }
751
- case PartDefinition: {
752
- return {
753
- name: PartDefinition,
754
- properties: [
755
- { name: 'additionalSpecializations', defaultValue: [] },
756
- { name: 'body', defaultValue: [] },
757
- { name: 'isAbstract', defaultValue: false },
758
- { name: 'name' },
759
- { name: 'specialization' }
760
- ]
761
- };
762
- }
763
- case PartMember: {
764
- return {
765
- name: PartMember,
766
- properties: [
767
- { name: 'bindingOp' },
768
- { name: 'body', defaultValue: [] },
769
- { name: 'boundRef' },
770
- { name: 'multiplicity' },
771
- { name: 'name' },
772
- { name: 'type' }
773
- ]
774
- };
775
- }
776
- case PartUsage: {
777
- return {
778
- name: PartUsage,
779
- properties: [
780
- { name: 'body', defaultValue: [] },
781
- { name: 'name' },
782
- { name: 'type' }
783
- ]
784
- };
785
- }
786
- case PortDefinition: {
787
- return {
788
- name: PortDefinition,
789
- properties: [
790
- { name: 'additionalSpecializations', defaultValue: [] },
791
- { name: 'body', defaultValue: [] },
792
- { name: 'isAbstract', defaultValue: false },
793
- { name: 'name' },
794
- { name: 'specialization' }
795
- ]
796
- };
797
- }
798
- case PortUsage: {
799
- return {
800
- name: PortUsage,
801
- properties: [
802
- { name: 'body', defaultValue: [] },
803
- { name: 'direction' },
804
- { name: 'isConjugated', defaultValue: false },
805
- { name: 'name' },
806
- { name: 'type' }
807
- ]
808
- };
809
- }
810
- case RealValue: {
811
- return {
812
- name: RealValue,
813
- properties: [
814
- { name: 'value' }
815
- ]
816
- };
817
- }
818
- case RefMember: {
819
- return {
820
- name: RefMember,
821
- properties: [
822
- { name: 'multiplicity' },
823
- { name: 'name' },
824
- { name: 'type' }
825
- ]
826
- };
827
- }
828
- case RequireConstraintMember: {
829
- return {
830
- name: RequireConstraintMember,
831
- properties: [
832
- { name: 'expression' },
833
- { name: 'kind' }
834
- ]
835
- };
836
- }
837
- case RequirementDefinition: {
838
- return {
839
- name: RequirementDefinition,
840
- properties: [
841
- { name: 'additionalSpecializations', defaultValue: [] },
842
- { name: 'body', defaultValue: [] },
843
- { name: 'isAbstract', defaultValue: false },
844
- { name: 'name' },
845
- { name: 'specialization' }
846
- ]
847
- };
848
- }
849
- case RequirementUsage: {
850
- return {
851
- name: RequirementUsage,
852
- properties: [
853
- { name: 'body', defaultValue: [] },
854
- { name: 'name' },
855
- { name: 'type' }
856
- ]
857
- };
858
- }
859
- case SetElement: {
860
- return {
861
- name: SetElement,
862
- properties: [
863
- { name: 'stringValue' },
864
- { name: 'value' }
865
- ]
866
- };
867
- }
868
- case SetLiteral: {
869
- return {
870
- name: SetLiteral,
871
- properties: [
872
- { name: 'elements', defaultValue: [] }
873
- ]
874
- };
875
- }
876
- case Specialization: {
877
- return {
878
- name: Specialization,
879
- properties: [
880
- { name: 'superType' }
881
- ]
882
- };
883
- }
884
- case StringValue: {
885
- return {
886
- name: StringValue,
887
- properties: [
888
- { name: 'value' }
889
- ]
890
- };
891
- }
892
- case SuccessionStep: {
893
- return {
894
- name: SuccessionStep,
895
- properties: [
896
- { name: 'ref' }
897
- ]
898
- };
899
- }
900
- case SuccessionUsage: {
901
- return {
902
- name: SuccessionUsage,
903
- properties: [
904
- { name: 'steps', defaultValue: [] }
905
- ]
906
- };
907
- }
908
- case UnaryExpr: {
909
- return {
910
- name: UnaryExpr,
911
- properties: [
912
- { name: 'op' },
913
- { name: 'operand' }
914
- ]
915
- };
916
- }
917
- case ViewDefinition: {
918
- return {
919
- name: ViewDefinition,
920
- properties: [
921
- { name: 'additionalSpecializations', defaultValue: [] },
922
- { name: 'body', defaultValue: [] },
923
- { name: 'isAbstract', defaultValue: false },
924
- { name: 'name' },
925
- { name: 'specialization' }
926
- ]
927
- };
928
- }
929
- case ViewpointDefinition: {
930
- return {
931
- name: ViewpointDefinition,
932
- properties: [
933
- { name: 'additionalSpecializations', defaultValue: [] },
934
- { name: 'body', defaultValue: [] },
935
- { name: 'isAbstract', defaultValue: false },
936
- { name: 'name' },
937
- { name: 'specialization' }
938
- ]
939
- };
940
- }
941
- case ViewUsage: {
942
- return {
943
- name: ViewUsage,
944
- properties: [
945
- { name: 'body', defaultValue: [] },
946
- { name: 'name' },
947
- { name: 'type' }
948
- ]
949
- };
950
- }
951
- default: {
952
- return {
953
- name: type,
954
- properties: []
955
- };
956
- }
688
+ types = {
689
+ ActionDefBodyMember: {
690
+ name: ActionDefBodyMember.$type,
691
+ properties: {},
692
+ superTypes: []
693
+ },
694
+ ActionDefinition: {
695
+ name: ActionDefinition.$type,
696
+ properties: {
697
+ additionalSpecializations: {
698
+ name: ActionDefinition.additionalSpecializations,
699
+ defaultValue: [],
700
+ optional: true
701
+ },
702
+ behaviorKind: {
703
+ name: ActionDefinition.behaviorKind
704
+ },
705
+ body: {
706
+ name: ActionDefinition.body,
707
+ defaultValue: [],
708
+ optional: true
709
+ },
710
+ isAbstract: {
711
+ name: ActionDefinition.isAbstract,
712
+ defaultValue: false,
713
+ optional: true
714
+ },
715
+ name: {
716
+ name: ActionDefinition.name
717
+ },
718
+ specialization: {
719
+ name: ActionDefinition.specialization,
720
+ optional: true
721
+ }
722
+ },
723
+ superTypes: [DefinitionMember.$type]
724
+ },
725
+ ActionParameterMember: {
726
+ name: ActionParameterMember.$type,
727
+ properties: {
728
+ direction: {
729
+ name: ActionParameterMember.direction
730
+ },
731
+ name: {
732
+ name: ActionParameterMember.name
733
+ },
734
+ type: {
735
+ name: ActionParameterMember.type
736
+ }
737
+ },
738
+ superTypes: [ActionDefBodyMember.$type]
739
+ },
740
+ ActionUsage: {
741
+ name: ActionUsage.$type,
742
+ properties: {
743
+ behaviorKind: {
744
+ name: ActionUsage.behaviorKind
745
+ },
746
+ body: {
747
+ name: ActionUsage.body,
748
+ defaultValue: [],
749
+ optional: true
750
+ },
751
+ name: {
752
+ name: ActionUsage.name
753
+ },
754
+ type: {
755
+ name: ActionUsage.type,
756
+ optional: true
757
+ }
758
+ },
759
+ superTypes: [ActionUsageBodyMember.$type, UsageMember.$type]
760
+ },
761
+ ActionUsageBodyMember: {
762
+ name: ActionUsageBodyMember.$type,
763
+ properties: {},
764
+ superTypes: []
765
+ },
766
+ AliasDeclaration: {
767
+ name: AliasDeclaration.$type,
768
+ properties: {
769
+ name: {
770
+ name: AliasDeclaration.name
771
+ },
772
+ target: {
773
+ name: AliasDeclaration.target
774
+ }
775
+ },
776
+ superTypes: [PackageMember.$type]
777
+ },
778
+ AllocateUsage: {
779
+ name: AllocateUsage.$type,
780
+ properties: {
781
+ source: {
782
+ name: AllocateUsage.source
783
+ },
784
+ target: {
785
+ name: AllocateUsage.target
786
+ }
787
+ },
788
+ superTypes: [PackageMember.$type]
789
+ },
790
+ AttributeDefinition: {
791
+ name: AttributeDefinition.$type,
792
+ properties: {
793
+ additionalSpecializations: {
794
+ name: AttributeDefinition.additionalSpecializations,
795
+ defaultValue: [],
796
+ optional: true
797
+ },
798
+ body: {
799
+ name: AttributeDefinition.body,
800
+ defaultValue: [],
801
+ optional: true
802
+ },
803
+ isAbstract: {
804
+ name: AttributeDefinition.isAbstract,
805
+ defaultValue: false,
806
+ optional: true
807
+ },
808
+ name: {
809
+ name: AttributeDefinition.name
810
+ },
811
+ specialization: {
812
+ name: AttributeDefinition.specialization,
813
+ optional: true
814
+ }
815
+ },
816
+ superTypes: [DefinitionMember.$type]
817
+ },
818
+ AttributeMember: {
819
+ name: AttributeMember.$type,
820
+ properties: {
821
+ body: {
822
+ name: AttributeMember.body,
823
+ defaultValue: [],
824
+ optional: true
825
+ },
826
+ multiplicity: {
827
+ name: AttributeMember.multiplicity,
828
+ optional: true
829
+ },
830
+ name: {
831
+ name: AttributeMember.name
832
+ },
833
+ redefines: {
834
+ name: AttributeMember.redefines,
835
+ defaultValue: false,
836
+ optional: true
837
+ },
838
+ type: {
839
+ name: AttributeMember.type,
840
+ optional: true
841
+ },
842
+ value: {
843
+ name: AttributeMember.value,
844
+ optional: true
845
+ }
846
+ },
847
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
848
+ },
849
+ AttributeValue: {
850
+ name: AttributeValue.$type,
851
+ properties: {},
852
+ superTypes: []
853
+ },
854
+ BinaryExpr: {
855
+ name: BinaryExpr.$type,
856
+ properties: {
857
+ left: {
858
+ name: BinaryExpr.left
859
+ },
860
+ op: {
861
+ name: BinaryExpr.op
862
+ },
863
+ right: {
864
+ name: BinaryExpr.right
865
+ }
866
+ },
867
+ superTypes: [ConstraintExpr.$type]
868
+ },
869
+ BooleanValue: {
870
+ name: BooleanValue.$type,
871
+ properties: {
872
+ value: {
873
+ name: BooleanValue.value
874
+ }
875
+ },
876
+ superTypes: [AttributeValue.$type]
877
+ },
878
+ CollectionOp: {
879
+ name: CollectionOp.$type,
880
+ properties: {
881
+ argument: {
882
+ name: CollectionOp.argument,
883
+ optional: true
884
+ },
885
+ op: {
886
+ name: CollectionOp.op
887
+ },
888
+ target: {
889
+ name: CollectionOp.target
890
+ }
891
+ },
892
+ superTypes: [ConstraintExpr.$type]
893
+ },
894
+ ConnectionBodyMember: {
895
+ name: ConnectionBodyMember.$type,
896
+ properties: {},
897
+ superTypes: []
898
+ },
899
+ ConnectionDefinition: {
900
+ name: ConnectionDefinition.$type,
901
+ properties: {
902
+ additionalSpecializations: {
903
+ name: ConnectionDefinition.additionalSpecializations,
904
+ defaultValue: [],
905
+ optional: true
906
+ },
907
+ body: {
908
+ name: ConnectionDefinition.body,
909
+ defaultValue: [],
910
+ optional: true
911
+ },
912
+ isAbstract: {
913
+ name: ConnectionDefinition.isAbstract,
914
+ defaultValue: false,
915
+ optional: true
916
+ },
917
+ name: {
918
+ name: ConnectionDefinition.name
919
+ },
920
+ specialization: {
921
+ name: ConnectionDefinition.specialization,
922
+ optional: true
923
+ }
924
+ },
925
+ superTypes: [DefinitionMember.$type]
926
+ },
927
+ ConnectionEnd: {
928
+ name: ConnectionEnd.$type,
929
+ properties: {
930
+ endName: {
931
+ name: ConnectionEnd.endName
932
+ },
933
+ ref: {
934
+ name: ConnectionEnd.ref
935
+ }
936
+ },
937
+ superTypes: []
938
+ },
939
+ ConnectionUsage: {
940
+ name: ConnectionUsage.$type,
941
+ properties: {
942
+ body: {
943
+ name: ConnectionUsage.body,
944
+ defaultValue: [],
945
+ optional: true
946
+ },
947
+ name: {
948
+ name: ConnectionUsage.name,
949
+ optional: true
950
+ },
951
+ source: {
952
+ name: ConnectionUsage.source
953
+ },
954
+ target: {
955
+ name: ConnectionUsage.target
956
+ },
957
+ type: {
958
+ name: ConnectionUsage.type,
959
+ optional: true
960
+ }
961
+ },
962
+ superTypes: [PackageMember.$type, UsageBodyMember.$type]
963
+ },
964
+ ConstraintDefinition: {
965
+ name: ConstraintDefinition.$type,
966
+ properties: {
967
+ additionalSpecializations: {
968
+ name: ConstraintDefinition.additionalSpecializations,
969
+ defaultValue: [],
970
+ optional: true
971
+ },
972
+ body: {
973
+ name: ConstraintDefinition.body,
974
+ defaultValue: [],
975
+ optional: true
976
+ },
977
+ isAbstract: {
978
+ name: ConstraintDefinition.isAbstract,
979
+ defaultValue: false,
980
+ optional: true
981
+ },
982
+ name: {
983
+ name: ConstraintDefinition.name
984
+ },
985
+ specialization: {
986
+ name: ConstraintDefinition.specialization,
987
+ optional: true
988
+ }
989
+ },
990
+ superTypes: [DefinitionMember.$type]
991
+ },
992
+ ConstraintExpr: {
993
+ name: ConstraintExpr.$type,
994
+ properties: {},
995
+ superTypes: []
996
+ },
997
+ ControlNodeUsage: {
998
+ name: ControlNodeUsage.$type,
999
+ properties: {
1000
+ controlKind: {
1001
+ name: ControlNodeUsage.controlKind
1002
+ },
1003
+ name: {
1004
+ name: ControlNodeUsage.name
1005
+ }
1006
+ },
1007
+ superTypes: [ActionUsageBodyMember.$type]
1008
+ },
1009
+ DefinitionBodyMember: {
1010
+ name: DefinitionBodyMember.$type,
1011
+ properties: {},
1012
+ superTypes: [ActionDefBodyMember.$type, ConnectionBodyMember.$type]
1013
+ },
1014
+ DefinitionMember: {
1015
+ name: DefinitionMember.$type,
1016
+ properties: {},
1017
+ superTypes: [PackageMember.$type]
1018
+ },
1019
+ DocComment: {
1020
+ name: DocComment.$type,
1021
+ properties: {
1022
+ content: {
1023
+ name: DocComment.content
1024
+ }
1025
+ },
1026
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1027
+ },
1028
+ EndDeclaration: {
1029
+ name: EndDeclaration.$type,
1030
+ properties: {
1031
+ isConjugated: {
1032
+ name: EndDeclaration.isConjugated,
1033
+ defaultValue: false,
1034
+ optional: true
1035
+ },
1036
+ multiplicity: {
1037
+ name: EndDeclaration.multiplicity,
1038
+ optional: true
1039
+ },
1040
+ name: {
1041
+ name: EndDeclaration.name
1042
+ },
1043
+ type: {
1044
+ name: EndDeclaration.type,
1045
+ optional: true
1046
+ }
1047
+ },
1048
+ superTypes: [ConnectionBodyMember.$type]
1049
+ },
1050
+ EnumDefinition: {
1051
+ name: EnumDefinition.$type,
1052
+ properties: {
1053
+ literals: {
1054
+ name: EnumDefinition.literals,
1055
+ defaultValue: [],
1056
+ optional: true
1057
+ },
1058
+ name: {
1059
+ name: EnumDefinition.name
1060
+ }
1061
+ },
1062
+ superTypes: [DefinitionMember.$type]
1063
+ },
1064
+ EnumLiteral: {
1065
+ name: EnumLiteral.$type,
1066
+ properties: {
1067
+ name: {
1068
+ name: EnumLiteral.name
1069
+ }
1070
+ },
1071
+ superTypes: []
1072
+ },
1073
+ EnumValue: {
1074
+ name: EnumValue.$type,
1075
+ properties: {
1076
+ enumRef: {
1077
+ name: EnumValue.enumRef
1078
+ }
1079
+ },
1080
+ superTypes: [AttributeValue.$type]
1081
+ },
1082
+ ExposeMember: {
1083
+ name: ExposeMember.$type,
1084
+ properties: {
1085
+ path: {
1086
+ name: ExposeMember.path
1087
+ }
1088
+ },
1089
+ superTypes: [ViewBodyMember.$type]
1090
+ },
1091
+ FeatureChain: {
1092
+ name: FeatureChain.$type,
1093
+ properties: {
1094
+ segments: {
1095
+ name: FeatureChain.segments,
1096
+ defaultValue: []
1097
+ }
1098
+ },
1099
+ superTypes: [ConstraintExpr.$type]
1100
+ },
1101
+ FlowConnectionUsage: {
1102
+ name: FlowConnectionUsage.$type,
1103
+ properties: {
1104
+ itemType: {
1105
+ name: FlowConnectionUsage.itemType
1106
+ },
1107
+ source: {
1108
+ name: FlowConnectionUsage.source
1109
+ },
1110
+ target: {
1111
+ name: FlowConnectionUsage.target
1112
+ }
1113
+ },
1114
+ superTypes: [UsageBodyMember.$type]
1115
+ },
1116
+ FlowEnd: {
1117
+ name: FlowEnd.$type,
1118
+ properties: {
1119
+ ref: {
1120
+ name: FlowEnd.ref
1121
+ }
1122
+ },
1123
+ superTypes: []
1124
+ },
1125
+ ImportDeclaration: {
1126
+ name: ImportDeclaration.$type,
1127
+ properties: {
1128
+ path: {
1129
+ name: ImportDeclaration.path
1130
+ },
1131
+ visibility: {
1132
+ name: ImportDeclaration.visibility,
1133
+ optional: true
1134
+ }
1135
+ },
1136
+ superTypes: [NamespaceMember.$type, PackageMember.$type]
1137
+ },
1138
+ IntValue: {
1139
+ name: IntValue.$type,
1140
+ properties: {
1141
+ value: {
1142
+ name: IntValue.value
1143
+ }
1144
+ },
1145
+ superTypes: [AttributeValue.$type]
1146
+ },
1147
+ InterfaceDefinition: {
1148
+ name: InterfaceDefinition.$type,
1149
+ properties: {
1150
+ additionalSpecializations: {
1151
+ name: InterfaceDefinition.additionalSpecializations,
1152
+ defaultValue: [],
1153
+ optional: true
1154
+ },
1155
+ body: {
1156
+ name: InterfaceDefinition.body,
1157
+ defaultValue: [],
1158
+ optional: true
1159
+ },
1160
+ isAbstract: {
1161
+ name: InterfaceDefinition.isAbstract,
1162
+ defaultValue: false,
1163
+ optional: true
1164
+ },
1165
+ name: {
1166
+ name: InterfaceDefinition.name
1167
+ },
1168
+ specialization: {
1169
+ name: InterfaceDefinition.specialization,
1170
+ optional: true
1171
+ }
1172
+ },
1173
+ superTypes: [DefinitionMember.$type]
1174
+ },
1175
+ InterfaceUsage: {
1176
+ name: InterfaceUsage.$type,
1177
+ properties: {
1178
+ body: {
1179
+ name: InterfaceUsage.body,
1180
+ defaultValue: [],
1181
+ optional: true
1182
+ },
1183
+ name: {
1184
+ name: InterfaceUsage.name
1185
+ },
1186
+ type: {
1187
+ name: InterfaceUsage.type
1188
+ }
1189
+ },
1190
+ superTypes: [UsageMember.$type]
1191
+ },
1192
+ ItemDefinition: {
1193
+ name: ItemDefinition.$type,
1194
+ properties: {
1195
+ additionalSpecializations: {
1196
+ name: ItemDefinition.additionalSpecializations,
1197
+ defaultValue: [],
1198
+ optional: true
1199
+ },
1200
+ body: {
1201
+ name: ItemDefinition.body,
1202
+ defaultValue: [],
1203
+ optional: true
1204
+ },
1205
+ isAbstract: {
1206
+ name: ItemDefinition.isAbstract,
1207
+ defaultValue: false,
1208
+ optional: true
1209
+ },
1210
+ name: {
1211
+ name: ItemDefinition.name
1212
+ },
1213
+ specialization: {
1214
+ name: ItemDefinition.specialization,
1215
+ optional: true
1216
+ }
1217
+ },
1218
+ superTypes: [DefinitionMember.$type]
1219
+ },
1220
+ ItemUsage: {
1221
+ name: ItemUsage.$type,
1222
+ properties: {
1223
+ body: {
1224
+ name: ItemUsage.body,
1225
+ defaultValue: [],
1226
+ optional: true
1227
+ },
1228
+ boundRef: {
1229
+ name: ItemUsage.boundRef,
1230
+ optional: true
1231
+ },
1232
+ direction: {
1233
+ name: ItemUsage.direction,
1234
+ optional: true
1235
+ },
1236
+ multiplicity: {
1237
+ name: ItemUsage.multiplicity,
1238
+ optional: true
1239
+ },
1240
+ name: {
1241
+ name: ItemUsage.name
1242
+ },
1243
+ type: {
1244
+ name: ItemUsage.type,
1245
+ optional: true
1246
+ }
1247
+ },
1248
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1249
+ },
1250
+ LiteralExpr: {
1251
+ name: LiteralExpr.$type,
1252
+ properties: {
1253
+ boolValue: {
1254
+ name: LiteralExpr.boolValue,
1255
+ optional: true
1256
+ },
1257
+ intValue: {
1258
+ name: LiteralExpr.intValue,
1259
+ optional: true
1260
+ },
1261
+ strValue: {
1262
+ name: LiteralExpr.strValue,
1263
+ optional: true
1264
+ }
1265
+ },
1266
+ superTypes: [ConstraintExpr.$type]
1267
+ },
1268
+ MetadataApplication: {
1269
+ name: MetadataApplication.$type,
1270
+ properties: {
1271
+ body: {
1272
+ name: MetadataApplication.body,
1273
+ defaultValue: [],
1274
+ optional: true
1275
+ },
1276
+ type: {
1277
+ name: MetadataApplication.type
1278
+ }
1279
+ },
1280
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1281
+ },
1282
+ MetadataDefinition: {
1283
+ name: MetadataDefinition.$type,
1284
+ properties: {
1285
+ body: {
1286
+ name: MetadataDefinition.body,
1287
+ defaultValue: [],
1288
+ optional: true
1289
+ },
1290
+ name: {
1291
+ name: MetadataDefinition.name
1292
+ },
1293
+ specialization: {
1294
+ name: MetadataDefinition.specialization,
1295
+ optional: true
1296
+ }
1297
+ },
1298
+ superTypes: [DefinitionMember.$type]
1299
+ },
1300
+ Model: {
1301
+ name: Model.$type,
1302
+ properties: {
1303
+ members: {
1304
+ name: Model.members,
1305
+ defaultValue: [],
1306
+ optional: true
1307
+ }
1308
+ },
1309
+ superTypes: []
1310
+ },
1311
+ Multiplicity: {
1312
+ name: Multiplicity.$type,
1313
+ properties: {
1314
+ exact: {
1315
+ name: Multiplicity.exact,
1316
+ optional: true
1317
+ },
1318
+ lower: {
1319
+ name: Multiplicity.lower,
1320
+ optional: true
1321
+ },
1322
+ unbounded: {
1323
+ name: Multiplicity.unbounded,
1324
+ defaultValue: false,
1325
+ optional: true
1326
+ },
1327
+ upper: {
1328
+ name: Multiplicity.upper,
1329
+ optional: true
1330
+ }
1331
+ },
1332
+ superTypes: []
1333
+ },
1334
+ NamespaceMember: {
1335
+ name: NamespaceMember.$type,
1336
+ properties: {},
1337
+ superTypes: []
1338
+ },
1339
+ PackageDeclaration: {
1340
+ name: PackageDeclaration.$type,
1341
+ properties: {
1342
+ isLibrary: {
1343
+ name: PackageDeclaration.isLibrary,
1344
+ defaultValue: false,
1345
+ optional: true
1346
+ },
1347
+ members: {
1348
+ name: PackageDeclaration.members,
1349
+ defaultValue: [],
1350
+ optional: true
1351
+ },
1352
+ name: {
1353
+ name: PackageDeclaration.name
1354
+ }
1355
+ },
1356
+ superTypes: [NamespaceMember.$type, PackageMember.$type]
1357
+ },
1358
+ PackageMember: {
1359
+ name: PackageMember.$type,
1360
+ properties: {},
1361
+ superTypes: []
1362
+ },
1363
+ PartDefinition: {
1364
+ name: PartDefinition.$type,
1365
+ properties: {
1366
+ additionalSpecializations: {
1367
+ name: PartDefinition.additionalSpecializations,
1368
+ defaultValue: [],
1369
+ optional: true
1370
+ },
1371
+ body: {
1372
+ name: PartDefinition.body,
1373
+ defaultValue: [],
1374
+ optional: true
1375
+ },
1376
+ isAbstract: {
1377
+ name: PartDefinition.isAbstract,
1378
+ defaultValue: false,
1379
+ optional: true
1380
+ },
1381
+ name: {
1382
+ name: PartDefinition.name
1383
+ },
1384
+ specialization: {
1385
+ name: PartDefinition.specialization,
1386
+ optional: true
1387
+ }
1388
+ },
1389
+ superTypes: [DefinitionMember.$type]
1390
+ },
1391
+ PartMember: {
1392
+ name: PartMember.$type,
1393
+ properties: {
1394
+ bindingOp: {
1395
+ name: PartMember.bindingOp
1396
+ },
1397
+ body: {
1398
+ name: PartMember.body,
1399
+ defaultValue: [],
1400
+ optional: true
1401
+ },
1402
+ boundRef: {
1403
+ name: PartMember.boundRef,
1404
+ optional: true
1405
+ },
1406
+ multiplicity: {
1407
+ name: PartMember.multiplicity,
1408
+ optional: true
1409
+ },
1410
+ name: {
1411
+ name: PartMember.name
1412
+ },
1413
+ type: {
1414
+ name: PartMember.type,
1415
+ optional: true
1416
+ }
1417
+ },
1418
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
1419
+ },
1420
+ PartUsage: {
1421
+ name: PartUsage.$type,
1422
+ properties: {
1423
+ body: {
1424
+ name: PartUsage.body,
1425
+ defaultValue: [],
1426
+ optional: true
1427
+ },
1428
+ name: {
1429
+ name: PartUsage.name
1430
+ },
1431
+ type: {
1432
+ name: PartUsage.type,
1433
+ optional: true
1434
+ }
1435
+ },
1436
+ superTypes: [UsageMember.$type]
1437
+ },
1438
+ PortDefinition: {
1439
+ name: PortDefinition.$type,
1440
+ properties: {
1441
+ additionalSpecializations: {
1442
+ name: PortDefinition.additionalSpecializations,
1443
+ defaultValue: [],
1444
+ optional: true
1445
+ },
1446
+ body: {
1447
+ name: PortDefinition.body,
1448
+ defaultValue: [],
1449
+ optional: true
1450
+ },
1451
+ isAbstract: {
1452
+ name: PortDefinition.isAbstract,
1453
+ defaultValue: false,
1454
+ optional: true
1455
+ },
1456
+ name: {
1457
+ name: PortDefinition.name
1458
+ },
1459
+ specialization: {
1460
+ name: PortDefinition.specialization,
1461
+ optional: true
1462
+ }
1463
+ },
1464
+ superTypes: [DefinitionMember.$type]
1465
+ },
1466
+ PortUsage: {
1467
+ name: PortUsage.$type,
1468
+ properties: {
1469
+ body: {
1470
+ name: PortUsage.body,
1471
+ defaultValue: [],
1472
+ optional: true
1473
+ },
1474
+ direction: {
1475
+ name: PortUsage.direction,
1476
+ optional: true
1477
+ },
1478
+ isConjugated: {
1479
+ name: PortUsage.isConjugated,
1480
+ defaultValue: false,
1481
+ optional: true
1482
+ },
1483
+ name: {
1484
+ name: PortUsage.name
1485
+ },
1486
+ type: {
1487
+ name: PortUsage.type
1488
+ }
1489
+ },
1490
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1491
+ },
1492
+ RealValue: {
1493
+ name: RealValue.$type,
1494
+ properties: {
1495
+ value: {
1496
+ name: RealValue.value
1497
+ }
1498
+ },
1499
+ superTypes: [AttributeValue.$type]
1500
+ },
1501
+ RefMember: {
1502
+ name: RefMember.$type,
1503
+ properties: {
1504
+ isConjugated: {
1505
+ name: RefMember.isConjugated,
1506
+ defaultValue: false,
1507
+ optional: true
1508
+ },
1509
+ isItem: {
1510
+ name: RefMember.isItem,
1511
+ defaultValue: false,
1512
+ optional: true
1513
+ },
1514
+ multiplicity: {
1515
+ name: RefMember.multiplicity,
1516
+ optional: true
1517
+ },
1518
+ name: {
1519
+ name: RefMember.name
1520
+ },
1521
+ redefines: {
1522
+ name: RefMember.redefines,
1523
+ defaultValue: false,
1524
+ optional: true
1525
+ },
1526
+ type: {
1527
+ name: RefMember.type,
1528
+ optional: true
1529
+ },
1530
+ value: {
1531
+ name: RefMember.value,
1532
+ optional: true
1533
+ }
1534
+ },
1535
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
1536
+ },
1537
+ RequireConstraintMember: {
1538
+ name: RequireConstraintMember.$type,
1539
+ properties: {
1540
+ expression: {
1541
+ name: RequireConstraintMember.expression
1542
+ },
1543
+ kind: {
1544
+ name: RequireConstraintMember.kind,
1545
+ optional: true
1546
+ }
1547
+ },
1548
+ superTypes: [DefinitionBodyMember.$type]
1549
+ },
1550
+ RequirementDefinition: {
1551
+ name: RequirementDefinition.$type,
1552
+ properties: {
1553
+ additionalSpecializations: {
1554
+ name: RequirementDefinition.additionalSpecializations,
1555
+ defaultValue: [],
1556
+ optional: true
1557
+ },
1558
+ body: {
1559
+ name: RequirementDefinition.body,
1560
+ defaultValue: [],
1561
+ optional: true
1562
+ },
1563
+ isAbstract: {
1564
+ name: RequirementDefinition.isAbstract,
1565
+ defaultValue: false,
1566
+ optional: true
1567
+ },
1568
+ name: {
1569
+ name: RequirementDefinition.name
1570
+ },
1571
+ specialization: {
1572
+ name: RequirementDefinition.specialization,
1573
+ optional: true
1574
+ }
1575
+ },
1576
+ superTypes: [DefinitionMember.$type]
1577
+ },
1578
+ RequirementUsage: {
1579
+ name: RequirementUsage.$type,
1580
+ properties: {
1581
+ body: {
1582
+ name: RequirementUsage.body,
1583
+ defaultValue: [],
1584
+ optional: true
1585
+ },
1586
+ name: {
1587
+ name: RequirementUsage.name
1588
+ },
1589
+ type: {
1590
+ name: RequirementUsage.type
1591
+ }
1592
+ },
1593
+ superTypes: [UsageMember.$type]
1594
+ },
1595
+ SetElement: {
1596
+ name: SetElement.$type,
1597
+ properties: {
1598
+ stringValue: {
1599
+ name: SetElement.stringValue,
1600
+ optional: true
1601
+ },
1602
+ value: {
1603
+ name: SetElement.value,
1604
+ optional: true
1605
+ }
1606
+ },
1607
+ superTypes: []
1608
+ },
1609
+ SetLiteral: {
1610
+ name: SetLiteral.$type,
1611
+ properties: {
1612
+ elements: {
1613
+ name: SetLiteral.elements,
1614
+ defaultValue: []
1615
+ }
1616
+ },
1617
+ superTypes: [AttributeValue.$type]
1618
+ },
1619
+ Specialization: {
1620
+ name: Specialization.$type,
1621
+ properties: {
1622
+ superType: {
1623
+ name: Specialization.superType
1624
+ }
1625
+ },
1626
+ superTypes: []
1627
+ },
1628
+ StateDefinition: {
1629
+ name: StateDefinition.$type,
1630
+ properties: {
1631
+ additionalSpecializations: {
1632
+ name: StateDefinition.additionalSpecializations,
1633
+ defaultValue: [],
1634
+ optional: true
1635
+ },
1636
+ body: {
1637
+ name: StateDefinition.body,
1638
+ defaultValue: [],
1639
+ optional: true
1640
+ },
1641
+ isAbstract: {
1642
+ name: StateDefinition.isAbstract,
1643
+ defaultValue: false,
1644
+ optional: true
1645
+ },
1646
+ name: {
1647
+ name: StateDefinition.name
1648
+ },
1649
+ specialization: {
1650
+ name: StateDefinition.specialization,
1651
+ optional: true
1652
+ }
1653
+ },
1654
+ superTypes: [DefinitionMember.$type]
1655
+ },
1656
+ StateUsage: {
1657
+ name: StateUsage.$type,
1658
+ properties: {
1659
+ body: {
1660
+ name: StateUsage.body,
1661
+ defaultValue: [],
1662
+ optional: true
1663
+ },
1664
+ name: {
1665
+ name: StateUsage.name
1666
+ },
1667
+ type: {
1668
+ name: StateUsage.type
1669
+ }
1670
+ },
1671
+ superTypes: [UsageMember.$type]
1672
+ },
1673
+ StringValue: {
1674
+ name: StringValue.$type,
1675
+ properties: {
1676
+ value: {
1677
+ name: StringValue.value
1678
+ }
1679
+ },
1680
+ superTypes: [AttributeValue.$type]
1681
+ },
1682
+ SuccessionStep: {
1683
+ name: SuccessionStep.$type,
1684
+ properties: {
1685
+ ref: {
1686
+ name: SuccessionStep.ref
1687
+ }
1688
+ },
1689
+ superTypes: []
1690
+ },
1691
+ SuccessionUsage: {
1692
+ name: SuccessionUsage.$type,
1693
+ properties: {
1694
+ steps: {
1695
+ name: SuccessionUsage.steps,
1696
+ defaultValue: []
1697
+ }
1698
+ },
1699
+ superTypes: [UsageBodyMember.$type]
1700
+ },
1701
+ UnaryExpr: {
1702
+ name: UnaryExpr.$type,
1703
+ properties: {
1704
+ op: {
1705
+ name: UnaryExpr.op
1706
+ },
1707
+ operand: {
1708
+ name: UnaryExpr.operand
1709
+ }
1710
+ },
1711
+ superTypes: [ConstraintExpr.$type]
1712
+ },
1713
+ UsageBodyMember: {
1714
+ name: UsageBodyMember.$type,
1715
+ properties: {},
1716
+ superTypes: [ActionUsageBodyMember.$type, ViewBodyMember.$type]
1717
+ },
1718
+ UsageMember: {
1719
+ name: UsageMember.$type,
1720
+ properties: {},
1721
+ superTypes: [PackageMember.$type]
1722
+ },
1723
+ UseCaseDeclaration: {
1724
+ name: UseCaseDeclaration.$type,
1725
+ properties: {
1726
+ additionalSpecializations: {
1727
+ name: UseCaseDeclaration.additionalSpecializations,
1728
+ defaultValue: [],
1729
+ optional: true
1730
+ },
1731
+ body: {
1732
+ name: UseCaseDeclaration.body,
1733
+ defaultValue: [],
1734
+ optional: true
1735
+ },
1736
+ isAbstract: {
1737
+ name: UseCaseDeclaration.isAbstract,
1738
+ defaultValue: false,
1739
+ optional: true
1740
+ },
1741
+ isDefinition: {
1742
+ name: UseCaseDeclaration.isDefinition,
1743
+ defaultValue: false,
1744
+ optional: true
1745
+ },
1746
+ name: {
1747
+ name: UseCaseDeclaration.name
1748
+ },
1749
+ specialization: {
1750
+ name: UseCaseDeclaration.specialization,
1751
+ optional: true
1752
+ },
1753
+ type: {
1754
+ name: UseCaseDeclaration.type,
1755
+ optional: true
1756
+ },
1757
+ usageBody: {
1758
+ name: UseCaseDeclaration.usageBody,
1759
+ defaultValue: [],
1760
+ optional: true
1761
+ }
1762
+ },
1763
+ superTypes: [PackageMember.$type]
1764
+ },
1765
+ VerificationDefinition: {
1766
+ name: VerificationDefinition.$type,
1767
+ properties: {
1768
+ additionalSpecializations: {
1769
+ name: VerificationDefinition.additionalSpecializations,
1770
+ defaultValue: [],
1771
+ optional: true
1772
+ },
1773
+ body: {
1774
+ name: VerificationDefinition.body,
1775
+ defaultValue: [],
1776
+ optional: true
1777
+ },
1778
+ isAbstract: {
1779
+ name: VerificationDefinition.isAbstract,
1780
+ defaultValue: false,
1781
+ optional: true
1782
+ },
1783
+ name: {
1784
+ name: VerificationDefinition.name
1785
+ },
1786
+ specialization: {
1787
+ name: VerificationDefinition.specialization,
1788
+ optional: true
1789
+ }
1790
+ },
1791
+ superTypes: [DefinitionMember.$type]
1792
+ },
1793
+ VerificationUsage: {
1794
+ name: VerificationUsage.$type,
1795
+ properties: {
1796
+ body: {
1797
+ name: VerificationUsage.body,
1798
+ defaultValue: [],
1799
+ optional: true
1800
+ },
1801
+ name: {
1802
+ name: VerificationUsage.name
1803
+ },
1804
+ type: {
1805
+ name: VerificationUsage.type
1806
+ }
1807
+ },
1808
+ superTypes: [UsageMember.$type]
1809
+ },
1810
+ ViewBodyMember: {
1811
+ name: ViewBodyMember.$type,
1812
+ properties: {},
1813
+ superTypes: []
1814
+ },
1815
+ ViewDefinition: {
1816
+ name: ViewDefinition.$type,
1817
+ properties: {
1818
+ additionalSpecializations: {
1819
+ name: ViewDefinition.additionalSpecializations,
1820
+ defaultValue: [],
1821
+ optional: true
1822
+ },
1823
+ body: {
1824
+ name: ViewDefinition.body,
1825
+ defaultValue: [],
1826
+ optional: true
1827
+ },
1828
+ isAbstract: {
1829
+ name: ViewDefinition.isAbstract,
1830
+ defaultValue: false,
1831
+ optional: true
1832
+ },
1833
+ name: {
1834
+ name: ViewDefinition.name
1835
+ },
1836
+ specialization: {
1837
+ name: ViewDefinition.specialization,
1838
+ optional: true
1839
+ }
1840
+ },
1841
+ superTypes: [DefinitionMember.$type]
1842
+ },
1843
+ ViewUsage: {
1844
+ name: ViewUsage.$type,
1845
+ properties: {
1846
+ body: {
1847
+ name: ViewUsage.body,
1848
+ defaultValue: [],
1849
+ optional: true
1850
+ },
1851
+ name: {
1852
+ name: ViewUsage.name
1853
+ },
1854
+ type: {
1855
+ name: ViewUsage.type,
1856
+ optional: true
1857
+ }
1858
+ },
1859
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1860
+ },
1861
+ ViewpointDefinition: {
1862
+ name: ViewpointDefinition.$type,
1863
+ properties: {
1864
+ additionalSpecializations: {
1865
+ name: ViewpointDefinition.additionalSpecializations,
1866
+ defaultValue: [],
1867
+ optional: true
1868
+ },
1869
+ body: {
1870
+ name: ViewpointDefinition.body,
1871
+ defaultValue: [],
1872
+ optional: true
1873
+ },
1874
+ isAbstract: {
1875
+ name: ViewpointDefinition.isAbstract,
1876
+ defaultValue: false,
1877
+ optional: true
1878
+ },
1879
+ name: {
1880
+ name: ViewpointDefinition.name
1881
+ },
1882
+ specialization: {
1883
+ name: ViewpointDefinition.specialization,
1884
+ optional: true
1885
+ }
1886
+ },
1887
+ superTypes: [DefinitionMember.$type]
957
1888
  }
958
- }
1889
+ };
959
1890
  }
960
1891
  export const reflection = new MemoSysMLAstReflection();
961
1892
  //# sourceMappingURL=ast.js.map