Chromium Code Reviews| Index: pkg/analyzer/lib/src/generated/error_verifier.dart |
| diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart |
| index d644fcdcde55a0109c6066f2a8a71779e50be3f7..b1ea8a35854bae54093abd0996cce2ea1f71f244 100644 |
| --- a/pkg/analyzer/lib/src/generated/error_verifier.dart |
| +++ b/pkg/analyzer/lib/src/generated/error_verifier.dart |
| @@ -1288,24 +1288,23 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> { |
| if (notInitFinalFields.isNotEmpty) { |
| foundError = true; |
| AnalysisErrorWithProperties analysisError; |
| - if (notInitFinalFields.length == 1) { |
| + var names = notInitFinalFields.map((item) => item.name).toList(); |
|
Brian Wilkerson
2016/01/15 15:26:04
In non-test code, we type annotate everything.
skybrian
2016/01/15 22:48:06
Done.
|
| + names.sort(); |
| + if (names.length == 1) { |
| analysisError = _errorReporter.newErrorWithProperties( |
| StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_1, |
| constructor.returnType, |
| - [notInitFinalFields[0].name]); |
| + names); |
| } else if (notInitFinalFields.length == 2) { |
|
skybrian
2016/01/15 22:48:06
changed to names.length
|
| analysisError = _errorReporter.newErrorWithProperties( |
| StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_2, |
| constructor.returnType, |
| - [notInitFinalFields[0].name, notInitFinalFields[1].name]); |
| + names); |
| } else { |
| analysisError = _errorReporter.newErrorWithProperties( |
| StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS, |
| - constructor.returnType, [ |
| - notInitFinalFields[0].name, |
| - notInitFinalFields[1].name, |
| - notInitFinalFields.length - 2 |
| - ]); |
| + constructor.returnType, |
| + [names[0], names[1], names.length - 2]); |
| } |
| analysisError.setProperty( |
| ErrorProperty.NOT_INITIALIZED_FIELDS, notInitFinalFields); |