@mirascript/constants 0.1.44 → 0.1.45
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.
- package/dist/constants.g.d.ts +154 -145
- package/dist/constants.g.d.ts.map +1 -1
- package/dist/constants.g.js +251 -240
- package/dist/constants.g.js.map +1 -1
- package/package.json +2 -2
- package/src/constants.g.ts +251 -240
package/src/constants.g.ts
CHANGED
|
@@ -53,41 +53,43 @@ export enum DiagnosticCode {
|
|
|
53
53
|
MissingBindOperator = 1033,
|
|
54
54
|
InvalidConstantName = 1034,
|
|
55
55
|
MissingFunctionName = 1035,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
56
|
+
MissingModuleName = 1036,
|
|
57
|
+
MissingOpenParenAfterExtension = 1037,
|
|
58
|
+
MissingOpenParenAfterType = 1038,
|
|
59
|
+
InvalidTypeCall = 1039,
|
|
60
|
+
RecordLiteralInExtensionCaller = 1040,
|
|
61
|
+
MissingCase = 1041,
|
|
62
|
+
UnknownExpression = 1042,
|
|
63
|
+
UnmatchedCloseBrace = 1043,
|
|
64
|
+
UnmatchedCloseBracket = 1044,
|
|
65
|
+
UnmatchedCloseParen = 1045,
|
|
66
|
+
UnknownPattern = 1046,
|
|
67
|
+
InvalidConstantLiteral = 1047,
|
|
68
|
+
UnknownStatement = 1048,
|
|
69
|
+
ExpressionExpected = 1049,
|
|
70
|
+
PatternExpected = 1050,
|
|
71
|
+
ExclamationInLiteralPattern = 1051,
|
|
72
|
+
MutInRebindPattern = 1052,
|
|
73
|
+
ConstantInBindPattern = 1053,
|
|
74
|
+
MutInDiscardPattern = 1054,
|
|
75
|
+
DiscardInSpreadPattern = 1055,
|
|
76
|
+
SpreadDiscardInRecordPattern = 1056,
|
|
77
|
+
MispositionedSpreadInRecordPattern = 1057,
|
|
78
|
+
InterpolatedNameRecordPattern = 1058,
|
|
79
|
+
BadOmitKeyRecordPattern = 1059,
|
|
80
|
+
AmbiguousRangePattern = 1060,
|
|
81
|
+
DuplicateSpreadPattern = 1061,
|
|
82
|
+
MispositionedRestParameter = 1062,
|
|
83
|
+
UndefinedVariableAssignment = 1063,
|
|
84
|
+
ImmutableVariableAssignment = 1064,
|
|
85
|
+
UninitializedVariable = 1065,
|
|
86
|
+
DuplicateVariableDeclaration = 1066,
|
|
87
|
+
UnexpectedBreak = 1067,
|
|
88
|
+
UnexpectedContinue = 1068,
|
|
89
|
+
MisuseOfGlobalKeyword = 1069,
|
|
90
|
+
BadOmitKeyRecordExpression = 1070,
|
|
91
|
+
UnassignableExpression = 1071,
|
|
92
|
+
UnexpectedPub = 1072,
|
|
91
93
|
ErrorEnd = 1999,
|
|
92
94
|
WarningStart = 2000,
|
|
93
95
|
MisleadingNilVariable = 2001,
|
|
@@ -127,72 +129,74 @@ export enum DiagnosticCode {
|
|
|
127
129
|
LocalImmutable = 10002,
|
|
128
130
|
LocalMutable = 10003,
|
|
129
131
|
LocalFunction = 10004,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
132
|
+
LocalModule = 10005,
|
|
133
|
+
ParameterIt = 10006,
|
|
134
|
+
ParameterImmutable = 10007,
|
|
135
|
+
ParameterMutable = 10008,
|
|
136
|
+
ParameterImmutableRest = 10009,
|
|
137
|
+
ParameterMutableRest = 10010,
|
|
138
|
+
ParameterPattern = 10011,
|
|
139
|
+
ParameterRestPattern = 10012,
|
|
140
|
+
ParameterSubPatternImmutable = 10013,
|
|
141
|
+
ParameterSubPatternMutable = 10014,
|
|
142
|
+
GlobalVariable = 10015,
|
|
143
|
+
GlobalDynamicAccess = 10016,
|
|
144
|
+
RecordFieldIdName = 10017,
|
|
145
|
+
RecordFieldOrdinalName = 10018,
|
|
146
|
+
RecordFieldStringName = 10019,
|
|
147
|
+
UnnamedRecordField0 = 10020,
|
|
148
|
+
UnnamedRecordField1 = 10021,
|
|
149
|
+
UnnamedRecordField2 = 10022,
|
|
150
|
+
UnnamedRecordField3 = 10023,
|
|
151
|
+
UnnamedRecordField4 = 10024,
|
|
152
|
+
UnnamedRecordField5 = 10025,
|
|
153
|
+
UnnamedRecordField6 = 10026,
|
|
154
|
+
UnnamedRecordField7 = 10027,
|
|
155
|
+
UnnamedRecordField8 = 10028,
|
|
156
|
+
UnnamedRecordField9 = 10029,
|
|
157
|
+
UnnamedRecordFieldN = 10030,
|
|
158
|
+
OmitNamedRecordField = 10031,
|
|
159
|
+
FunctionCall = 10032,
|
|
160
|
+
ExtensionCall = 10033,
|
|
161
|
+
Scope = 10034,
|
|
162
|
+
String = 10035,
|
|
163
|
+
Interpolation = 10036,
|
|
164
|
+
ForExpression = 10037,
|
|
165
|
+
WhileExpression = 10038,
|
|
166
|
+
LoopExpression = 10039,
|
|
167
|
+
FnDeclaration = 10040,
|
|
168
|
+
FnExpression = 10041,
|
|
169
|
+
IfExpression = 10042,
|
|
170
|
+
MatchExpression = 10043,
|
|
168
171
|
TagEnd = 10999,
|
|
169
172
|
TagRefStart = 11000,
|
|
170
173
|
ReadLocal = 11001,
|
|
171
174
|
ReadWriteLocal = 11002,
|
|
172
175
|
WriteLocal = 11003,
|
|
173
176
|
RedeclareLocal = 11004,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
177
|
+
ExportedLocal = 11005,
|
|
178
|
+
Callable = 11006,
|
|
179
|
+
ArgumentExtension = 11007,
|
|
180
|
+
ArgumentStart = 11008,
|
|
181
|
+
ArgumentEnd = 11009,
|
|
182
|
+
ArgumentComma = 11010,
|
|
183
|
+
ArgumentSpread = 11011,
|
|
184
|
+
KeywordFor = 11012,
|
|
185
|
+
KeywordIn = 11013,
|
|
186
|
+
KeywordWhile = 11014,
|
|
187
|
+
KeywordLoop = 11015,
|
|
188
|
+
KeywordBreak = 11016,
|
|
189
|
+
KeywordContinue = 11017,
|
|
190
|
+
KeywordIf = 11018,
|
|
191
|
+
KeywordElse = 11019,
|
|
192
|
+
KeywordMatch = 11020,
|
|
193
|
+
KeywordCase = 11021,
|
|
194
|
+
KeywordFn = 11022,
|
|
195
|
+
KeywordReturn = 11023,
|
|
192
196
|
/**
|
|
193
197
|
* Work with [DiagnosticCode::OmitNamedRecordField]
|
|
194
198
|
*/
|
|
195
|
-
OmitNamedRecordFieldName =
|
|
199
|
+
OmitNamedRecordFieldName = 11024,
|
|
196
200
|
TagRefEnd = 11999,
|
|
197
201
|
SourceMap = 12000,
|
|
198
202
|
}
|
|
@@ -464,369 +468,376 @@ export enum OpCode {
|
|
|
464
468
|
* %ret = (
|
|
465
469
|
*/
|
|
466
470
|
Record = 46,
|
|
471
|
+
/**
|
|
472
|
+
* MODULE %ret `name`\
|
|
473
|
+
* %ret = mod CONSTANTS\[name] {
|
|
474
|
+
*/
|
|
475
|
+
Module = 47,
|
|
467
476
|
/**
|
|
468
477
|
* FIELD `name` %field\
|
|
469
478
|
* \[CONSTANTS\[name]]: %field,
|
|
470
479
|
*/
|
|
471
|
-
Field =
|
|
480
|
+
Field = 48,
|
|
472
481
|
/**
|
|
473
482
|
* FIELD_DYN %name %field\
|
|
474
483
|
* \[%name]: %field,
|
|
475
484
|
*/
|
|
476
|
-
FieldDyn =
|
|
485
|
+
FieldDyn = 49,
|
|
477
486
|
/**
|
|
478
487
|
* FIELD_INDEX `index` %field\
|
|
479
488
|
* \[index]: %field,
|
|
480
489
|
*/
|
|
481
|
-
FieldIndex =
|
|
490
|
+
FieldIndex = 50,
|
|
482
491
|
/**
|
|
483
492
|
* FIELD_OPT `name` %field\
|
|
484
493
|
* \[CONSTANTS\[name]]?: %field,
|
|
485
494
|
*/
|
|
486
|
-
FieldOpt =
|
|
495
|
+
FieldOpt = 51,
|
|
487
496
|
/**
|
|
488
497
|
* FIELD_OPT_DYN %name %field\
|
|
489
498
|
* \[%name]?: %field,
|
|
490
499
|
*/
|
|
491
|
-
FieldOptDyn =
|
|
500
|
+
FieldOptDyn = 52,
|
|
492
501
|
/**
|
|
493
502
|
* FIELD_OPT_INDEX `index` %field\
|
|
494
503
|
* \[index]?: %field,
|
|
495
504
|
*/
|
|
496
|
-
FieldOptIndex =
|
|
505
|
+
FieldOptIndex = 53,
|
|
497
506
|
/**
|
|
498
507
|
* PICK %ret %var `n` `key_1` `key_2` ... `key_n`\
|
|
499
508
|
* %ret = %var pick keys CONSTANTS\[key_1], CONSTANTS\[key_2], ..., CONSTANTS\[key_n]
|
|
500
509
|
*/
|
|
501
|
-
Pick =
|
|
510
|
+
Pick = 54,
|
|
502
511
|
/**
|
|
503
512
|
* OMIT %ret %var `n` `key_1` `key_2` ... `key_n`\
|
|
504
513
|
* %ret = %var omit keys CONSTANTS\[key_1], CONSTANTS\[key_2], ..., CONSTANTS\[key_n]
|
|
505
514
|
*/
|
|
506
|
-
Omit =
|
|
515
|
+
Omit = 55,
|
|
507
516
|
/**
|
|
508
517
|
* ARRAY %ret\
|
|
509
518
|
* %ret = \[
|
|
510
519
|
*/
|
|
511
|
-
Array =
|
|
520
|
+
Array = 56,
|
|
512
521
|
/**
|
|
513
522
|
* ITEM %item\
|
|
514
523
|
* %item,
|
|
515
524
|
*/
|
|
516
|
-
Item =
|
|
525
|
+
Item = 57,
|
|
517
526
|
/**
|
|
518
527
|
* ITEM_RANGE `start` `end`\
|
|
519
528
|
* `start`..`end`,
|
|
520
529
|
*/
|
|
521
|
-
ItemRange =
|
|
530
|
+
ItemRange = 58,
|
|
522
531
|
/**
|
|
523
532
|
* ITEM_RANGE_DYN %start %end\
|
|
524
533
|
* %start..%end,
|
|
525
534
|
*/
|
|
526
|
-
ItemRangeDyn =
|
|
535
|
+
ItemRangeDyn = 59,
|
|
527
536
|
/**
|
|
528
537
|
* ITEM_RANGE_EXCLUSIVE_DYN %start %end\
|
|
529
538
|
* %start..<%end,
|
|
530
539
|
*/
|
|
531
|
-
ItemRangeExclusiveDyn =
|
|
540
|
+
ItemRangeExclusiveDyn = 60,
|
|
532
541
|
/**
|
|
533
542
|
* SPREAD %var\
|
|
534
543
|
* ..%var,
|
|
535
544
|
*/
|
|
536
|
-
Spread =
|
|
545
|
+
Spread = 61,
|
|
537
546
|
/**
|
|
538
547
|
* FREEZE\
|
|
539
548
|
* ) for record or ] for array
|
|
540
549
|
*/
|
|
541
|
-
Freeze =
|
|
550
|
+
Freeze = 62,
|
|
542
551
|
/**
|
|
543
552
|
* HAS %ret %var `key`\
|
|
544
553
|
* %ret = initialized(%var\[CONSTANTS\[key]])
|
|
545
554
|
*/
|
|
546
|
-
Has =
|
|
555
|
+
Has = 63,
|
|
547
556
|
/**
|
|
548
557
|
* HAS_DYN %ret %var %key\
|
|
549
558
|
* %ret = initialized(%var\[%key])
|
|
550
559
|
*/
|
|
551
|
-
HasDyn =
|
|
560
|
+
HasDyn = 64,
|
|
552
561
|
/**
|
|
553
562
|
* HAS_INDEX %ret %var `index`\
|
|
554
563
|
* %ret = initialized(%var\[index])
|
|
555
564
|
*/
|
|
556
|
-
HasIndex =
|
|
565
|
+
HasIndex = 65,
|
|
557
566
|
/**
|
|
558
567
|
* GET %ret %var `key`\
|
|
559
568
|
* %ret = %var\[CONSTANTS\[key]] ?? nil
|
|
560
569
|
*/
|
|
561
|
-
Get =
|
|
570
|
+
Get = 66,
|
|
562
571
|
/**
|
|
563
572
|
* GET_DYN %ret %var %key\
|
|
564
573
|
* %ret = %var\[%key] ?? nil
|
|
565
574
|
*/
|
|
566
|
-
GetDyn =
|
|
575
|
+
GetDyn = 67,
|
|
567
576
|
/**
|
|
568
577
|
* GET_INDEX %ret %var `index`\
|
|
569
578
|
* %ret = %var\[index] ?? nil
|
|
570
579
|
*/
|
|
571
|
-
GetIndex =
|
|
580
|
+
GetIndex = 68,
|
|
572
581
|
/**
|
|
573
582
|
* SET %value %var `key`\
|
|
574
583
|
* %var\[CONSTANTS\[key]] = %value
|
|
575
584
|
*/
|
|
576
|
-
Set =
|
|
585
|
+
Set = 69,
|
|
577
586
|
/**
|
|
578
587
|
* SET_DYN %value %var %key\
|
|
579
588
|
* %var\[%key] = %value
|
|
580
589
|
*/
|
|
581
|
-
SetDyn =
|
|
590
|
+
SetDyn = 70,
|
|
582
591
|
/**
|
|
583
592
|
* SET_INDEX %value %var `index`\
|
|
584
593
|
* %var\[index] = %value
|
|
585
594
|
*/
|
|
586
|
-
SetIndex =
|
|
595
|
+
SetIndex = 71,
|
|
587
596
|
/**
|
|
588
597
|
* SLICE %ret %var `start` `end`\
|
|
589
598
|
* %ret = %var\[start..end]
|
|
590
599
|
*/
|
|
591
|
-
Slice =
|
|
600
|
+
Slice = 72,
|
|
592
601
|
/**
|
|
593
602
|
* SLICE_START %ret %var `end`\
|
|
594
603
|
* %ret = %var\[..end]
|
|
595
604
|
*/
|
|
596
|
-
SliceStart =
|
|
605
|
+
SliceStart = 73,
|
|
597
606
|
/**
|
|
598
607
|
* SLICE_END %ret %var `start`\
|
|
599
608
|
* %ret = %var\[start..]
|
|
600
609
|
*/
|
|
601
|
-
SliceEnd =
|
|
610
|
+
SliceEnd = 74,
|
|
602
611
|
/**
|
|
603
612
|
* SLICE_DYN %ret %var %start %end\
|
|
604
613
|
* %ret = %var\[%start..%end]
|
|
605
614
|
*/
|
|
606
|
-
SliceDyn =
|
|
615
|
+
SliceDyn = 75,
|
|
607
616
|
/**
|
|
608
617
|
* SLICE_EXCLUSIVE_DYN %ret %var %start %end\
|
|
609
618
|
* %ret = %var\[%start..<%end]
|
|
610
619
|
*/
|
|
611
|
-
SliceExclusiveDyn =
|
|
620
|
+
SliceExclusiveDyn = 76,
|
|
612
621
|
/**
|
|
613
622
|
* LENGTH %ret %var\
|
|
614
623
|
* %ret = $Length(%var)
|
|
615
624
|
*/
|
|
616
|
-
Length =
|
|
625
|
+
Length = 77,
|
|
617
626
|
/**
|
|
618
627
|
* LOOP `regn`\
|
|
619
628
|
* loop { let %1, .. ,%regn;
|
|
620
629
|
*/
|
|
621
|
-
Loop =
|
|
630
|
+
Loop = 78,
|
|
622
631
|
/**
|
|
623
632
|
* LOOP_FOR `regn` %iterable\
|
|
624
633
|
* for %1 in %iterable { let %2, .. ,%regn;
|
|
625
634
|
*/
|
|
626
|
-
LoopFor =
|
|
635
|
+
LoopFor = 79,
|
|
627
636
|
/**
|
|
628
637
|
* LOOP_RANGE `regn` %start %end\
|
|
629
638
|
* for %1 in %start..%end { let %2, .. ,%regn;
|
|
630
639
|
*/
|
|
631
|
-
LoopRange =
|
|
640
|
+
LoopRange = 80,
|
|
632
641
|
/**
|
|
633
642
|
* LOOP_RANGE_EXCLUSIVE `regn` %start %end\
|
|
634
643
|
* for %1 in %start..<%end { let %2, .. ,%regn;
|
|
635
644
|
*/
|
|
636
|
-
LoopRangeExclusive =
|
|
645
|
+
LoopRangeExclusive = 81,
|
|
637
646
|
/**
|
|
638
647
|
* LOOP_END\
|
|
639
648
|
* }
|
|
640
649
|
*/
|
|
641
|
-
LoopEnd =
|
|
650
|
+
LoopEnd = 82,
|
|
642
651
|
/**
|
|
643
652
|
* BREAK\
|
|
644
653
|
* break;
|
|
645
654
|
*/
|
|
646
|
-
Break =
|
|
655
|
+
Break = 83,
|
|
647
656
|
/**
|
|
648
657
|
* CONTINUE\
|
|
649
658
|
* continue;
|
|
650
659
|
*/
|
|
651
|
-
Continue =
|
|
660
|
+
Continue = 84,
|
|
652
661
|
/**
|
|
653
662
|
* IF %cond\
|
|
654
663
|
* if (%cond) {
|
|
655
664
|
*/
|
|
656
|
-
If =
|
|
665
|
+
If = 85,
|
|
657
666
|
/**
|
|
658
667
|
* IF_NOT %cond\
|
|
659
668
|
* if (!%cond) {
|
|
660
669
|
*/
|
|
661
|
-
IfNot =
|
|
670
|
+
IfNot = 86,
|
|
662
671
|
/**
|
|
663
672
|
* IF_INIT %var\
|
|
664
673
|
* if (initialized(%var)) {
|
|
665
674
|
*/
|
|
666
|
-
IfInit =
|
|
675
|
+
IfInit = 87,
|
|
667
676
|
/**
|
|
668
677
|
* IF_NOT_INIT %var\
|
|
669
678
|
* if (!initialized(%var)) {
|
|
670
679
|
*/
|
|
671
|
-
IfNotInit =
|
|
680
|
+
IfNotInit = 88,
|
|
672
681
|
/**
|
|
673
682
|
* IF_NIL %var\
|
|
674
683
|
* if (%var == nil) {
|
|
675
684
|
*/
|
|
676
|
-
IfNil =
|
|
685
|
+
IfNil = 89,
|
|
677
686
|
/**
|
|
678
687
|
* IF_NOT_NIL %var\
|
|
679
688
|
* if (%var != nil) {
|
|
680
689
|
*/
|
|
681
|
-
IfNotNil =
|
|
690
|
+
IfNotNil = 90,
|
|
682
691
|
/**
|
|
683
692
|
* ELSE\
|
|
684
693
|
* } else {
|
|
685
694
|
*/
|
|
686
|
-
Else =
|
|
695
|
+
Else = 91,
|
|
687
696
|
/**
|
|
688
697
|
* EL_IF IF*\
|
|
689
698
|
* } else if *** {\
|
|
690
699
|
* This instruction must be followed by an `IF*` instruction\
|
|
691
700
|
*/
|
|
692
|
-
ElIf =
|
|
701
|
+
ElIf = 92,
|
|
693
702
|
/**
|
|
694
703
|
* IF_END\
|
|
695
704
|
* }
|
|
696
705
|
*/
|
|
697
|
-
IfEnd =
|
|
706
|
+
IfEnd = 93,
|
|
698
707
|
/**
|
|
699
708
|
* FUNC %f `argn` `regn`\
|
|
700
709
|
* %f = (%1, %2, ... , %argn) => { let %argn+1, ... , %regn;
|
|
701
710
|
*/
|
|
702
|
-
Func =
|
|
711
|
+
Func = 94,
|
|
703
712
|
/**
|
|
704
713
|
* FUNC_VARG %f `argn` `regn`\
|
|
705
714
|
* %f = (%1, %2, ... , %argn-1, ...%argn) => { let %argn+1, ... , %regn;
|
|
706
715
|
*/
|
|
707
|
-
FuncVarg =
|
|
716
|
+
FuncVarg = 95,
|
|
708
717
|
/**
|
|
709
718
|
* FUNC_END\
|
|
710
719
|
* }
|
|
711
720
|
*/
|
|
712
|
-
FuncEnd =
|
|
721
|
+
FuncEnd = 96,
|
|
713
722
|
/**
|
|
714
723
|
* RETURN %value\
|
|
715
724
|
* return %value;
|
|
716
725
|
*/
|
|
717
|
-
Return =
|
|
726
|
+
Return = 97,
|
|
718
727
|
/**
|
|
719
728
|
* CALL %ret `f` `argn` %1 %2 ... %argn `spread_n` `spread_arg_a` ...\
|
|
720
729
|
* %ret = GLOBAL[CONSTANTS[f]](%1, %2, ... , %argn);
|
|
721
730
|
*
|
|
722
731
|
* If spread_arg_a is present, arg at that index will be spread
|
|
723
732
|
*/
|
|
724
|
-
Call =
|
|
733
|
+
Call = 98,
|
|
725
734
|
/**
|
|
726
735
|
* CALL_DYN %ret %f `argn` %1 %2 ... %argn `spread_n` `spread_arg_a` ...\
|
|
727
736
|
* %ret = %f(%1, %2, ... , %argn);
|
|
728
737
|
*
|
|
729
738
|
* If spread_arg_a is present, arg at that index will be spread
|
|
730
739
|
*/
|
|
731
|
-
CallDyn =
|
|
740
|
+
CallDyn = 99,
|
|
732
741
|
}
|
|
733
742
|
/** Diagnostic messages for MiraScript compiler and tools. */
|
|
734
743
|
export const DIAGNOSTIC_MESSAGES: Readonly<Partial<Record<DiagnosticCode, string>>> = Object.freeze({
|
|
735
|
-
"1001": "
|
|
736
|
-
"1002": "
|
|
737
|
-
"1003": "
|
|
738
|
-
"1004": "
|
|
739
|
-
"1005": "
|
|
740
|
-
"1006": "
|
|
741
|
-
"1007": "
|
|
742
|
-
"1008": "
|
|
743
|
-
"1009": "`$0`
|
|
744
|
-
"1010": "`$0`
|
|
745
|
-
"1011": "
|
|
746
|
-
"1012": "
|
|
747
|
-
"1013": "
|
|
748
|
-
"1014": "
|
|
749
|
-
"1015": "
|
|
750
|
-
"1016": "
|
|
751
|
-
"1017": "
|
|
752
|
-
"1018": "
|
|
753
|
-
"1019": "
|
|
754
|
-
"1020": "
|
|
755
|
-
"1021": "
|
|
756
|
-
"1022": "
|
|
757
|
-
"1023": "
|
|
758
|
-
"1024": "
|
|
759
|
-
"1025": "
|
|
760
|
-
"1026": "
|
|
761
|
-
"1027": "
|
|
762
|
-
"1028": "
|
|
763
|
-
"1029": "
|
|
764
|
-
"1030": "
|
|
765
|
-
"1031": "
|
|
766
|
-
"1032": "
|
|
767
|
-
"1033": "
|
|
768
|
-
"1034": "
|
|
769
|
-
"1035": "
|
|
770
|
-
"1036": "
|
|
771
|
-
"1037": "
|
|
772
|
-
"1038": "`type`
|
|
773
|
-
"1039": "
|
|
774
|
-
"1040": "
|
|
775
|
-
"1041": "
|
|
776
|
-
"1042": "
|
|
777
|
-
"1043": "
|
|
778
|
-
"1044": "
|
|
779
|
-
"1045": "
|
|
780
|
-
"1046": "
|
|
781
|
-
"1047": "
|
|
782
|
-
"1048": "
|
|
783
|
-
"1049": "
|
|
784
|
-
"1050": "
|
|
785
|
-
"1051": "
|
|
786
|
-
"1052": "
|
|
787
|
-
"1053": "
|
|
788
|
-
"1054": "
|
|
789
|
-
"1055": "
|
|
790
|
-
"1056": "
|
|
791
|
-
"1057": "
|
|
792
|
-
"1058": "
|
|
793
|
-
"1059": "
|
|
794
|
-
"1060": "
|
|
795
|
-
"1061": "
|
|
796
|
-
"1062": "
|
|
797
|
-
"1063": "
|
|
798
|
-
"1064": "
|
|
799
|
-
"1065": "
|
|
800
|
-
"1066": "
|
|
801
|
-
"1067": "
|
|
802
|
-
"1068": "
|
|
803
|
-
"1069": "
|
|
804
|
-
"1070": "
|
|
805
|
-
"
|
|
806
|
-
"
|
|
807
|
-
"
|
|
808
|
-
"
|
|
809
|
-
"
|
|
810
|
-
"
|
|
811
|
-
"
|
|
812
|
-
"
|
|
813
|
-
"
|
|
814
|
-
"
|
|
815
|
-
"
|
|
816
|
-
"
|
|
817
|
-
"
|
|
818
|
-
"
|
|
819
|
-
"
|
|
820
|
-
"
|
|
821
|
-
"
|
|
822
|
-
"
|
|
823
|
-
"
|
|
824
|
-
"
|
|
825
|
-
"
|
|
826
|
-
"
|
|
827
|
-
"
|
|
828
|
-
"
|
|
829
|
-
"
|
|
744
|
+
"1001": "发生未知内部错误",
|
|
745
|
+
"1002": "发生未知词法错误",
|
|
746
|
+
"1003": "发生未知解析错误",
|
|
747
|
+
"1004": "发生未知生成错误",
|
|
748
|
+
"1005": "发生未知优化错误",
|
|
749
|
+
"1006": "该功能尚未实现",
|
|
750
|
+
"1007": "遇到未知的记号",
|
|
751
|
+
"1008": "发现意外的记号",
|
|
752
|
+
"1009": "`$0` 是保留关键字,不能用作标识符",
|
|
753
|
+
"1010": "`$0` 是关键字,不能用作标识符",
|
|
754
|
+
"1011": "数字字面量不能以下划线开头或结尾",
|
|
755
|
+
"1012": "无效的数字字面量",
|
|
756
|
+
"1013": "数字字面量过大",
|
|
757
|
+
"1014": "整数字面量过大",
|
|
758
|
+
"1015": "无效的序数字面量;请移除前导零和下划线,或改用 `[$0]`",
|
|
759
|
+
"1016": "字符串字面量未终止",
|
|
760
|
+
"1017": "字符串中的转义序列无效",
|
|
761
|
+
"1018": "十六进制转义序列的值不是有效的 ASCII 字符",
|
|
762
|
+
"1019": "Unicode 转义序列的值不是有效的 Unicode 码点",
|
|
763
|
+
"1020": "在 `..` 之后需要表达式",
|
|
764
|
+
"1021": "插值表达式未终止",
|
|
765
|
+
"1022": "无效的插值表达式",
|
|
766
|
+
"1023": "插值表达式为空",
|
|
767
|
+
"1024": "意外的 `_`;它是用于丢弃值的保留关键字",
|
|
768
|
+
"1025": "意外的 `global`;它是用于全局变量的保留关键字",
|
|
769
|
+
"1026": "列表中缺少 `,`",
|
|
770
|
+
"1027": "缺少 `]` 以关闭中括号",
|
|
771
|
+
"1028": "缺少 `{` 以打开花括号",
|
|
772
|
+
"1029": "缺少 `}` 以关闭花括号",
|
|
773
|
+
"1030": "缺少 `)` 以关闭括号",
|
|
774
|
+
"1031": "语句末尾缺少 `;`",
|
|
775
|
+
"1032": "条件表达式中缺少 `:`",
|
|
776
|
+
"1033": "在 bind 或 const 语句中需要 `=` 运算符",
|
|
777
|
+
"1034": "常量名必须以 `@` 开头",
|
|
778
|
+
"1035": "声明中缺少函数名",
|
|
779
|
+
"1036": "声明中缺少模块名",
|
|
780
|
+
"1037": "扩展调用必须以参数列表结尾;请在此处添加 `(`",
|
|
781
|
+
"1038": "`type` 是类函数关键字;请在此处添加 `(`",
|
|
782
|
+
"1039": "`type` 调用必须恰好有一个参数",
|
|
783
|
+
"1040": "意外的记录字面量;此处需要分组表达式",
|
|
784
|
+
"1041": "语句中缺少 `case`",
|
|
785
|
+
"1042": "遇到未知的表达式",
|
|
786
|
+
"1043": "发现未匹配的 `}`",
|
|
787
|
+
"1044": "发现未匹配的 `]`",
|
|
788
|
+
"1045": "发现未匹配的 `)`",
|
|
789
|
+
"1046": "遇到未知的模式",
|
|
790
|
+
"1047": "此处只允许常量或字面量",
|
|
791
|
+
"1048": "遇到未知的语句",
|
|
792
|
+
"1049": "此处需要表达式",
|
|
793
|
+
"1050": "此处需要模式",
|
|
794
|
+
"1051": "字面量模式中不允许 `!` 运算符",
|
|
795
|
+
"1052": "重绑定时不允许使用 `mut`",
|
|
796
|
+
"1053": "名称以 `@` 开头的变量不允许被重绑定",
|
|
797
|
+
"1054": "弃元模式中不能使用 `mut`",
|
|
798
|
+
"1055": "展开模式中应省略丢弃弃元",
|
|
799
|
+
"1056": "记录模式中不允许展开弃元",
|
|
800
|
+
"1057": "记录模式中的展开模式应为最后一个字段",
|
|
801
|
+
"1058": "记录模式中不允许插值名称",
|
|
802
|
+
"1059": "省略记录字段名时需要绑定模式",
|
|
803
|
+
"1060": "数组模式中的范围模式应加括号",
|
|
804
|
+
"1061": "数组模式中展开模式只能使用一次",
|
|
805
|
+
"1062": "函数声明中剩余参数应为最后一个参数",
|
|
806
|
+
"1063": "不能对未声明的变量赋值",
|
|
807
|
+
"1064": "不能对不可变变量赋值...",
|
|
808
|
+
"1065": "变量无法在此之前访问...",
|
|
809
|
+
"1066": "该变量已...",
|
|
810
|
+
"1067": "在循环之外出现意外的 `break`",
|
|
811
|
+
"1068": "在循环之外出现意外的 `continue`",
|
|
812
|
+
"1069": "`global` 关键字只能用作 `global.<name>`、`global[<name>]` 或 `in` 运算符右侧",
|
|
813
|
+
"1070": "无法从表达式推断键名",
|
|
814
|
+
"1071": "只能对变量或字段访问赋值",
|
|
815
|
+
"1072": "在模块声明之外出现意外的 `pub`",
|
|
816
|
+
"2001": "`$0` 不是空值;显式使用全局变量 `global.$0` 或空值 `nil`",
|
|
817
|
+
"2002": "不可失败匹配中的该模式是多余的;请考虑移除它或改为在 `is` 表达式中使用",
|
|
818
|
+
"2003": "该 `match` 表达式没有分支;它永远不会匹配任何值",
|
|
819
|
+
"2004": "范围中不能使用非数字字面量",
|
|
820
|
+
"2005": "比较表达式中不能使用非数字或字符串字面量",
|
|
821
|
+
"2006": "算术表达式中不能使用非数字字面量",
|
|
822
|
+
"2007": "逻辑表达式中不能使用非布尔字面量",
|
|
823
|
+
"2008": "字面量不能作为函数调用",
|
|
824
|
+
"2009": "字面量不能作为记录或数组访问",
|
|
825
|
+
"2010": "全局变量 `$0` 未声明",
|
|
826
|
+
"4001": "局部变量未使用;请考虑删除它或使用 `_` 忽略",
|
|
827
|
+
"4002": "局部函数未使用;请考虑删除它",
|
|
828
|
+
"4003": "逻辑运算中更推荐使用 `&&` 而非 `and`",
|
|
829
|
+
"4004": "逻辑运算中更推荐使用 `||` 而非 `or`",
|
|
830
|
+
"4005": "逻辑运算中更推荐使用 `!` 而非 `not`",
|
|
831
|
+
"4006": "记录字面量声明中更推荐使用 `()` 而非 `{}`",
|
|
832
|
+
"4007": "更推荐使用 if 表达式而非条件表达式",
|
|
833
|
+
"4008": "考虑移除多余的括号",
|
|
834
|
+
"4009": "常量 $0 建议使用大写",
|
|
835
|
+
"5001": "...在此处声明",
|
|
836
|
+
"5002": "...在此处声明",
|
|
837
|
+
"5003": "...在此处作为参数声明",
|
|
838
|
+
"5004": "...在此处被该函数声明为自动参数 `it`",
|
|
839
|
+
"5005": "...在此处作为剩余参数声明",
|
|
840
|
+
"5006": "...在此处作为参数模式的子模式声明"
|
|
830
841
|
} as const);
|
|
831
842
|
/** MiraScript keywords */
|
|
832
843
|
export const KEYWORDS = Object.freeze(["true","false","nil","nan","inf","_","global","in","is","and","or","not","type","if","else","match","case","for","while","loop","break","continue","return","fn","op","let","const","mut","where","mod","pub","use","effect","try","handle","finally","perform","resume"] as const);
|
|
@@ -837,4 +848,4 @@ export const CONTROL_KEYWORDS = Object.freeze(["if","else","match","case","for",
|
|
|
837
848
|
/** MiraScript numeric keywords */
|
|
838
849
|
export const NUMERIC_KEYWORDS = Object.freeze(["nan","inf"] as const);
|
|
839
850
|
/** MiraScript reserved keywords */
|
|
840
|
-
export const RESERVED_KEYWORDS = Object.freeze(["op","where","
|
|
851
|
+
export const RESERVED_KEYWORDS = Object.freeze(["op","where","use","effect","try","handle","finally","perform","resume"] as const);
|