@memoarchitect/tools 0.4.5 → 0.4.6

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.
@@ -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 */
@@ -14,948 +14,1573 @@ export const MemoSysMLTerminals = {
14
14
  REAL: /[0-9]+\.[0-9]+/,
15
15
  INT: /[0-9]+/,
16
16
  };
17
- export const ActionDefBodyMember = 'ActionDefBodyMember';
17
+ export const ActionDefBodyMember = {
18
+ $type: 'ActionDefBodyMember'
19
+ };
18
20
  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';
21
+ return reflection.isInstance(item, ActionDefBodyMember.$type);
22
+ }
23
+ export const ActionDefinition = {
24
+ $type: 'ActionDefinition',
25
+ additionalSpecializations: 'additionalSpecializations',
26
+ behaviorKind: 'behaviorKind',
27
+ body: 'body',
28
+ isAbstract: 'isAbstract',
29
+ name: 'name',
30
+ specialization: 'specialization'
31
+ };
99
32
  export function isActionDefinition(item) {
100
- return reflection.isInstance(item, ActionDefinition);
33
+ return reflection.isInstance(item, ActionDefinition.$type);
101
34
  }
102
- export const ActionParameterMember = 'ActionParameterMember';
35
+ export const ActionParameterMember = {
36
+ $type: 'ActionParameterMember',
37
+ direction: 'direction',
38
+ name: 'name',
39
+ type: 'type'
40
+ };
103
41
  export function isActionParameterMember(item) {
104
- return reflection.isInstance(item, ActionParameterMember);
105
- }
106
- export const ActionUsage = 'ActionUsage';
42
+ return reflection.isInstance(item, ActionParameterMember.$type);
43
+ }
44
+ export const ActionUsage = {
45
+ $type: 'ActionUsage',
46
+ behaviorKind: 'behaviorKind',
47
+ body: 'body',
48
+ name: 'name',
49
+ type: 'type'
50
+ };
107
51
  export function isActionUsage(item) {
108
- return reflection.isInstance(item, ActionUsage);
52
+ return reflection.isInstance(item, ActionUsage.$type);
53
+ }
54
+ export const ActionUsageBodyMember = {
55
+ $type: 'ActionUsageBodyMember'
56
+ };
57
+ export function isActionUsageBodyMember(item) {
58
+ return reflection.isInstance(item, ActionUsageBodyMember.$type);
109
59
  }
110
- export const AliasDeclaration = 'AliasDeclaration';
60
+ export const AliasDeclaration = {
61
+ $type: 'AliasDeclaration',
62
+ name: 'name',
63
+ target: 'target'
64
+ };
111
65
  export function isAliasDeclaration(item) {
112
- return reflection.isInstance(item, AliasDeclaration);
66
+ return reflection.isInstance(item, AliasDeclaration.$type);
113
67
  }
114
- export const AllocateUsage = 'AllocateUsage';
68
+ export const AllocateUsage = {
69
+ $type: 'AllocateUsage',
70
+ source: 'source',
71
+ target: 'target'
72
+ };
115
73
  export function isAllocateUsage(item) {
116
- return reflection.isInstance(item, AllocateUsage);
117
- }
118
- export const AttributeDefinition = 'AttributeDefinition';
74
+ return reflection.isInstance(item, AllocateUsage.$type);
75
+ }
76
+ export const AttributeDefinition = {
77
+ $type: 'AttributeDefinition',
78
+ additionalSpecializations: 'additionalSpecializations',
79
+ body: 'body',
80
+ isAbstract: 'isAbstract',
81
+ name: 'name',
82
+ specialization: 'specialization'
83
+ };
119
84
  export function isAttributeDefinition(item) {
120
- return reflection.isInstance(item, AttributeDefinition);
121
- }
122
- export const AttributeMember = 'AttributeMember';
85
+ return reflection.isInstance(item, AttributeDefinition.$type);
86
+ }
87
+ export const AttributeMember = {
88
+ $type: 'AttributeMember',
89
+ multiplicity: 'multiplicity',
90
+ name: 'name',
91
+ redefines: 'redefines',
92
+ type: 'type',
93
+ value: 'value'
94
+ };
123
95
  export function isAttributeMember(item) {
124
- return reflection.isInstance(item, AttributeMember);
96
+ return reflection.isInstance(item, AttributeMember.$type);
125
97
  }
126
- export const BinaryExpr = 'BinaryExpr';
98
+ export const AttributeValue = {
99
+ $type: 'AttributeValue'
100
+ };
101
+ export function isAttributeValue(item) {
102
+ return reflection.isInstance(item, AttributeValue.$type);
103
+ }
104
+ export const BinaryExpr = {
105
+ $type: 'BinaryExpr',
106
+ left: 'left',
107
+ op: 'op',
108
+ right: 'right'
109
+ };
127
110
  export function isBinaryExpr(item) {
128
- return reflection.isInstance(item, BinaryExpr);
111
+ return reflection.isInstance(item, BinaryExpr.$type);
129
112
  }
130
- export const BooleanValue = 'BooleanValue';
113
+ export const BooleanValue = {
114
+ $type: 'BooleanValue',
115
+ value: 'value'
116
+ };
131
117
  export function isBooleanValue(item) {
132
- return reflection.isInstance(item, BooleanValue);
118
+ return reflection.isInstance(item, BooleanValue.$type);
133
119
  }
134
- export const CollectionOp = 'CollectionOp';
120
+ export const CollectionOp = {
121
+ $type: 'CollectionOp',
122
+ argument: 'argument',
123
+ op: 'op',
124
+ target: 'target'
125
+ };
135
126
  export function isCollectionOp(item) {
136
- return reflection.isInstance(item, CollectionOp);
127
+ return reflection.isInstance(item, CollectionOp.$type);
137
128
  }
138
- export const ConnectionDefinition = 'ConnectionDefinition';
129
+ export const ConnectionBodyMember = {
130
+ $type: 'ConnectionBodyMember'
131
+ };
132
+ export function isConnectionBodyMember(item) {
133
+ return reflection.isInstance(item, ConnectionBodyMember.$type);
134
+ }
135
+ export const ConnectionDefinition = {
136
+ $type: 'ConnectionDefinition',
137
+ additionalSpecializations: 'additionalSpecializations',
138
+ body: 'body',
139
+ isAbstract: 'isAbstract',
140
+ name: 'name',
141
+ specialization: 'specialization'
142
+ };
139
143
  export function isConnectionDefinition(item) {
140
- return reflection.isInstance(item, ConnectionDefinition);
144
+ return reflection.isInstance(item, ConnectionDefinition.$type);
141
145
  }
142
- export const ConnectionEnd = 'ConnectionEnd';
146
+ export const ConnectionEnd = {
147
+ $type: 'ConnectionEnd',
148
+ endName: 'endName',
149
+ ref: 'ref'
150
+ };
143
151
  export function isConnectionEnd(item) {
144
- return reflection.isInstance(item, ConnectionEnd);
152
+ return reflection.isInstance(item, ConnectionEnd.$type);
145
153
  }
