@mica-js/ddl 0.0.0-stage → 0.2.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.
@@ -0,0 +1,1241 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.4.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ /* eslint-disable */
6
+ import * as langium from 'langium';
7
+ export const DDLTerminals = {
8
+ BOM: /\uFEFF/,
9
+ WS: /[ \t\r\n]+/,
10
+ ID: /[A-Za-z_][A-Za-z0-9_]*/,
11
+ NUMBER: /0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*|0[bB][01](?:_?[01])*|0[oO][0-7](?:_?[0-7])*|[0-9](?:_?[0-9])*(?:\.[0-9](?:_?[0-9])*)?(?:[eE][+-]?[0-9](?:_?[0-9])*)?/,
12
+ DDL_STRING: /"(?:[^"\\\x00-\x1F]|\\(?:["\\nrt]|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}))*"/,
13
+ ML_COMMENT: /\/\*[\s\S]*?\*\//,
14
+ SL_COMMENT: /\/\/[^\n\r]*/,
15
+ };
16
+ export const Argument = {
17
+ $type: 'Argument'
18
+ };
19
+ export function isArgument(item) {
20
+ return reflection.isInstance(item, Argument.$type);
21
+ }
22
+ export function isArgumentName(item) {
23
+ return isName(item) || item === 'memory';
24
+ }
25
+ export const AssertStmt = {
26
+ $type: 'AssertStmt',
27
+ condition: 'condition',
28
+ message: 'message'
29
+ };
30
+ export function isAssertStmt(item) {
31
+ return reflection.isInstance(item, AssertStmt.$type);
32
+ }
33
+ export const AssignStmt = {
34
+ $type: 'AssignStmt',
35
+ name: 'name',
36
+ value: 'value'
37
+ };
38
+ export function isAssignStmt(item) {
39
+ return reflection.isInstance(item, AssignStmt.$type);
40
+ }
41
+ export const AwaitOperation = {
42
+ $type: 'AwaitOperation',
43
+ channel: 'channel',
44
+ duration: 'duration',
45
+ ticks: 'ticks'
46
+ };
47
+ export function isAwaitOperation(item) {
48
+ return reflection.isInstance(item, AwaitOperation.$type);
49
+ }
50
+ export const AwaitStmt = {
51
+ $type: 'AwaitStmt',
52
+ value: 'value'
53
+ };
54
+ export function isAwaitStmt(item) {
55
+ return reflection.isInstance(item, AwaitStmt.$type);
56
+ }
57
+ export const Binary = {
58
+ $type: 'Binary',
59
+ left: 'left',
60
+ op: 'op',
61
+ right: 'right'
62
+ };
63
+ export function isBinary(item) {
64
+ return reflection.isInstance(item, Binary.$type);
65
+ }
66
+ export const Block = {
67
+ $type: 'Block',
68
+ statements: 'statements'
69
+ };
70
+ export function isBlock(item) {
71
+ return reflection.isInstance(item, Block.$type);
72
+ }
73
+ export const BreakStmt = {
74
+ $type: 'BreakStmt'
75
+ };
76
+ export function isBreakStmt(item) {
77
+ return reflection.isInstance(item, BreakStmt.$type);
78
+ }
79
+ export const BytesLiteral = {
80
+ $type: 'BytesLiteral',
81
+ elements: 'elements'
82
+ };
83
+ export function isBytesLiteral(item) {
84
+ return reflection.isInstance(item, BytesLiteral.$type);
85
+ }
86
+ export const Call = {
87
+ $type: 'Call',
88
+ args: 'args',
89
+ callee: 'callee'
90
+ };
91
+ export function isCall(item) {
92
+ return reflection.isInstance(item, Call.$type);
93
+ }
94
+ export const CallStmt = {
95
+ $type: 'CallStmt',
96
+ value: 'value'
97
+ };
98
+ export function isCallStmt(item) {
99
+ return reflection.isInstance(item, CallStmt.$type);
100
+ }
101
+ export const Capture = {
102
+ $type: 'Capture',
103
+ name: 'name',
104
+ value: 'value'
105
+ };
106
+ export function isCapture(item) {
107
+ return reflection.isInstance(item, Capture.$type);
108
+ }
109
+ export const ChannelDecl = {
110
+ $type: 'ChannelDecl',
111
+ direction: 'direction',
112
+ name: 'name',
113
+ options: 'options',
114
+ type: 'type'
115
+ };
116
+ export function isChannelDecl(item) {
117
+ return reflection.isInstance(item, ChannelDecl.$type);
118
+ }
119
+ export const ConstantDecl = {
120
+ $type: 'ConstantDecl',
121
+ name: 'name',
122
+ type: 'type',
123
+ value: 'value'
124
+ };
125
+ export function isConstantDecl(item) {
126
+ return reflection.isInstance(item, ConstantDecl.$type);
127
+ }
128
+ export const ContinueStmt = {
129
+ $type: 'ContinueStmt'
130
+ };
131
+ export function isContinueStmt(item) {
132
+ return reflection.isInstance(item, ContinueStmt.$type);
133
+ }
134
+ export const DerivedDecl = {
135
+ $type: 'DerivedDecl',
136
+ name: 'name',
137
+ type: 'type',
138
+ value: 'value'
139
+ };
140
+ export function isDerivedDecl(item) {
141
+ return reflection.isInstance(item, DerivedDecl.$type);
142
+ }
143
+ export const Device = {
144
+ $type: 'Device',
145
+ members: 'members',
146
+ name: 'name',
147
+ properties: 'properties'
148
+ };
149
+ export function isDevice(item) {
150
+ return reflection.isInstance(item, Device.$type);
151
+ }
152
+ export const EnumDecl = {
153
+ $type: 'EnumDecl',
154
+ members: 'members',
155
+ name: 'name'
156
+ };
157
+ export function isEnumDecl(item) {
158
+ return reflection.isInstance(item, EnumDecl.$type);
159
+ }
160
+ export const Expr = {
161
+ $type: 'Expr'
162
+ };
163
+ export function isExpr(item) {
164
+ return reflection.isInstance(item, Expr.$type);
165
+ }
166
+ export const FunctionDecl = {
167
+ $type: 'FunctionDecl',
168
+ body: 'body',
169
+ name: 'name',
170
+ params: 'params',
171
+ pure: 'pure',
172
+ returns: 'returns'
173
+ };
174
+ export function isFunctionDecl(item) {
175
+ return reflection.isInstance(item, FunctionDecl.$type);
176
+ }
177
+ export const IfStmt = {
178
+ $type: 'IfStmt',
179
+ alternate: 'alternate',
180
+ condition: 'condition',
181
+ no: 'no',
182
+ yes: 'yes'
183
+ };
184
+ export function isIfStmt(item) {
185
+ return reflection.isInstance(item, IfStmt.$type);
186
+ }
187
+ export const IndexAccess = {
188
+ $type: 'IndexAccess',
189
+ index: 'index',
190
+ object: 'object'
191
+ };
192
+ export function isIndexAccess(item) {
193
+ return reflection.isInstance(item, IndexAccess.$type);
194
+ }
195
+ export const Initializer = {
196
+ $type: 'Initializer'
197
+ };
198
+ export function isInitializer(item) {
199
+ return reflection.isInstance(item, Initializer.$type);
200
+ }
201
+ export const IntentLiteral = {
202
+ $type: 'IntentLiteral',
203
+ elements: 'elements'
204
+ };
205
+ export function isIntentLiteral(item) {
206
+ return reflection.isInstance(item, IntentLiteral.$type);
207
+ }
208
+ export const IntentStmt = {
209
+ $type: 'IntentStmt',
210
+ name: 'name',
211
+ value: 'value'
212
+ };
213
+ export function isIntentStmt(item) {
214
+ return reflection.isInstance(item, IntentStmt.$type);
215
+ }
216
+ export const Literal = {
217
+ $type: 'Literal',
218
+ value: 'value'
219
+ };
220
+ export function isLiteral(item) {
221
+ return reflection.isInstance(item, Literal.$type);
222
+ }
223
+ export const LocalStmt = {
224
+ $type: 'LocalStmt',
225
+ binding: 'binding',
226
+ name: 'name',
227
+ type: 'type',
228
+ value: 'value'
229
+ };
230
+ export function isLocalStmt(item) {
231
+ return reflection.isInstance(item, LocalStmt.$type);
232
+ }
233
+ export const LoopStmt = {
234
+ $type: 'LoopStmt',
235
+ body: 'body'
236
+ };
237
+ export function isLoopStmt(item) {
238
+ return reflection.isInstance(item, LoopStmt.$type);
239
+ }
240
+ export const MatchArm = {
241
+ $type: 'MatchArm',
242
+ body: 'body',
243
+ pattern: 'pattern'
244
+ };
245
+ export function isMatchArm(item) {
246
+ return reflection.isInstance(item, MatchArm.$type);
247
+ }
248
+ export const MatchStmt = {
249
+ $type: 'MatchStmt',
250
+ arms: 'arms',
251
+ value: 'value'
252
+ };
253
+ export function isMatchStmt(item) {
254
+ return reflection.isInstance(item, MatchStmt.$type);
255
+ }
256
+ export const Member = {
257
+ $type: 'Member'
258
+ };
259
+ export function isMember(item) {
260
+ return reflection.isInstance(item, Member.$type);
261
+ }
262
+ export const MemberAccess = {
263
+ $type: 'MemberAccess',
264
+ member: 'member',
265
+ object: 'object'
266
+ };
267
+ export function isMemberAccess(item) {
268
+ return reflection.isInstance(item, MemberAccess.$type);
269
+ }
270
+ export const MemoryDecl = {
271
+ $type: 'MemoryDecl',
272
+ length: 'length',
273
+ name: 'name',
274
+ public: 'public'
275
+ };
276
+ export function isMemoryDecl(item) {
277
+ return reflection.isInstance(item, MemoryDecl.$type);
278
+ }
279
+ export function isName(item) {
280
+ return item === 'input' || item === 'output' || item === 'public' || item === 'channel' || item === 'notification' || item === 'start' || item === 'intent' || item === 'sample' || item === 'receive' || item === 'ticks' || item === 'duration' || item === 'delay' || (typeof item === 'string' && (/[A-Za-z_][A-Za-z0-9_]*/.test(item)));
281
+ }
282
+ export const NamedArgument = {
283
+ $type: 'NamedArgument',
284
+ name: 'name',
285
+ value: 'value'
286
+ };
287
+ export function isNamedArgument(item) {
288
+ return reflection.isInstance(item, NamedArgument.$type);
289
+ }
290
+ export const NotificationDecl = {
291
+ $type: 'NotificationDecl',
292
+ direction: 'direction',
293
+ name: 'name'
294
+ };
295
+ export function isNotificationDecl(item) {
296
+ return reflection.isInstance(item, NotificationDecl.$type);
297
+ }
298
+ export const NumberLiteral = {
299
+ $type: 'NumberLiteral',
300
+ value: 'value'
301
+ };
302
+ export function isNumberLiteral(item) {
303
+ return reflection.isInstance(item, NumberLiteral.$type);
304
+ }
305
+ export const Parameter = {
306
+ $type: 'Parameter',
307
+ name: 'name',
308
+ type: 'type'
309
+ };
310
+ export function isParameter(item) {
311
+ return reflection.isInstance(item, Parameter.$type);
312
+ }
313
+ export const ParameterType = {
314
+ $type: 'ParameterType',
315
+ name: 'name',
316
+ value: 'value'
317
+ };
318
+ export function isParameterType(item) {
319
+ return reflection.isInstance(item, ParameterType.$type);
320
+ }
321
+ export const Pattern = {
322
+ $type: 'Pattern',
323
+ enum: 'enum',
324
+ literal: 'literal',
325
+ member: 'member',
326
+ number: 'number',
327
+ sign: 'sign',
328
+ string: 'string',
329
+ wildcard: 'wildcard'
330
+ };
331
+ export function isPattern(item) {
332
+ return reflection.isInstance(item, Pattern.$type);
333
+ }
334
+ export const PinDecl = {
335
+ $type: 'PinDecl',
336
+ name: 'name',
337
+ options: 'options',
338
+ value: 'value'
339
+ };
340
+ export function isPinDecl(item) {
341
+ return reflection.isInstance(item, PinDecl.$type);
342
+ }
343
+ export const PositionalArgument = {
344
+ $type: 'PositionalArgument',
345
+ value: 'value'
346
+ };
347
+ export function isPositionalArgument(item) {
348
+ return reflection.isInstance(item, PositionalArgument.$type);
349
+ }
350
+ export const ProcessDecl = {
351
+ $type: 'ProcessDecl',
352
+ body: 'body',
353
+ name: 'name',
354
+ path: 'path'
355
+ };
356
+ export function isProcessDecl(item) {
357
+ return reflection.isInstance(item, ProcessDecl.$type);
358
+ }
359
+ export const Property = {
360
+ $type: 'Property',
361
+ name: 'name',
362
+ type: 'type',
363
+ value: 'value'
364
+ };
365
+ export function isProperty(item) {
366
+ return reflection.isInstance(item, Property.$type);
367
+ }
368
+ export const ReactionDecl = {
369
+ $type: 'ReactionDecl',
370
+ body: 'body',
371
+ captures: 'captures',
372
+ current: 'current',
373
+ name: 'name',
374
+ path: 'path',
375
+ previous: 'previous'
376
+ };
377
+ export function isReactionDecl(item) {
378
+ return reflection.isInstance(item, ReactionDecl.$type);
379
+ }
380
+ export const RecordDecl = {
381
+ $type: 'RecordDecl',
382
+ fields: 'fields',
383
+ name: 'name'
384
+ };
385
+ export function isRecordDecl(item) {
386
+ return reflection.isInstance(item, RecordDecl.$type);
387
+ }
388
+ export const RecordField = {
389
+ $type: 'RecordField',
390
+ name: 'name',
391
+ type: 'type'
392
+ };
393
+ export function isRecordField(item) {
394
+ return reflection.isInstance(item, RecordField.$type);
395
+ }
396
+ export const RecordLiteral = {
397
+ $type: 'RecordLiteral',
398
+ fields: 'fields'
399
+ };
400
+ export function isRecordLiteral(item) {
401
+ return reflection.isInstance(item, RecordLiteral.$type);
402
+ }
403
+ export const RedirectStmt = {
404
+ $type: 'RedirectStmt',
405
+ delay: 'delay',
406
+ target: 'target'
407
+ };
408
+ export function isRedirectStmt(item) {
409
+ return reflection.isInstance(item, RedirectStmt.$type);
410
+ }
411
+ export const Reference = {
412
+ $type: 'Reference',
413
+ name: 'name'
414
+ };
415
+ export function isReference(item) {
416
+ return reflection.isInstance(item, Reference.$type);
417
+ }
418
+ export const ReturnStmt = {
419
+ $type: 'ReturnStmt',
420
+ value: 'value'
421
+ };
422
+ export function isReturnStmt(item) {
423
+ return reflection.isInstance(item, ReturnStmt.$type);
424
+ }
425
+ export const Select = {
426
+ $type: 'Select',
427
+ condition: 'condition',
428
+ no: 'no',
429
+ yes: 'yes'
430
+ };
431
+ export function isSelect(item) {
432
+ return reflection.isInstance(item, Select.$type);
433
+ }
434
+ export const SourcePath = {
435
+ $type: 'SourcePath',
436
+ parts: 'parts'
437
+ };
438
+ export function isSourcePath(item) {
439
+ return reflection.isInstance(item, SourcePath.$type);
440
+ }
441
+ export const StateDecl = {
442
+ $type: 'StateDecl',
443
+ name: 'name',
444
+ type: 'type',
445
+ value: 'value'
446
+ };
447
+ export function isStateDecl(item) {
448
+ return reflection.isInstance(item, StateDecl.$type);
449
+ }
450
+ export const Statement = {
451
+ $type: 'Statement'
452
+ };
453
+ export function isStatement(item) {
454
+ return reflection.isInstance(item, Statement.$type);
455
+ }
456
+ export const StringLiteral = {
457
+ $type: 'StringLiteral',
458
+ value: 'value'
459
+ };
460
+ export function isStringLiteral(item) {
461
+ return reflection.isInstance(item, StringLiteral.$type);
462
+ }
463
+ export const Unary = {
464
+ $type: 'Unary',
465
+ op: 'op',
466
+ value: 'value'
467
+ };
468
+ export function isUnary(item) {
469
+ return reflection.isInstance(item, Unary.$type);
470
+ }
471
+ export const ValueType = {
472
+ $type: 'ValueType',
473
+ name: 'name',
474
+ optional: 'optional'
475
+ };
476
+ export function isValueType(item) {
477
+ return reflection.isInstance(item, ValueType.$type);
478
+ }
479
+ export const WhileStmt = {
480
+ $type: 'WhileStmt',
481
+ body: 'body',
482
+ condition: 'condition'
483
+ };
484
+ export function isWhileStmt(item) {
485
+ return reflection.isInstance(item, WhileStmt.$type);
486
+ }
487
+ export class DDLAstReflection extends langium.AbstractAstReflection {
488
+ types = {
489
+ Argument: {
490
+ name: Argument.$type,
491
+ properties: {},
492
+ superTypes: []
493
+ },
494
+ AssertStmt: {
495
+ name: AssertStmt.$type,
496
+ properties: {
497
+ condition: {
498
+ name: AssertStmt.condition
499
+ },
500
+ message: {
501
+ name: AssertStmt.message,
502
+ optional: true
503
+ }
504
+ },
505
+ superTypes: [Member.$type, Statement.$type]
506
+ },
507
+ AssignStmt: {
508
+ name: AssignStmt.$type,
509
+ properties: {
510
+ name: {
511
+ name: AssignStmt.name
512
+ },
513
+ value: {
514
+ name: AssignStmt.value
515
+ }
516
+ },
517
+ superTypes: [Statement.$type]
518
+ },
519
+ AwaitOperation: {
520
+ name: AwaitOperation.$type,
521
+ properties: {
522
+ channel: {
523
+ name: AwaitOperation.channel,
524
+ optional: true
525
+ },
526
+ duration: {
527
+ name: AwaitOperation.duration,
528
+ optional: true
529
+ },
530
+ ticks: {
531
+ name: AwaitOperation.ticks,
532
+ defaultValue: false,
533
+ optional: true
534
+ }
535
+ },
536
+ superTypes: [Initializer.$type]
537
+ },
538
+ AwaitStmt: {
539
+ name: AwaitStmt.$type,
540
+ properties: {
541
+ value: {
542
+ name: AwaitStmt.value
543
+ }
544
+ },
545
+ superTypes: [Statement.$type]
546
+ },
547
+ Binary: {
548
+ name: Binary.$type,
549
+ properties: {
550
+ left: {
551
+ name: Binary.left
552
+ },
553
+ op: {
554
+ name: Binary.op
555
+ },
556
+ right: {
557
+ name: Binary.right
558
+ }
559
+ },
560
+ superTypes: [Expr.$type]
561
+ },
562
+ Block: {
563
+ name: Block.$type,
564
+ properties: {
565
+ statements: {
566
+ name: Block.statements,
567
+ defaultValue: [],
568
+ optional: true
569
+ }
570
+ },
571
+ superTypes: []
572
+ },
573
+ BreakStmt: {
574
+ name: BreakStmt.$type,
575
+ properties: {},
576
+ superTypes: [Statement.$type]
577
+ },
578
+ BytesLiteral: {
579
+ name: BytesLiteral.$type,
580
+ properties: {
581
+ elements: {
582
+ name: BytesLiteral.elements,
583
+ defaultValue: [],
584
+ optional: true
585
+ }
586
+ },
587
+ superTypes: [Expr.$type]
588
+ },
589
+ Call: {
590
+ name: Call.$type,
591
+ properties: {
592
+ args: {
593
+ name: Call.args,
594
+ defaultValue: [],
595
+ optional: true
596
+ },
597
+ callee: {
598
+ name: Call.callee
599
+ }
600
+ },
601
+ superTypes: [Expr.$type]
602
+ },
603
+ CallStmt: {
604
+ name: CallStmt.$type,
605
+ properties: {
606
+ value: {
607
+ name: CallStmt.value
608
+ }
609
+ },
610
+ superTypes: [Statement.$type]
611
+ },
612
+ Capture: {
613
+ name: Capture.$type,
614
+ properties: {
615
+ name: {
616
+ name: Capture.name
617
+ },
618
+ value: {
619
+ name: Capture.value
620
+ }
621
+ },
622
+ superTypes: []
623
+ },
624
+ ChannelDecl: {
625
+ name: ChannelDecl.$type,
626
+ properties: {
627
+ direction: {
628
+ name: ChannelDecl.direction
629
+ },
630
+ name: {
631
+ name: ChannelDecl.name
632
+ },
633
+ options: {
634
+ name: ChannelDecl.options,
635
+ defaultValue: []
636
+ },
637
+ type: {
638
+ name: ChannelDecl.type
639
+ }
640
+ },
641
+ superTypes: [Member.$type]
642
+ },
643
+ ConstantDecl: {
644
+ name: ConstantDecl.$type,
645
+ properties: {
646
+ name: {
647
+ name: ConstantDecl.name
648
+ },
649
+ type: {
650
+ name: ConstantDecl.type,
651
+ optional: true
652
+ },
653
+ value: {
654
+ name: ConstantDecl.value
655
+ }
656
+ },
657
+ superTypes: [Member.$type]
658
+ },
659
+ ContinueStmt: {
660
+ name: ContinueStmt.$type,
661
+ properties: {},
662
+ superTypes: [Statement.$type]
663
+ },
664
+ DerivedDecl: {
665
+ name: DerivedDecl.$type,
666
+ properties: {
667
+ name: {
668
+ name: DerivedDecl.name
669
+ },
670
+ type: {
671
+ name: DerivedDecl.type
672
+ },
673
+ value: {
674
+ name: DerivedDecl.value
675
+ }
676
+ },
677
+ superTypes: [Member.$type]
678
+ },
679
+ Device: {
680
+ name: Device.$type,
681
+ properties: {
682
+ members: {
683
+ name: Device.members,
684
+ defaultValue: [],
685
+ optional: true
686
+ },
687
+ name: {
688
+ name: Device.name
689
+ },
690
+ properties: {
691
+ name: Device.properties,
692
+ defaultValue: [],
693
+ optional: true
694
+ }
695
+ },
696
+ superTypes: []
697
+ },
698
+ EnumDecl: {
699
+ name: EnumDecl.$type,
700
+ properties: {
701
+ members: {
702
+ name: EnumDecl.members,
703
+ defaultValue: []
704
+ },
705
+ name: {
706
+ name: EnumDecl.name
707
+ }
708
+ },
709
+ superTypes: [Member.$type]
710
+ },
711
+ Expr: {
712
+ name: Expr.$type,
713
+ properties: {},
714
+ superTypes: [Initializer.$type]
715
+ },
716
+ FunctionDecl: {
717
+ name: FunctionDecl.$type,
718
+ properties: {
719
+ body: {
720
+ name: FunctionDecl.body
721
+ },
722
+ name: {
723
+ name: FunctionDecl.name
724
+ },
725
+ params: {
726
+ name: FunctionDecl.params,
727
+ defaultValue: [],
728
+ optional: true
729
+ },
730
+ pure: {
731
+ name: FunctionDecl.pure,
732
+ defaultValue: false,
733
+ optional: true
734
+ },
735
+ returns: {
736
+ name: FunctionDecl.returns,
737
+ optional: true
738
+ }
739
+ },
740
+ superTypes: [Member.$type]
741
+ },
742
+ IfStmt: {
743
+ name: IfStmt.$type,
744
+ properties: {
745
+ alternate: {
746
+ name: IfStmt.alternate,
747
+ optional: true
748
+ },
749
+ condition: {
750
+ name: IfStmt.condition
751
+ },
752
+ no: {
753
+ name: IfStmt.no,
754
+ optional: true
755
+ },
756
+ yes: {
757
+ name: IfStmt.yes
758
+ }
759
+ },
760
+ superTypes: [Statement.$type]
761
+ },
762
+ IndexAccess: {
763
+ name: IndexAccess.$type,
764
+ properties: {
765
+ index: {
766
+ name: IndexAccess.index
767
+ },
768
+ object: {
769
+ name: IndexAccess.object
770
+ }
771
+ },
772
+ superTypes: [Expr.$type]
773
+ },
774
+ Initializer: {
775
+ name: Initializer.$type,
776
+ properties: {},
777
+ superTypes: []
778
+ },
779
+ IntentLiteral: {
780
+ name: IntentLiteral.$type,
781
+ properties: {
782
+ elements: {
783
+ name: IntentLiteral.elements,
784
+ defaultValue: [],
785
+ optional: true
786
+ }
787
+ },
788
+ superTypes: [Expr.$type]
789
+ },
790
+ IntentStmt: {
791
+ name: IntentStmt.$type,
792
+ properties: {
793
+ name: {
794
+ name: IntentStmt.name
795
+ },
796
+ value: {
797
+ name: IntentStmt.value
798
+ }
799
+ },
800
+ superTypes: [Statement.$type]
801
+ },
802
+ Literal: {
803
+ name: Literal.$type,
804
+ properties: {
805
+ value: {
806
+ name: Literal.value
807
+ }
808
+ },
809
+ superTypes: [Expr.$type]
810
+ },
811
+ LocalStmt: {
812
+ name: LocalStmt.$type,
813
+ properties: {
814
+ binding: {
815
+ name: LocalStmt.binding
816
+ },
817
+ name: {
818
+ name: LocalStmt.name
819
+ },
820
+ type: {
821
+ name: LocalStmt.type,
822
+ optional: true
823
+ },
824
+ value: {
825
+ name: LocalStmt.value
826
+ }
827
+ },
828
+ superTypes: [Statement.$type]
829
+ },
830
+ LoopStmt: {
831
+ name: LoopStmt.$type,
832
+ properties: {
833
+ body: {
834
+ name: LoopStmt.body
835
+ }
836
+ },
837
+ superTypes: [Statement.$type]
838
+ },
839
+ MatchArm: {
840
+ name: MatchArm.$type,
841
+ properties: {
842
+ body: {
843
+ name: MatchArm.body
844
+ },
845
+ pattern: {
846
+ name: MatchArm.pattern
847
+ }
848
+ },
849
+ superTypes: []
850
+ },
851
+ MatchStmt: {
852
+ name: MatchStmt.$type,
853
+ properties: {
854
+ arms: {
855
+ name: MatchStmt.arms,
856
+ defaultValue: []
857
+ },
858
+ value: {
859
+ name: MatchStmt.value
860
+ }
861
+ },
862
+ superTypes: [Statement.$type]
863
+ },
864
+ Member: {
865
+ name: Member.$type,
866
+ properties: {},
867
+ superTypes: []
868
+ },
869
+ MemberAccess: {
870
+ name: MemberAccess.$type,
871
+ properties: {
872
+ member: {
873
+ name: MemberAccess.member
874
+ },
875
+ object: {
876
+ name: MemberAccess.object
877
+ }
878
+ },
879
+ superTypes: [Expr.$type]
880
+ },
881
+ MemoryDecl: {
882
+ name: MemoryDecl.$type,
883
+ properties: {
884
+ length: {
885
+ name: MemoryDecl.length
886
+ },
887
+ name: {
888
+ name: MemoryDecl.name
889
+ },
890
+ public: {
891
+ name: MemoryDecl.public,
892
+ defaultValue: false,
893
+ optional: true
894
+ }
895
+ },
896
+ superTypes: [Member.$type]
897
+ },
898
+ NamedArgument: {
899
+ name: NamedArgument.$type,
900
+ properties: {
901
+ name: {
902
+ name: NamedArgument.name
903
+ },
904
+ value: {
905
+ name: NamedArgument.value
906
+ }
907
+ },
908
+ superTypes: [Argument.$type]
909
+ },
910
+ NotificationDecl: {
911
+ name: NotificationDecl.$type,
912
+ properties: {
913
+ direction: {
914
+ name: NotificationDecl.direction
915
+ },
916
+ name: {
917
+ name: NotificationDecl.name
918
+ }
919
+ },
920
+ superTypes: [Member.$type]
921
+ },
922
+ NumberLiteral: {
923
+ name: NumberLiteral.$type,
924
+ properties: {
925
+ value: {
926
+ name: NumberLiteral.value
927
+ }
928
+ },
929
+ superTypes: [Expr.$type]
930
+ },
931
+ Parameter: {
932
+ name: Parameter.$type,
933
+ properties: {
934
+ name: {
935
+ name: Parameter.name
936
+ },
937
+ type: {
938
+ name: Parameter.type
939
+ }
940
+ },
941
+ superTypes: []
942
+ },
943
+ ParameterType: {
944
+ name: ParameterType.$type,
945
+ properties: {
946
+ name: {
947
+ name: ParameterType.name,
948
+ optional: true
949
+ },
950
+ value: {
951
+ name: ParameterType.value,
952
+ optional: true
953
+ }
954
+ },
955
+ superTypes: []
956
+ },
957
+ Pattern: {
958
+ name: Pattern.$type,
959
+ properties: {
960
+ enum: {
961
+ name: Pattern.enum,
962
+ optional: true
963
+ },
964
+ literal: {
965
+ name: Pattern.literal,
966
+ optional: true
967
+ },
968
+ member: {
969
+ name: Pattern.member,
970
+ optional: true
971
+ },
972
+ number: {
973
+ name: Pattern.number,
974
+ optional: true
975
+ },
976
+ sign: {
977
+ name: Pattern.sign,
978
+ optional: true
979
+ },
980
+ string: {
981
+ name: Pattern.string,
982
+ optional: true
983
+ },
984
+ wildcard: {
985
+ name: Pattern.wildcard,
986
+ defaultValue: false,
987
+ optional: true
988
+ }
989
+ },
990
+ superTypes: []
991
+ },
992
+ PinDecl: {
993
+ name: PinDecl.$type,
994
+ properties: {
995
+ name: {
996
+ name: PinDecl.name
997
+ },
998
+ options: {
999
+ name: PinDecl.options,
1000
+ defaultValue: [],
1001
+ optional: true
1002
+ },
1003
+ value: {
1004
+ name: PinDecl.value,
1005
+ optional: true
1006
+ }
1007
+ },
1008
+ superTypes: [Member.$type]
1009
+ },
1010
+ PositionalArgument: {
1011
+ name: PositionalArgument.$type,
1012
+ properties: {
1013
+ value: {
1014
+ name: PositionalArgument.value
1015
+ }
1016
+ },
1017
+ superTypes: [Argument.$type]
1018
+ },
1019
+ ProcessDecl: {
1020
+ name: ProcessDecl.$type,
1021
+ properties: {
1022
+ body: {
1023
+ name: ProcessDecl.body
1024
+ },
1025
+ name: {
1026
+ name: ProcessDecl.name
1027
+ },
1028
+ path: {
1029
+ name: ProcessDecl.path,
1030
+ optional: true
1031
+ }
1032
+ },
1033
+ superTypes: [Member.$type]
1034
+ },
1035
+ Property: {
1036
+ name: Property.$type,
1037
+ properties: {
1038
+ name: {
1039
+ name: Property.name
1040
+ },
1041
+ type: {
1042
+ name: Property.type
1043
+ },
1044
+ value: {
1045
+ name: Property.value,
1046
+ optional: true
1047
+ }
1048
+ },
1049
+ superTypes: []
1050
+ },
1051
+ ReactionDecl: {
1052
+ name: ReactionDecl.$type,
1053
+ properties: {
1054
+ body: {
1055
+ name: ReactionDecl.body
1056
+ },
1057
+ captures: {
1058
+ name: ReactionDecl.captures,
1059
+ defaultValue: [],
1060
+ optional: true
1061
+ },
1062
+ current: {
1063
+ name: ReactionDecl.current
1064
+ },
1065
+ name: {
1066
+ name: ReactionDecl.name
1067
+ },
1068
+ path: {
1069
+ name: ReactionDecl.path
1070
+ },
1071
+ previous: {
1072
+ name: ReactionDecl.previous
1073
+ }
1074
+ },
1075
+ superTypes: [Member.$type]
1076
+ },
1077
+ RecordDecl: {
1078
+ name: RecordDecl.$type,
1079
+ properties: {
1080
+ fields: {
1081
+ name: RecordDecl.fields,
1082
+ defaultValue: [],
1083
+ optional: true
1084
+ },
1085
+ name: {
1086
+ name: RecordDecl.name
1087
+ }
1088
+ },
1089
+ superTypes: [Member.$type]
1090
+ },
1091
+ RecordField: {
1092
+ name: RecordField.$type,
1093
+ properties: {
1094
+ name: {
1095
+ name: RecordField.name
1096
+ },
1097
+ type: {
1098
+ name: RecordField.type
1099
+ }
1100
+ },
1101
+ superTypes: []
1102
+ },
1103
+ RecordLiteral: {
1104
+ name: RecordLiteral.$type,
1105
+ properties: {
1106
+ fields: {
1107
+ name: RecordLiteral.fields,
1108
+ defaultValue: [],
1109
+ optional: true
1110
+ }
1111
+ },
1112
+ superTypes: [Expr.$type]
1113
+ },
1114
+ RedirectStmt: {
1115
+ name: RedirectStmt.$type,
1116
+ properties: {
1117
+ delay: {
1118
+ name: RedirectStmt.delay,
1119
+ optional: true
1120
+ },
1121
+ target: {
1122
+ name: RedirectStmt.target
1123
+ }
1124
+ },
1125
+ superTypes: [Statement.$type]
1126
+ },
1127
+ Reference: {
1128
+ name: Reference.$type,
1129
+ properties: {
1130
+ name: {
1131
+ name: Reference.name
1132
+ }
1133
+ },
1134
+ superTypes: [Expr.$type]
1135
+ },
1136
+ ReturnStmt: {
1137
+ name: ReturnStmt.$type,
1138
+ properties: {
1139
+ value: {
1140
+ name: ReturnStmt.value,
1141
+ optional: true
1142
+ }
1143
+ },
1144
+ superTypes: [Statement.$type]
1145
+ },
1146
+ Select: {
1147
+ name: Select.$type,
1148
+ properties: {
1149
+ condition: {
1150
+ name: Select.condition
1151
+ },
1152
+ no: {
1153
+ name: Select.no
1154
+ },
1155
+ yes: {
1156
+ name: Select.yes
1157
+ }
1158
+ },
1159
+ superTypes: [Expr.$type]
1160
+ },
1161
+ SourcePath: {
1162
+ name: SourcePath.$type,
1163
+ properties: {
1164
+ parts: {
1165
+ name: SourcePath.parts,
1166
+ defaultValue: []
1167
+ }
1168
+ },
1169
+ superTypes: []
1170
+ },
1171
+ StateDecl: {
1172
+ name: StateDecl.$type,
1173
+ properties: {
1174
+ name: {
1175
+ name: StateDecl.name
1176
+ },
1177
+ type: {
1178
+ name: StateDecl.type
1179
+ },
1180
+ value: {
1181
+ name: StateDecl.value
1182
+ }
1183
+ },
1184
+ superTypes: [Member.$type]
1185
+ },
1186
+ Statement: {
1187
+ name: Statement.$type,
1188
+ properties: {},
1189
+ superTypes: []
1190
+ },
1191
+ StringLiteral: {
1192
+ name: StringLiteral.$type,
1193
+ properties: {
1194
+ value: {
1195
+ name: StringLiteral.value
1196
+ }
1197
+ },
1198
+ superTypes: [Expr.$type]
1199
+ },
1200
+ Unary: {
1201
+ name: Unary.$type,
1202
+ properties: {
1203
+ op: {
1204
+ name: Unary.op
1205
+ },
1206
+ value: {
1207
+ name: Unary.value
1208
+ }
1209
+ },
1210
+ superTypes: [Expr.$type]
1211
+ },
1212
+ ValueType: {
1213
+ name: ValueType.$type,
1214
+ properties: {
1215
+ name: {
1216
+ name: ValueType.name
1217
+ },
1218
+ optional: {
1219
+ name: ValueType.optional,
1220
+ defaultValue: false,
1221
+ optional: true
1222
+ }
1223
+ },
1224
+ superTypes: []
1225
+ },
1226
+ WhileStmt: {
1227
+ name: WhileStmt.$type,
1228
+ properties: {
1229
+ body: {
1230
+ name: WhileStmt.body
1231
+ },
1232
+ condition: {
1233
+ name: WhileStmt.condition
1234
+ }
1235
+ },
1236
+ superTypes: [Statement.$type]
1237
+ }
1238
+ };
1239
+ }
1240
+ export const reflection = new DDLAstReflection();
1241
+ //# sourceMappingURL=ast.js.map