Index: pkg/front_end/lib/src/fasta/source/outline_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
index c51e7d9a9a27f3021c86178497314c939c8de882..66dbf6cde345d19e52d9607952886b1cf03ac6c7 100644 |
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
@@ -394,7 +394,10 @@ class OutlineBuilder extends UnhandledListener { |
if (formals != null && formals.isNotEmpty) { |
var last = formals.last; |
if (last is List) { |
- var newList = |
+ // TODO(sigmund): change `List newList` back to `var` (this is a |
+ // workaround for issue #28651). Eventually, make optional |
+ // formals a separate stack entry (#28673). |
+ List newList = |
new List<FormalParameterBuilder>(formals.length - 1 + last.length); |
newList.setRange(0, formals.length - 1, formals); |
newList.setRange(formals.length - 1, newList.length, last); |