146
- export const ConnectionUsage = 'ConnectionUsage';
154
+ export const ConnectionUsage = {
155
+ $type: 'ConnectionUsage',
156
+ source: 'source',
157
+ target: 'target',
158
+ type: 'type'
159
+ };
147
160
  export function isConnectionUsage(item) {
148
- return reflection.isInstance(item, ConnectionUsage);
149
- }
150
- export const ConstraintDefinition = 'ConstraintDefinition';
161
+ return reflection.isInstance(item, ConnectionUsage.$type);
162
+ }
163
+ export const ConstraintDefinition = {
164
+ $type: 'ConstraintDefinition',
165
+ additionalSpecializations: 'additionalSpecializations',
166
+ body: 'body',
167
+ isAbstract: 'isAbstract',
168
+ name: 'name',
169
+ specialization: 'specialization'
170
+ };
151
171
  export function isConstraintDefinition(item) {
152
- return reflection.isInstance(item, ConstraintDefinition);
172
+ return reflection.isInstance(item, ConstraintDefinition.$type);
153
173
  }
154
- export const ControlNodeUsage = 'ControlNodeUsage';
174
+ export const ConstraintExpr = {
175
+ $type: 'ConstraintExpr'
176
+ };
177
+ export function isConstraintExpr(item) {
178
+ return reflection.isInstance(item, ConstraintExpr.$type);
179
+ }
180
+ export const ControlNodeUsage = {
181
+ $type: 'ControlNodeUsage',
182
+ controlKind: 'controlKind',
183
+ name: 'name'
184
+ };
155
185
  export function isControlNodeUsage(item) {
156
- return reflection.isInstance(item, ControlNodeUsage);
186
+ return reflection.isInstance(item, ControlNodeUsage.$type);
157
187
  }
158
- export const DocComment = 'DocComment';
188
+ export const DefinitionBodyMember = {
189
+ $type: 'DefinitionBodyMember'
190
+ };
191
+ export function isDefinitionBodyMember(item) {
192
+ return reflection.isInstance(item, DefinitionBodyMember.$type);
193
+ }
194
+ export const DefinitionMember = {
195
+ $type: 'DefinitionMember'
196
+ };
197
+ export function isDefinitionMember(item) {
198
+ return reflection.isInstance(item, DefinitionMember.$type);
199
+ }
200
+ export const DocComment = {
201
+ $type: 'DocComment',
202
+ content: 'content'
203
+ };
159
204
  export function isDocComment(item) {
160
- return reflection.isInstance(item, DocComment);
205
+ return reflection.isInstance(item, DocComment.$type);
161
206
  }
162
- export const EndDeclaration = 'EndDeclaration';
207
+ export function isDottedName(item) {
208
+ return typeof item === 'string';
209
+ }
210
+ export const EndDeclaration = {
211
+ $type: 'EndDeclaration',
212
+ multiplicity: 'multiplicity',
213
+ name: 'name',
214
+ type: 'type'
215
+ };
163
216
  export function isEndDeclaration(item) {
164
- return reflection.isInstance(item, EndDeclaration);
217
+ return reflection.isInstance(item, EndDeclaration.$type);
165
218
  }
166
- export const EnumDefinition = 'EnumDefinition';
219
+ export const EnumDefinition = {
220
+ $type: 'EnumDefinition',
221
+ literals: 'literals',
222
+ name: 'name'
223
+ };
167
224
  export function isEnumDefinition(item) {
168
- return reflection.isInstance(item, EnumDefinition);
225
+ return reflection.isInstance(item, EnumDefinition.$type);
169
226
  }
170
- export const EnumLiteral = 'EnumLiteral';
227
+ export const EnumLiteral = {
228
+ $type: 'EnumLiteral',
229
+ name: 'name'
230
+ };
171
231
  export function isEnumLiteral(item) {
172
- return reflection.isInstance(item, EnumLiteral);
232
+ return reflection.isInstance(item, EnumLiteral.$type);
173
233
  }
174
- export const EnumValue = 'EnumValue';
234
+ export function isEnumLiteralName(item) {
235
+ 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)));
236
+ }
237
+ export const EnumValue = {
238
+ $type: 'EnumValue',
239
+ enumRef: 'enumRef'
240
+ };
175
241
  export function isEnumValue(item) {
176
- return reflection.isInstance(item, EnumValue);
242
+ return reflection.isInstance(item, EnumValue.$type);
177
243
  }
178
- export const ExposeMember = 'ExposeMember';
244
+ export const ExposeMember = {
245
+ $type: 'ExposeMember',
246
+ path: 'path'
247
+ };
179
248
  export function isExposeMember(item) {
180
- return reflection.isInstance(item, ExposeMember);
249
+ return reflection.isInstance(item, ExposeMember.$type);
250
+ }
251
+ export function isExposePath(item) {
252
+ return typeof item === 'string';
181
253
  }
182
- export const FeatureChain = 'FeatureChain';
254
+ export const FeatureChain = {
255
+ $type: 'FeatureChain',
256
+ segments: 'segments'
257
+ };
183
258
  export function isFeatureChain(item) {
184
- return reflection.isInstance(item, FeatureChain);
259
+ return reflection.isInstance(item, FeatureChain.$type);
260
+ }
261
+ export function isFeatureName(item) {
262
+ 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)));
185
263
  }
186
- export const FlowConnectionUsage = 'FlowConnectionUsage';
264
+ export const FlowConnectionUsage = {
265
+ $type: 'FlowConnectionUsage',
266
+ itemType: 'itemType',
267
+ source: 'source',
268
+ target: 'target'
269
+ };
187
270
  export function isFlowConnectionUsage(item) {
188
- return reflection.isInstance(item, FlowConnectionUsage);
271
+ return reflection.isInstance(item, FlowConnectionUsage.$type);
189
272
  }
190
- export const FlowEnd = 'FlowEnd';
273
+ export const FlowEnd = {
274
+ $type: 'FlowEnd',
275
+ ref: 'ref'
276
+ };
191
277
  export function isFlowEnd(item) {
192
- return reflection.isInstance(item, FlowEnd);
278
+ return reflection.isInstance(item, FlowEnd.$type);
193
279
  }
194
- export const ImportDeclaration = 'ImportDeclaration';
280
+ export const ImportDeclaration = {
281
+ $type: 'ImportDeclaration',
282
+ path: 'path',
283
+ visibility: 'visibility'
284
+ };
195
285
  export function isImportDeclaration(item) {
196
- return reflection.isInstance(item, ImportDeclaration);
286
+ return reflection.isInstance(item, ImportDeclaration.$type);
287
+ }
288
+ export function isImportPath(item) {
289
+ return typeof item === 'string';
197
290
  }
198
- export const InterfaceDefinition = 'InterfaceDefinition';
291
+ export const InterfaceDefinition = {
292
+ $type: 'InterfaceDefinition',
293
+ additionalSpecializations: 'additionalSpecializations',
294
+ body: 'body',
295
+ isAbstract: 'isAbstract',
296
+ name: 'name',
297
+ specialization: 'specialization'
298
+ };
199
299
  export function isInterfaceDefinition(item) {
200
- return reflection.isInstance(item, InterfaceDefinition);
300
+ return reflection.isInstance(item, InterfaceDefinition.$type);
201
301
  }
