Change formal parameter syntax to require "=" (and not ":")
A named optional parameter could previously be equipped with a default
value using ':' or '=' (as in `void f({int i : 1})` or `... i = 1 ...`).
The language has now (Dart 3.0) been updated to eliminate the form
using ':' (it has been deprecated for a long time).
This CL updates the spec_parser accordingly.
Change-Id: I28f9ec605699a9ffb2f7349a6a4b698fa709247b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313482
Commit-Queue: Erik Ernst <eernst@google.com>
Auto-Submit: Erik Ernst <eernst@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
diff --git a/tools/spec_parser/Dart.g b/tools/spec_parser/Dart.g
index 248d74d..594dae4 100644
--- a/tools/spec_parser/Dart.g
+++ b/tools/spec_parser/Dart.g
@@ -4,6 +4,9 @@
// CHANGES:
//
+// v0.35 Change named optional parameter syntax to require '=', that is,
+// remove the support for ':' as in `void f({int i: 1})`.
+//
// v0.34 Add support for inline classes.
//
// v0.33 This commit does not change the derived language at all. It just
@@ -371,7 +374,7 @@
;
defaultNamedParameter
- : REQUIRED? normalFormalParameter ((':' | '=') expression)?
+ : REQUIRED? normalFormalParameter ('=' expression)?
;
typeWithParameters