Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(518)

Unified Diff: pkg/analysis_server/lib/src/services/correction/fix_internal.dart

Issue 2618923003: Update 'Add final field formal parameters' Quick Fix to support the new analysis driver. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/test/services/correction/fix_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/services/correction/fix_internal.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index ac72ef93e282f50b7699a554827cd534b11cd5e0..e5c3015fc498eb2f48e12dbc4ad3a9d96623b7a6 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -2167,33 +2167,31 @@ class FixProcessor {
ConstructorDeclaration constructor = node.parent;
// add these fields
List<FieldElement> fields =
- error.getProperty(ErrorProperty.NOT_INITIALIZED_FIELDS);
- if (fields != null) {
- // prepare new parameters code
- fields.sort((a, b) => a.nameOffset - b.nameOffset);
- String fieldParametersCode =
- fields.map((field) => 'this.${field.name}').join(', ');
- // prepare the last required parameter
- FormalParameter lastRequiredParameter;
- List<FormalParameter> parameters = constructor.parameters.parameters;
- for (FormalParameter parameter in parameters) {
- if (parameter.kind == ParameterKind.REQUIRED) {
- lastRequiredParameter = parameter;
- }
- }
- // append new field formal initializers
- if (lastRequiredParameter != null) {
- _addInsertEdit(lastRequiredParameter.end, ', $fieldParametersCode');
- } else {
- int offset = constructor.parameters.leftParenthesis.end;
- if (parameters.isNotEmpty) {
- fieldParametersCode += ', ';
- }
- _addInsertEdit(offset, fieldParametersCode);
+ ErrorVerifier.computeNotInitializedFields(constructor);
+ // prepare new parameters code
+ fields.sort((a, b) => a.nameOffset - b.nameOffset);
+ String fieldParametersCode =
+ fields.map((field) => 'this.${field.name}').join(', ');
+ // prepare the last required parameter
+ FormalParameter lastRequiredParameter;
+ List<FormalParameter> parameters = constructor.parameters.parameters;
+ for (FormalParameter parameter in parameters) {
+ if (parameter.kind == ParameterKind.REQUIRED) {
+ lastRequiredParameter = parameter;
+ }
+ }
+ // append new field formal initializers
+ if (lastRequiredParameter != null) {
+ _addInsertEdit(lastRequiredParameter.end, ', $fieldParametersCode');
+ } else {
+ int offset = constructor.parameters.leftParenthesis.end;
+ if (parameters.isNotEmpty) {
+ fieldParametersCode += ', ';
}
- // add proposal
- _addFix(DartFixKind.ADD_FIELD_FORMAL_PARAMETERS, []);
+ _addInsertEdit(offset, fieldParametersCode);
}
+ // add proposal
+ _addFix(DartFixKind.ADD_FIELD_FORMAL_PARAMETERS, []);
}
void _addFix_useEffectiveIntegerDivision() {
« no previous file with comments | « no previous file | pkg/analysis_server/test/services/correction/fix_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698