202
- export const IntValue = 'IntValue';
302
+ export const IntValue = {
303
+ $type: 'IntValue',
304
+ value: 'value'
305
+ };
203
306
  export function isIntValue(item) {
204
- return reflection.isInstance(item, IntValue);
205
- }
206
- export const ItemDefinition = 'ItemDefinition';
307
+ return reflection.isInstance(item, IntValue.$type);
308
+ }
309
+ export const ItemDefinition = {
310
+ $type: 'ItemDefinition',
311
+ additionalSpecializations: 'additionalSpecializations',
312
+ body: 'body',
313
+ isAbstract: 'isAbstract',
314
+ name: 'name',
315
+ specialization: 'specialization'
316
+ };
207
317
  export function isItemDefinition(item) {
208
- return reflection.isInstance(item, ItemDefinition);
318
+ return reflection.isInstance(item, ItemDefinition.$type);
209
319
  }
210
- export const LiteralExpr = 'LiteralExpr';
320
+ export const LiteralExpr = {
321
+ $type: 'LiteralExpr',
322
+ boolValue: 'boolValue',
323
+ intValue: 'intValue',
324
+ strValue: 'strValue'
325
+ };
211
326
  export function isLiteralExpr(item) {
212
- return reflection.isInstance(item, LiteralExpr);
327
+ return reflection.isInstance(item, LiteralExpr.$type);
328
+ }
329
+ export function isMemberName(item) {
330
+ 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)));
213
331
  }
214
- export const MetadataApplication = 'MetadataApplication';
332
+ export const MetadataApplication = {
333
+ $type: 'MetadataApplication',
334
+ body: 'body',
335
+ type: 'type'
336
+ };
215
337
  export function isMetadataApplication(item) {
216
- return reflection.isInstance(item, MetadataApplication);
338
+ return reflection.isInstance(item, MetadataApplication.$type);
217
339
  }
218
- export const MetadataDefinition = 'MetadataDefinition';
340
+ export const MetadataDefinition = {
341
+ $type: 'MetadataDefinition',
342
+ body: 'body',
343
+ name: 'name',
344
+ specialization: 'specialization'
345
+ };
219
346
  export function isMetadataDefinition(item) {
220
- return reflection.isInstance(item, MetadataDefinition);
347
+ return reflection.isInstance(item, MetadataDefinition.$type);
221
348
  }
222
- export const Model = 'Model';
349
+ export const Model = {
350
+ $type: 'Model',
351
+ members: 'members'
352
+ };
223
353
  export function isModel(item) {
224
- return reflection.isInstance(item, Model);
225
- }
226
- export const Multiplicity = 'Multiplicity';
354
+ return reflection.isInstance(item, Model.$type);
355
+ }
356
+ export const Multiplicity = {
357
+ $type: 'Multiplicity',
358
+ exact: 'exact',
359
+ lower: 'lower',
360
+ unbounded: 'unbounded',
361
+ upper: 'upper'
362
+ };
227
363
  export function isMultiplicity(item) {
228
- return reflection.isInstance(item, Multiplicity);
364
+ return reflection.isInstance(item, Multiplicity.$type);
365
+ }
366
+ export const NamespaceMember = {
367
+ $type: 'NamespaceMember'
368
+ };
369
+ export function isNamespaceMember(item) {
370
+ return reflection.isInstance(item, NamespaceMember.$type);
229
371
  }
230
- export const PackageDeclaration = 'PackageDeclaration';
372
+ export const PackageDeclaration = {
373
+ $type: 'PackageDeclaration',
374
+ isLibrary: 'isLibrary',
375
+ members: 'members',
376
+ name: 'name'
377
+ };
231
378
  export function isPackageDeclaration(item) {
232
- return reflection.isInstance(item, PackageDeclaration);
379
+ return reflection.isInstance(item, PackageDeclaration.$type);
233
380
  }
234
- export const PartDefinition = 'PartDefinition';
381
+ export const PackageMember = {
382
+ $type: 'PackageMember'
383
+ };
384
+ export function isPackageMember(item) {
385
+ return reflection.isInstance(item, PackageMember.$type);
386
+ }
387
+ export const PartDefinition = {
388
+ $type: 'PartDefinition',
389
+ additionalSpecializations: 'additionalSpecializations',
390
+ body: 'body',
391
+ isAbstract: 'isAbstract',
392
+ name: 'name',
393
+ specialization: 'specialization'
394
+ };
235
395
  export function isPartDefinition(item) {
236
- return reflection.isInstance(item, PartDefinition);
237
- }
238
- export const PartMember = 'PartMember';
396
+ return reflection.isInstance(item, PartDefinition.$type);
397
+ }
398
+ export const PartMember = {
399
+ $type: 'PartMember',
400
+ bindingOp: 'bindingOp',
401
+ body: 'body',
402
+ boundRef: 'boundRef',
403
+ multiplicity: 'multiplicity',
404
+ name: 'name',
405
+ type: 'type'
406
+ };
239
407
  export function isPartMember(item) {
240
- return reflection.isInstance(item, PartMember);
408
+ return reflection.isInstance(item, PartMember.$type);
241
409
  }
242
- export const PartUsage = 'PartUsage';
410
+ export const PartUsage = {
411
+ $type: 'PartUsage',
412
+ body: 'body',
413
+ name: 'name',
414
+ type: 'type'
415
+ };
243
416
  export function isPartUsage(item) {
244
- return reflection.isInstance(item, PartUsage);
245
- }
246
- export const PortDefinition = 'PortDefinition';
417
+ return reflection.isInstance(item, PartUsage.$type);
418
+ }
419
+ export const PortDefinition = {
420
+ $type: 'PortDefinition',
421
+ additionalSpecializations: 'additionalSpecializations',
422
+ body: 'body',
423
+ isAbstract: 'isAbstract',
424
+ name: 'name',
425
+ specialization: 'specialization'
426
+ };
247
427
  export function isPortDefinition(item) {
248
- return reflection.isInstance(item, PortDefinition);
249
- }
250
- export const PortUsage = 'PortUsage';
428
+ return reflection.isInstance(item, PortDefinition.$type);
429
+ }
430
+ export const PortUsage = {
431
+ $type: 'PortUsage',
432
+ body: 'body',
433
+ direction: 'direction',
434
+ isConjugated: 'isConjugated',
435
+ name: 'name',
436
+ type: 'type'
437
+ };
251
438
  export function isPortUsage(item) {
252
- return reflection.isInstance(item, PortUsage);
439
+ return reflection.isInstance(item, PortUsage.$type);
440
+ }
441
+ export function isQualifiedName(item) {
442
+ return typeof item === 'string';
443
+ }
444
+ export function isQualifiedNameSegment(item) {
445
+ return item === 'library' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
253
446
  }
254
- export const RealValue = 'RealValue';
447
+ export function isQualifiedNameTailSegment(item) {
448
+ 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';
449
+ }
450
+ export const RealValue = {
451
+ $type: 'RealValue',
452
+ value: 'value'
453
+ };
255
454
  export function isRealValue(item) {
256
- return reflection.isInstance(item, RealValue);
455
+ return reflection.isInstance(item, RealValue.$type);
456
+ }
457
+ export function isReferenceName(item) {
458
+ return typeof item === 'string';
257
459
  }
258
- export const RefMember = 'RefMember';
460
+ export const RefMember = {
461
+ $type: 'RefMember',
462
+ multiplicity: 'multiplicity',
463
+ name: 'name',
464
+ type: 'type'
465
+ };
259
466
  export function isRefMember(item) {
260
- return reflection.isInstance(item, RefMember);
467
+ return reflection.isInstance(item, RefMember.$type);
261
468
  }
