Chromium Code Reviews| 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 46f5d463236404f4c76d082cba8bb7f45ba55937..42ed2219a0320a0e45df81d4b0a5b8d30e236755 100644 |
| --- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
| +++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
| @@ -352,14 +352,21 @@ class OutlineBuilder extends UnhandledListener { |
| @override |
| void endFormalParameters(int count, Token beginToken, Token endToken) { |
| debugEvent("FormalParameters"); |
| + // TODO(sigmund, ahe): to make strong clean we can either cast every value |
| + // below, or split this list in 2, and simply ensure that we always have a |
| + // list for optional arguments (empty or null there are none): |
| + // List<FormalParameterBuilder> optionalFormals = pop(); |
| + // List<FormalParameterBuilder> requiredFormals = popList(count); |
| List formals = popList(count); |
| if (formals != null && formals.isNotEmpty) { |
| var last = formals.last; |
| if (last is List) { |
| + List<FormalParameterBuilder> l = last; |
|
Siggi Cherem (dart-lang)
2017/02/02 04:26:58
I don't want to submit this, this was just a test
|
| + List<FormalParameterBuilder> f = formals.sublist(0, formals.length - 1); |
| var newList = |
| new List<FormalParameterBuilder>(formals.length - 1 + last.length); |
| - newList.setRange(0, formals.length - 1, formals); |
| - newList.setRange(formals.length - 1, newList.length, last); |
| + newList.setRange(0, formals.length - 1, f); |
| + newList.setRange(formals.length - 1, newList.length, l); |
| for (int i = 0; i < last.length; i++) { |
| newList[i + formals.length - 1] = last[i]; |
| } |