Format the new "required" modifier. (#847)

diff --git a/test/splitting/expressions.stmt b/test/splitting/expressions.stmt
index a5ff27b..01fd186 100644
--- a/test/splitting/expressions.stmt
+++ b/test/splitting/expressions.stmt
@@ -131,6 +131,12 @@
 identifier[longArgument][longArgument]
         [longArgument][longArgument]
     [longArgument];
+>>> null-aware indexes
+identifier?.[longArgument][longArgument]?.[longArgument][longArgument]?.[longArgument];
+<<<
+identifier?.[longArgument][longArgument]
+        ?.[longArgument][longArgument]
+    ?.[longArgument];
 >>> is
 verylongIdentifier.property is LongTypeName;
 <<<
diff --git a/test/splitting/invocations.stmt b/test/splitting/invocations.stmt
index 3ad0cd8..e034d46 100644
--- a/test/splitting/invocations.stmt
+++ b/test/splitting/invocations.stmt
@@ -425,4 +425,14 @@
   ;
 })!.b(() {
   ;
-})!;
\ No newline at end of file
+})!;
+>>> null-aware index
+receiver.property1.property2
+        .property3?.[0][1]?.[2]
+    .method1()?.[0][1]?.[2]
+    .method2();
+<<<
+receiver.property1.property2
+    .property3?.[0][1]?.[2]
+    .method1()?.[0][1]?.[2]
+    .method2();
\ No newline at end of file
diff --git a/test/whitespace/cascades.stmt b/test/whitespace/cascades.stmt
index 4fc7329..03377d2 100644
--- a/test/whitespace/cascades.stmt
+++ b/test/whitespace/cascades.stmt
@@ -142,4 +142,29 @@
   1,
 ]..cascade(() {
     ;
-  });
\ No newline at end of file
+  });
+>>> allow same-line cascades to mix null-aware
+list
+  ?..add("baz")
+  ..add("bar");
+<<<
+list?..add("baz")..add("bar");
+>>> mixed
+foo?..a()..b()..c();
+<<<
+foo
+  ?..a()
+  ..b()
+  ..c();
+>>> null-aware getter
+foo?..baz..baz;
+<<<
+foo
+  ?..baz
+  ..baz;
+>>> null-aware setter
+foo?..baz = 3..baz=5;
+<<<
+foo
+  ?..baz = 3
+  ..baz = 5;
\ No newline at end of file
diff --git a/test/whitespace/expressions.stmt b/test/whitespace/expressions.stmt
index c25a963..2514101 100644
--- a/test/whitespace/expressions.stmt
+++ b/test/whitespace/expressions.stmt
@@ -158,4 +158,8 @@
 >>> null assertion before index and call operators
 obj ! [ index ] ! ( call ) ! + 3;
 <<<
-obj![index]!(call)! + 3;
\ No newline at end of file
+obj![index]!(call)! + 3;
+>>> null-aware index expressions
+obj   ?.[  foo];
+<<<
+obj?.[foo];
\ No newline at end of file