262
- export const RequireConstraintMember = 'RequireConstraintMember';
469
+ export const RequireConstraintMember = {
470
+ $type: 'RequireConstraintMember',
471
+ expression: 'expression',
472
+ kind: 'kind'
473
+ };
263
474
  export function isRequireConstraintMember(item) {
264
- return reflection.isInstance(item, RequireConstraintMember);
265
- }
266
- export const RequirementDefinition = 'RequirementDefinition';
475
+ return reflection.isInstance(item, RequireConstraintMember.$type);
476
+ }
477
+ export const RequirementDefinition = {
478
+ $type: 'RequirementDefinition',
479
+ additionalSpecializations: 'additionalSpecializations',
480
+ body: 'body',
481
+ isAbstract: 'isAbstract',
482
+ name: 'name',
483
+ specialization: 'specialization'
484
+ };
267
485
  export function isRequirementDefinition(item) {
268
- return reflection.isInstance(item, RequirementDefinition);
486
+ return reflection.isInstance(item, RequirementDefinition.$type);
269
487
  }
270
- export const RequirementUsage = 'RequirementUsage';
488
+ export const RequirementUsage = {
489
+ $type: 'RequirementUsage',
490
+ body: 'body',
491
+ name: 'name',
492
+ type: 'type'
493
+ };
271
494
  export function isRequirementUsage(item) {
272
- return reflection.isInstance(item, RequirementUsage);
495
+ return reflection.isInstance(item, RequirementUsage.$type);
273
496
  }
274
- export const SetElement = 'SetElement';
497
+ export const SetElement = {
498
+ $type: 'SetElement',
499
+ stringValue: 'stringValue',
500
+ value: 'value'
501
+ };
275
502
  export function isSetElement(item) {
276
- return reflection.isInstance(item, SetElement);
503
+ return reflection.isInstance(item, SetElement.$type);
277
504
  }
278
- export const SetLiteral = 'SetLiteral';
505
+ export const SetLiteral = {
506
+ $type: 'SetLiteral',
507
+ elements: 'elements'
508
+ };
279
509
  export function isSetLiteral(item) {
280
- return reflection.isInstance(item, SetLiteral);
510
+ return reflection.isInstance(item, SetLiteral.$type);
281
511
  }
282
- export const Specialization = 'Specialization';
512
+ export const Specialization = {
513
+ $type: 'Specialization',
514
+ superType: 'superType'
515
+ };
283
516
  export function isSpecialization(item) {
284
- return reflection.isInstance(item, Specialization);
517
+ return reflection.isInstance(item, Specialization.$type);
285
518
  }
286
- export const StringValue = 'StringValue';
519
+ export const StringValue = {
520
+ $type: 'StringValue',
521
+ value: 'value'
522
+ };
287
523
  export function isStringValue(item) {
288
- return reflection.isInstance(item, StringValue);
524
+ return reflection.isInstance(item, StringValue.$type);
525
+ }
526
+ export function isSuccessionRef(item) {
527
+ return item === 'start' || item === 'done' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
289
528
  }
290
- export const SuccessionStep = 'SuccessionStep';
529
+ export const SuccessionStep = {
530
+ $type: 'SuccessionStep',
531
+ ref: 'ref'
532
+ };
291
533
  export function isSuccessionStep(item) {
292
- return reflection.isInstance(item, SuccessionStep);
534
+ return reflection.isInstance(item, SuccessionStep.$type);
293
535
  }
294
- export const SuccessionUsage = 'SuccessionUsage';
536
+ export const SuccessionUsage = {
537
+ $type: 'SuccessionUsage',
538
+ steps: 'steps'
539
+ };
295
540
  export function isSuccessionUsage(item) {
296
- return reflection.isInstance(item, SuccessionUsage);
541
+ return reflection.isInstance(item, SuccessionUsage.$type);
297
542
  }
298
- export const UnaryExpr = 'UnaryExpr';
543
+ export const UnaryExpr = {
544
+ $type: 'UnaryExpr',
545
+ op: 'op',
546
+ operand: 'operand'
547
+ };
299
548
  export function isUnaryExpr(item) {
300
- return reflection.isInstance(item, UnaryExpr);
549
+ return reflection.isInstance(item, UnaryExpr.$type);
301
550
  }
