File tree 2 files changed +34
-2
lines changed
2 files changed +34
-2
lines changed Original file line number Diff line number Diff line change 4
4
5
5
// CHANGES:
6
6
//
7
+ // v0.44 Support null- aware elements.
8
+ //
7
9
// v0.43 Change rule structure such that the association of metadata
8
10
// with non- terminals can be explained in a simple and consistent way.
9
11
// The derivable terms do not change. Remove `metadata` from the kind
@@ -732,13 +734,24 @@ elements
732
734
;
733
735
734
736
element
735
- : expressionElement
737
+ : nullAwareExpressionElement
738
+ | nullAwareMapElement
739
+ | expressionElement
736
740
| mapElement
737
741
| spreadElement
738
742
| ifElement
739
743
| forElement
740
744
;
741
745
746
+ nullAwareExpressionElement
747
+ : '?' expression
748
+ ;
749
+
750
+ nullAwareMapElement
751
+ : '?' expression ':' '?'? expression
752
+ | expression ':' '?' expression
753
+ ;
754
+
742
755
expressionElement
743
756
: expression
744
757
;
Original file line number Diff line number Diff line change 10
10
// of `forLoopParts` where the iteration variable is an existing variable
11
11
// in scope (this is not implemented, is inconsistent anyway).
12
12
//
13
+ // v0.45 Support null-aware elements.
14
+ //
15
+ // v0.44 Change rule structure such that the association of metadata
16
+ // with non-terminals can be explained in a simple and consistent way.
17
+ // The derivable terms do not change. Remove `metadata` from the kind
18
+ // of `forLoopParts` where the iteration variable is an existing variable
19
+ // in scope (this is not implemented, is inconsistent anyway).
20
+ //
13
21
// v0.43 Support updated augmented `extensionDeclaration`.
14
22
//
15
23
// v0.42 Add missing `enumEntry` update for augmentations.
@@ -738,13 +746,24 @@ elements
738
746
;
739
747
740
748
element
741
- : expressionElement
749
+ : nullAwareExpressionElement
750
+ | nullAwareMapElement
751
+ | expressionElement
742
752
| mapElement
743
753
| spreadElement
744
754
| ifElement
745
755
| forElement
746
756
;
747
757
758
+ nullAwareExpressionElement
759
+ : ' ?' expression
760
+ ;
761
+
762
+ nullAwareMapElement
763
+ : ' ?' expression ' :' ' ?' ? expression
764
+ | expression ' :' ' ?' expression
765
+ ;
766
+
748
767
expressionElement
749
768
: expression
750
769
;
You can’t perform that action at this time.
0 commit comments