302
- export const ViewDefinition = 'ViewDefinition';
303
- export function isViewDefinition(item) {
304
- return reflection.isInstance(item, ViewDefinition);
551
+ export const UsageBodyMember = {
552
+ $type: 'UsageBodyMember'
553
+ };
554
+ export function isUsageBodyMember(item) {
555
+ return reflection.isInstance(item, UsageBodyMember.$type);
305
556
  }
306
- export const ViewpointDefinition = 'ViewpointDefinition';
557
+ export const UsageMember = {
558
+ $type: 'UsageMember'
559
+ };
560
+ export function isUsageMember(item) {
561
+ return reflection.isInstance(item, UsageMember.$type);
562
+ }
563
+ export const ViewBodyMember = {
564
+ $type: 'ViewBodyMember'
565
+ };
566
+ export function isViewBodyMember(item) {
567
+ return reflection.isInstance(item, ViewBodyMember.$type);
568
+ }
569
+ export const ViewDefinition = {
570
+ $type: 'ViewDefinition',
571
+ additionalSpecializations: 'additionalSpecializations',
572
+ body: 'body',
573
+ isAbstract: 'isAbstract',
574
+ name: 'name',
575
+ specialization: 'specialization'
576
+ };
577
+ export function isViewDefinition(item) {
578
+ return reflection.isInstance(item, ViewDefinition.$type);
579
+ }
580
+ export const ViewpointDefinition = {
581
+ $type: 'ViewpointDefinition',
582
+ additionalSpecializations: 'additionalSpecializations',
583
+ body: 'body',
584
+ isAbstract: 'isAbstract',
585
+ name: 'name',
586
+ specialization: 'specialization'
587
+ };
307
588
  export function isViewpointDefinition(item) {
308
- return reflection.isInstance(item, ViewpointDefinition);
589
+ return reflection.isInstance(item, ViewpointDefinition.$type);
309
590
  }
310
- export const ViewUsage = 'ViewUsage';
591
+ export const ViewUsage = {
592
+ $type: 'ViewUsage',
593
+ body: 'body',
594
+ name: 'name',
595
+ type: 'type'
596
+ };
311
597
  export function isViewUsage(item) {
312
- return reflection.isInstance(item, ViewUsage);
598
+ return reflection.isInstance(item, ViewUsage.$type);
313
599
  }
314
600
  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
- }
601
+ types = {
602
+ ActionDefBodyMember: {
603
+ name: ActionDefBodyMember.$type,
604
+ properties: {},
605
+ superTypes: []
606
+ },
607
+ ActionDefinition: {
608
+ name: ActionDefinition.$type,
609
+ properties: {
610
+ additionalSpecializations: {
611
+ name: ActionDefinition.additionalSpecializations,
612
+ defaultValue: [],
613
+ optional: true
614
+ },
615
+ behaviorKind: {
616
+ name: ActionDefinition.behaviorKind
617
+ },
618
+ body: {
619
+ name: ActionDefinition.body,
620
+ defaultValue: [],
621
+ optional: true
622
+ },
623
+ isAbstract: {
624
+ name: ActionDefinition.isAbstract,
625
+ defaultValue: false,
626
+ optional: true
627
+ },
628
+ name: {
629
+ name: ActionDefinition.name
630
+ },
631
+ specialization: {
632
+ name: ActionDefinition.specialization,
633
+ optional: true
634
+ }
635
+ },
636
+ superTypes: [DefinitionMember.$type]
637
+ },
638
+ ActionParameterMember: {
639
+ name: ActionParameterMember.$type,
640
+ properties: {
641
+ direction: {
642
+ name: ActionParameterMember.direction
643
+ },
644
+ name: {
645
+ name: ActionParameterMember.name
646
+ },
647
+ type: {
648
+ name: ActionParameterMember.type
649
+ }
650
+ },
651
+ superTypes: [ActionDefBodyMember.$type]
652
+ },
653
+ ActionUsage: {
654
+ name: ActionUsage.$type,
655
+ properties: {
656
+ behaviorKind: {
657
+ name: ActionUsage.behaviorKind
658
+ },
659
+ body: {
660
+ name: ActionUsage.body,
661
+ defaultValue: [],
662
+ optional: true
663
+ },
664
+ name: {
665
+ name: ActionUsage.name
666
+ },
667
+ type: {
668
+ name: ActionUsage.type,
669
+ optional: true
670
+ }
671
+ },
672
+ superTypes: [ActionUsageBodyMember.$type, UsageMember.$type]
673
+ },
674
+ ActionUsageBodyMember: {
675
+ name: ActionUsageBodyMember.$type,
676
+ properties: {},
677
+ superTypes: []
678
+ },
679
+ AliasDeclaration: {
680
+ name: AliasDeclaration.$type,
681
+ properties: {
682
+ name: {
683
+ name: AliasDeclaration.name
684
+ },
685
+ target: {
686
+ name: AliasDeclaration.target
687
+ }
688
+ },
689
+ superTypes: [PackageMember.$type]
690
+ },
691
+ AllocateUsage: {
692
+ name: AllocateUsage.$type,
693
+ properties: {
694
+ source: {
695
+ name: AllocateUsage.source
696
+ },
697
+ target: {
698
+ name: AllocateUsage.target
699
+ }
700
+ },
701
+ superTypes: [PackageMember.$type]
702
+ },
703
+ AttributeDefinition: {
704
+ name: AttributeDefinition.$type,
705
+ properties: {
706
+ additionalSpecializations: {
707
+ name: AttributeDefinition.additionalSpecializations,
708
+ defaultValue: [],
709
+ optional: true
710
+ },
711
+ body: {
712
+ name: AttributeDefinition.body,
713
+ defaultValue: [],
714
+ optional: true
715
+ },
716
+ isAbstract: {
717
+ name: AttributeDefinition.isAbstract,
718
+ defaultValue: false,
719
+ optional: true
720
+ },
721
+ name: {
722
+ name: AttributeDefinition.name
723
+ },
724
+ specialization: {
725
+ name: AttributeDefinition.specialization,
726
+ optional: true
727
+ }
728
+ },
729
+ superTypes: [DefinitionMember.$type]
730
+ },
731
+ AttributeMember: {
732
+ name: AttributeMember.$type,
733
+ properties: {
734
+ multiplicity: {
735
+ name: AttributeMember.multiplicity,
736
+ optional: true
737
+ },
738
+ name: {
739
+ name: AttributeMember.name
740
+ },
741
+ redefines: {
742
+ name: AttributeMember.redefines,
743
+ defaultValue: false,
744
+ optional: true
745
+ },
746
+ type: {
747
+ name: AttributeMember.type,
748
+ optional: true
749
+ },
750
+ value: {
751
+ name: AttributeMember.value,
752
+ optional: true
753
+ }
754
+ },
755
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
756
+ },
757
+ AttributeValue: {
758
+ name: AttributeValue.$type,
759
+ properties: {},
760
+ superTypes: []
761
+ },
762
+ BinaryExpr: {
763
+ name: BinaryExpr.$type,
764
+ properties: {
765
+ left: {
766
+ name: BinaryExpr.left
767
+ },
768
+ op: {
769
+ name: BinaryExpr.op
770
+ },
771
+ right: {
772
+ name: BinaryExpr.right
773
+ }
774
+ },
775
+ superTypes: [ConstraintExpr.$type]
776
+ },
777
+ BooleanValue: {
778
+ name: BooleanValue.$type,
779
+ properties: {
780
+ value: {
781
+ name: BooleanValue.value
782
+ }
783
+ },
784
+ superTypes: [AttributeValue.$type]
785
+ },
786
+ CollectionOp: {
787
+ name: CollectionOp.$type,
788
+ properties: {
789
+ argument: {
790
+ name: CollectionOp.argument,
791
+ optional: true
792
+ },
793
+ op: {
794
+ name: CollectionOp.op
795
+ },
796
+ target: {
797
+ name: CollectionOp.target
798
+ }
799
+ },
800
+ superTypes: [ConstraintExpr.$type]
801
+ },
802
+ ConnectionBodyMember: {
803
+ name: ConnectionBodyMember.$type,
804
+ properties: {},
805
+ superTypes: []
806
+ },
807
+ ConnectionDefinition: {
808
+ name: ConnectionDefinition.$type,
809
+ properties: {
810
+ additionalSpecializations: {
811
+ name: ConnectionDefinition.additionalSpecializations,
812
+ defaultValue: [],
813
+ optional: true
814
+ },
815
+ body: {
816
+ name: ConnectionDefinition.body,
817
+ defaultValue: [],
818
+ optional: true
819
+ },
820
+ isAbstract: {
821
+ name: ConnectionDefinition.isAbstract,
822
+ defaultValue: false,
823
+ optional: true
824
+ },
825
+ name: {
826
+ name: ConnectionDefinition.name
827
+ },
828
+ specialization: {
829
+ name: ConnectionDefinition.specialization,
830
+ optional: true
831
+ }
832
+ },
833
+ superTypes: [DefinitionMember.$type]
834
+ },
835
+ ConnectionEnd: {
836
+ name: ConnectionEnd.$type,
837
+ properties: {
838
+ endName: {
839
+ name: ConnectionEnd.endName
840
+ },
841
+ ref: {
842
+ name: ConnectionEnd.ref
843
+ }
844
+ },
845
+ superTypes: []
846
+ },
847
+ ConnectionUsage: {
848
+ name: ConnectionUsage.$type,
849
+ properties: {
850
+ source: {
851
+ name: ConnectionUsage.source
852
+ },
853
+ target: {
854
+ name: ConnectionUsage.target
855
+ },
856
+ type: {
857
+ name: ConnectionUsage.type,
858
+ optional: true
859
+ }
860
+ },
861
+ superTypes: [PackageMember.$type]
862
+ },
863
+ ConstraintDefinition: {
864
+ name: ConstraintDefinition.$type,
865
+ properties: {
866
+ additionalSpecializations: {
867
+ name: ConstraintDefinition.additionalSpecializations,
868
+ defaultValue: [],
869
+ optional: true
870
+ },
871
+ body: {
872
+ name: ConstraintDefinition.body,
873
+ defaultValue: [],
874
+ optional: true
875
+ },
876
+ isAbstract: {
877
+ name: ConstraintDefinition.isAbstract,
878
+ defaultValue: false,
879
+ optional: true
880
+ },
881
+ name: {
882
+ name: ConstraintDefinition.name
883
+ },
884
+ specialization: {
885
+ name: ConstraintDefinition.specialization,
886
+ optional: true
887
+ }
888
+ },
889
+ superTypes: [DefinitionMember.$type]
890
+ },
891
+ ConstraintExpr: {
892
+ name: ConstraintExpr.$type,
893
+ properties: {},
894
+ superTypes: []
895
+ },
896
+ ControlNodeUsage: {
897
+ name: ControlNodeUsage.$type,
898
+ properties: {
899
+ controlKind: {
900
+ name: ControlNodeUsage.controlKind
901
+ },
902
+ name: {
903
+ name: ControlNodeUsage.name
904
+ }
905
+ },
906
+ superTypes: [ActionUsageBodyMember.$type]
907
+ },
908
+ DefinitionBodyMember: {
909
+ name: DefinitionBodyMember.$type,
910
+ properties: {},
911
+ superTypes: [ActionDefBodyMember.$type, ConnectionBodyMember.$type]
912
+ },
913
+ DefinitionMember: {
914
+ name: DefinitionMember.$type,
915
+ properties: {},
916
+ superTypes: [PackageMember.$type]
917
+ },
918
+ DocComment: {
919
+ name: DocComment.$type,
920
+ properties: {
921
+ content: {
922
+ name: DocComment.content
923
+ }
924
+ },
925
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
926
+ },
927
+ EndDeclaration: {
928
+ name: EndDeclaration.$type,
929
+ properties: {
930
+ multiplicity: {
931
+ name: EndDeclaration.multiplicity,
932
+ optional: true
933
+ },
934
+ name: {
935
+ name: EndDeclaration.name
936
+ },
937
+ type: {
938
+ name: EndDeclaration.type,
939
+ optional: true
940
+ }
941
+ },
942
+ superTypes: [ConnectionBodyMember.$type]
943
+ },
944
+ EnumDefinition: {
945
+ name: EnumDefinition.$type,
946
+ properties: {
947
+ literals: {
948
+ name: EnumDefinition.literals,
949
+ defaultValue: [],
950
+ optional: true
951
+ },
952
+ name: {
953
+ name: EnumDefinition.name
954
+ }
955
+ },
956
+ superTypes: [DefinitionMember.$type]
957
+ },
958
+ EnumLiteral: {
959
+ name: EnumLiteral.$type,
960
+ properties: {
961
+ name: {
962
+ name: EnumLiteral.name
963
+ }
964
+ },
965
+ superTypes: []
966
+ },
967
+ EnumValue: {
968
+ name: EnumValue.$type,
969
+ properties: {
970
+ enumRef: {
971
+ name: EnumValue.enumRef
972
+ }
973
+ },
974
+ superTypes: [AttributeValue.$type]
975
+ },
976
+ ExposeMember: {
977
+ name: ExposeMember.$type,
978
+ properties: {
979
+ path: {
980
+ name: ExposeMember.path
981
+ }
982
+ },
983
+ superTypes: [ViewBodyMember.$type]
984
+ },
985
+ FeatureChain: {
986
+ name: FeatureChain.$type,
987
+ properties: {
988
+ segments: {
989
+ name: FeatureChain.segments,
990
+ defaultValue: []
991
+ }
992
+ },
993
+ superTypes: [ConstraintExpr.$type]
994
+ },
995
+ FlowConnectionUsage: {
996
+ name: FlowConnectionUsage.$type,
997
+ properties: {
998
+ itemType: {
999
+ name: FlowConnectionUsage.itemType
1000
+ },
1001
+ source: {
1002
+ name: FlowConnectionUsage.source
1003
+ },
1004
+ target: {
1005
+ name: FlowConnectionUsage.target
1006
+ }
1007
+ },
1008
+ superTypes: [ActionUsageBodyMember.$type]
1009
+ },
1010
+ FlowEnd: {
1011
+ name: FlowEnd.$type,
1012
+ properties: {
1013
+ ref: {
1014
+ name: FlowEnd.ref
1015
+ }
1016
+ },
1017
+ superTypes: []
1018
+ },
1019
+ ImportDeclaration: {
1020
+ name: ImportDeclaration.$type,
1021
+ properties: {
1022
+ path: {
1023
+ name: ImportDeclaration.path
1024
+ },
1025
+ visibility: {
1026
+ name: ImportDeclaration.visibility,
1027
+ optional: true
1028
+ }
1029
+ },
1030
+ superTypes: [NamespaceMember.$type, PackageMember.$type]
1031
+ },
1032
+ IntValue: {
1033
+ name: IntValue.$type,
1034
+ properties: {
1035
+ value: {
1036
+ name: IntValue.value
1037
+ }
1038
+ },
1039
+ superTypes: [AttributeValue.$type]
1040
+ },
1041
+ InterfaceDefinition: {
1042
+ name: InterfaceDefinition.$type,
1043
+ properties: {
1044
+ additionalSpecializations: {
1045
+ name: InterfaceDefinition.additionalSpecializations,
1046
+ defaultValue: [],
1047
+ optional: true
1048
+ },
1049
+ body: {
1050
+ name: InterfaceDefinition.body,
1051
+ defaultValue: [],
1052
+ optional: true
1053
+ },
1054
+ isAbstract: {
1055
+ name: InterfaceDefinition.isAbstract,
1056
+ defaultValue: false,
1057
+ optional: true
1058
+ },
1059
+ name: {
1060
+ name: InterfaceDefinition.name
1061
+ },
1062
+ specialization: {
1063
+ name: InterfaceDefinition.specialization,
1064
+ optional: true
1065
+ }
1066
+ },
1067
+ superTypes: [DefinitionMember.$type]
1068
+ },
1069
+ ItemDefinition: {
1070
+ name: ItemDefinition.$type,
1071
+ properties: {
1072
+ additionalSpecializations: {
1073
+ name: ItemDefinition.additionalSpecializations,
1074
+ defaultValue: [],
1075
+ optional: true
1076
+ },
1077
+ body: {
1078
+ name: ItemDefinition.body,
1079
+ defaultValue: [],
1080
+ optional: true
1081
+ },
1082
+ isAbstract: {
1083
+ name: ItemDefinition.isAbstract,
1084
+ defaultValue: false,
1085
+ optional: true
1086
+ },
1087
+ name: {
1088
+ name: ItemDefinition.name
1089
+ },
1090
+ specialization: {
1091
+ name: ItemDefinition.specialization,
1092
+ optional: true
1093
+ }
1094
+ },
1095
+ superTypes: [DefinitionMember.$type]
1096
+ },
1097
+ LiteralExpr: {
1098
+ name: LiteralExpr.$type,
1099
+ properties: {
1100
+ boolValue: {
1101
+ name: LiteralExpr.boolValue,
1102
+ optional: true
1103
+ },
1104
+ intValue: {
1105
+ name: LiteralExpr.intValue,
1106
+ optional: true
1107
+ },
1108
+ strValue: {
1109
+ name: LiteralExpr.strValue,
1110
+ optional: true
1111
+ }
1112
+ },
1113
+ superTypes: [ConstraintExpr.$type]
1114
+ },
1115
+ MetadataApplication: {
1116
+ name: MetadataApplication.$type,
1117
+ properties: {
1118
+ body: {
1119
+ name: MetadataApplication.body,
1120
+ defaultValue: [],
1121
+ optional: true
1122
+ },
1123
+ type: {
1124
+ name: MetadataApplication.type
1125
+ }
1126
+ },
1127
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1128
+ },
1129
+ MetadataDefinition: {
1130
+ name: MetadataDefinition.$type,
1131
+ properties: {
1132
+ body: {
1133
+ name: MetadataDefinition.body,
1134
+ defaultValue: [],
1135
+ optional: true
1136
+ },
1137
+ name: {
1138
+ name: MetadataDefinition.name
1139
+ },
1140
+ specialization: {
1141
+ name: MetadataDefinition.specialization,
1142
+ optional: true
1143
+ }
1144
+ },
1145
+ superTypes: [DefinitionMember.$type]
1146
+ },
1147
+ Model: {
1148
+ name: Model.$type,
1149
+ properties: {
1150
+ members: {
1151
+ name: Model.members,
1152
+ defaultValue: [],
1153
+ optional: true
1154
+ }
1155
+ },
1156
+ superTypes: []
1157
+ },
1158
+ Multiplicity: {
1159
+ name: Multiplicity.$type,
1160
+ properties: {
1161
+ exact: {
1162
+ name: Multiplicity.exact,
1163
+ optional: true
1164
+ },
1165
+ lower: {
1166
+ name: Multiplicity.lower,
1167
+ optional: true
1168
+ },
1169
+ unbounded: {
1170
+ name: Multiplicity.unbounded,
1171
+ defaultValue: false,
1172
+ optional: true
1173
+ },
1174
+ upper: {
1175
+ name: Multiplicity.upper,
1176
+ optional: true
1177
+ }
1178
+ },
1179
+ superTypes: []
1180
+ },
1181
+ NamespaceMember: {
1182
+ name: NamespaceMember.$type,
1183
+ properties: {},
1184
+ superTypes: []
1185
+ },
1186
+ PackageDeclaration: {
1187
+ name: PackageDeclaration.$type,
1188
+ properties: {
1189
+ isLibrary: {
1190
+ name: PackageDeclaration.isLibrary,
1191
+ defaultValue: false,
1192
+ optional: true
1193
+ },
1194
+ members: {
1195
+ name: PackageDeclaration.members,
1196
+ defaultValue: [],
1197
+ optional: true
1198
+ },
1199
+ name: {
1200
+ name: PackageDeclaration.name
1201
+ }
1202
+ },
1203
+ superTypes: [NamespaceMember.$type, PackageMember.$type]
1204
+ },
1205
+ PackageMember: {
1206
+ name: PackageMember.$type,
1207
+ properties: {},
1208
+ superTypes: []
1209
+ },
1210
+ PartDefinition: {
1211
+ name: PartDefinition.$type,
1212
+ properties: {
1213
+ additionalSpecializations: {
1214
+ name: PartDefinition.additionalSpecializations,
1215
+ defaultValue: [],
1216
+ optional: true
1217
+ },
1218
+ body: {
1219
+ name: PartDefinition.body,
1220
+ defaultValue: [],
1221
+ optional: true
1222
+ },
1223
+ isAbstract: {
1224
+ name: PartDefinition.isAbstract,
1225
+ defaultValue: false,
1226
+ optional: true
1227
+ },
1228
+ name: {
1229
+ name: PartDefinition.name
1230
+ },
1231
+ specialization: {
1232
+ name: PartDefinition.specialization,
1233
+ optional: true
1234
+ }
1235
+ },
1236
+ superTypes: [DefinitionMember.$type]
1237
+ },
1238
+ PartMember: {
1239
+ name: PartMember.$type,
1240
+ properties: {
1241
+ bindingOp: {
1242
+ name: PartMember.bindingOp
1243
+ },
1244
+ body: {
1245
+ name: PartMember.body,
1246
+ defaultValue: [],
1247
+ optional: true
1248
+ },
1249
+ boundRef: {
1250
+ name: PartMember.boundRef,
1251
+ optional: true
1252
+ },
1253
+ multiplicity: {
1254
+ name: PartMember.multiplicity,
1255
+ optional: true
1256
+ },
1257
+ name: {
1258
+ name: PartMember.name
1259
+ },
1260
+ type: {
1261
+ name: PartMember.type,
1262
+ optional: true
1263
+ }
1264
+ },
1265
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
1266
+ },
1267
+ PartUsage: {
1268
+ name: PartUsage.$type,
1269
+ properties: {
1270
+ body: {
1271
+ name: PartUsage.body,
1272
+ defaultValue: [],
1273
+ optional: true
1274
+ },
1275
+ name: {
1276
+ name: PartUsage.name
1277
+ },
1278
+ type: {
1279
+ name: PartUsage.type
1280
+ }
1281
+ },
1282
+ superTypes: [UsageMember.$type]
1283
+ },
1284
+ PortDefinition: {
1285
+ name: PortDefinition.$type,
1286
+ properties: {
1287
+ additionalSpecializations: {
1288
+ name: PortDefinition.additionalSpecializations,
1289
+ defaultValue: [],
1290
+ optional: true
1291
+ },
1292
+ body: {
1293
+ name: PortDefinition.body,
1294
+ defaultValue: [],
1295
+ optional: true
1296
+ },
1297
+ isAbstract: {
1298
+ name: PortDefinition.isAbstract,
1299
+ defaultValue: false,
1300
+ optional: true
1301
+ },
1302
+ name: {
1303
+ name: PortDefinition.name
1304
+ },
1305
+ specialization: {
1306
+ name: PortDefinition.specialization,
1307
+ optional: true
1308
+ }
1309
+ },
1310
+ superTypes: [DefinitionMember.$type]
1311
+ },
1312
+ PortUsage: {
1313
+ name: PortUsage.$type,
1314
+ properties: {
1315
+ body: {
1316
+ name: PortUsage.body,
1317
+ defaultValue: [],
1318
+ optional: true
1319
+ },
1320
+ direction: {
1321
+ name: PortUsage.direction,
1322
+ optional: true
1323
+ },
1324
+ isConjugated: {
1325
+ name: PortUsage.isConjugated,
1326
+ defaultValue: false,
1327
+ optional: true
1328
+ },
1329
+ name: {
1330
+ name: PortUsage.name
1331
+ },
1332
+ type: {
1333
+ name: PortUsage.type
1334
+ }
1335
+ },
1336
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1337
+ },
1338
+ RealValue: {
1339
+ name: RealValue.$type,
1340
+ properties: {
1341
+ value: {
1342
+ name: RealValue.value
1343
+ }
1344
+ },
1345
+ superTypes: [AttributeValue.$type]
1346
+ },
1347
+ RefMember: {
1348
+ name: RefMember.$type,
1349
+ properties: {
1350
+ multiplicity: {
1351
+ name: RefMember.multiplicity,
1352
+ optional: true
1353
+ },
1354
+ name: {
1355
+ name: RefMember.name
1356
+ },
1357
+ type: {
1358
+ name: RefMember.type
1359
+ }
1360
+ },
1361
+ superTypes: [DefinitionBodyMember.$type]
1362
+ },
1363
+ RequireConstraintMember: {
1364
+ name: RequireConstraintMember.$type,
1365
+ properties: {
1366
+ expression: {
1367
+ name: RequireConstraintMember.expression
1368
+ },
1369
+ kind: {
1370
+ name: RequireConstraintMember.kind,
1371
+ optional: true
1372
+ }
1373
+ },
1374
+ superTypes: [DefinitionBodyMember.$type]
1375
+ },
1376
+ RequirementDefinition: {
1377
+ name: RequirementDefinition.$type,
1378
+ properties: {
1379
+ additionalSpecializations: {
1380
+ name: RequirementDefinition.additionalSpecializations,
1381
+ defaultValue: [],
1382
+ optional: true
1383
+ },
1384
+ body: {
1385
+ name: RequirementDefinition.body,
1386
+ defaultValue: [],
1387
+ optional: true
1388
+ },
1389
+ isAbstract: {
1390
+ name: RequirementDefinition.isAbstract,
1391
+ defaultValue: false,
1392
+ optional: true
1393
+ },
1394
+ name: {
1395
+ name: RequirementDefinition.name
1396
+ },
1397
+ specialization: {
1398
+ name: RequirementDefinition.specialization,
1399
+ optional: true
1400
+ }
1401
+ },
1402
+ superTypes: [DefinitionMember.$type]
1403
+ },
1404
+ RequirementUsage: {
1405
+ name: RequirementUsage.$type,
1406
+ properties: {
1407
+ body: {
1408
+ name: RequirementUsage.body,
1409
+ defaultValue: [],
1410
+ optional: true
1411
+ },
1412
+ name: {
1413
+ name: RequirementUsage.name
1414
+ },
1415
+ type: {
1416
+ name: RequirementUsage.type
1417
+ }
1418
+ },
1419
+ superTypes: [UsageMember.$type]
1420
+ },
1421
+ SetElement: {
1422
+ name: SetElement.$type,
1423
+ properties: {
1424
+ stringValue: {
1425
+ name: SetElement.stringValue,
1426
+ optional: true
1427
+ },
1428
+ value: {
1429
+ name: SetElement.value,
1430
+ optional: true
1431
+ }
1432
+ },
1433
+ superTypes: []
1434
+ },
1435
+ SetLiteral: {
1436
+ name: SetLiteral.$type,
1437
+ properties: {
1438
+ elements: {
1439
+ name: SetLiteral.elements,
1440
+ defaultValue: []
1441
+ }
1442
+ },
1443
+ superTypes: [AttributeValue.$type]
1444
+ },
1445
+ Specialization: {
1446
+ name: Specialization.$type,
1447
+ properties: {
1448
+ superType: {
1449
+ name: Specialization.superType
1450
+ }
1451
+ },
1452
+ superTypes: []
1453
+ },
1454
+ StringValue: {
1455
+ name: StringValue.$type,
1456
+ properties: {
1457
+ value: {
1458
+ name: StringValue.value
1459
+ }
1460
+ },
1461
+ superTypes: [AttributeValue.$type]
1462
+ },
1463
+ SuccessionStep: {
1464
+ name: SuccessionStep.$type,
1465
+ properties: {
1466
+ ref: {
1467
+ name: SuccessionStep.ref
1468
+ }
1469
+ },
1470
+ superTypes: []
1471
+ },
1472
+ SuccessionUsage: {
1473
+ name: SuccessionUsage.$type,
1474
+ properties: {
1475
+ steps: {
1476
+ name: SuccessionUsage.steps,
1477
+ defaultValue: []
1478
+ }
1479
+ },
1480
+ superTypes: [ActionUsageBodyMember.$type]
1481
+ },
1482
+ UnaryExpr: {
1483
+ name: UnaryExpr.$type,
1484
+ properties: {
1485
+ op: {
1486
+ name: UnaryExpr.op
1487
+ },
1488
+ operand: {
1489
+ name: UnaryExpr.operand
1490
+ }
1491
+ },
1492
+ superTypes: [ConstraintExpr.$type]
1493
+ },
1494
+ UsageBodyMember: {
1495
+ name: UsageBodyMember.$type,
1496
+ properties: {},
1497
+ superTypes: [ActionUsageBodyMember.$type, ViewBodyMember.$type]
1498
+ },
1499
+ UsageMember: {
1500
+ name: UsageMember.$type,
1501
+ properties: {},
1502
+ superTypes: [PackageMember.$type]
1503
+ },
1504
+ ViewBodyMember: {
1505
+ name: ViewBodyMember.$type,
1506
+ properties: {},
1507
+ superTypes: []
1508
+ },
1509
+ ViewDefinition: {
1510
+ name: ViewDefinition.$type,
1511
+ properties: {
1512
+ additionalSpecializations: {
1513
+ name: ViewDefinition.additionalSpecializations,
1514
+ defaultValue: [],
1515
+ optional: true
1516
+ },
1517
+ body: {
1518
+ name: ViewDefinition.body,
1519
+ defaultValue: [],
1520
+ optional: true
1521
+ },
1522
+ isAbstract: {
1523
+ name: ViewDefinition.isAbstract,
1524
+ defaultValue: false,
1525
+ optional: true
1526
+ },
1527
+ name: {
1528
+ name: ViewDefinition.name
1529
+ },
1530
+ specialization: {
1531
+ name: ViewDefinition.specialization,
1532
+ optional: true
1533
+ }
1534
+ },
1535
+ superTypes: [DefinitionMember.$type]
1536
+ },
1537
+ ViewUsage: {
1538
+ name: ViewUsage.$type,
1539
+ properties: {
1540
+ body: {
1541
+ name: ViewUsage.body,
1542
+ defaultValue: [],
1543
+ optional: true
1544
+ },
1545
+ name: {
1546
+ name: ViewUsage.name
1547
+ },
1548
+ type: {
1549
+ name: ViewUsage.type,
1550
+ optional: true
1551
+ }
1552
+ },
1553
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1554
+ },
1555
+ ViewpointDefinition: {
1556
+ name: ViewpointDefinition.$type,
1557
+ properties: {
1558
+ additionalSpecializations: {
1559
+ name: ViewpointDefinition.additionalSpecializations,
1560
+ defaultValue: [],
1561
+ optional: true
1562
+ },
1563
+ body: {
1564
+ name: ViewpointDefinition.body,
1565
+ defaultValue: [],
1566
+ optional: true
1567
+ },
1568
+ isAbstract: {
1569
+ name: ViewpointDefinition.isAbstract,
1570
+ defaultValue: false,
1571
+ optional: true
1572
+ },
1573
+ name: {
1574
+ name: ViewpointDefinition.name
1575
+ },
1576
+ specialization: {
1577
+ name: ViewpointDefinition.specialization,
1578
+ optional: true
1579
+ }
1580
+ },
1581
+ superTypes: [DefinitionMember.$type]
957
1582
  }
958
- }
1583
+ };
959
1584
  }
960
1585
  export const reflection = new MemoSysMLAstReflection();
961
1586
  //# sourceMappingURL=ast.js.map