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

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

Issue 2753123003: Add quick-fix to convert child: to children: (Closed)
Patch Set: Created 3 years, 9 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
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 34bd735d4b6a7a18ef51dee8bde2cda43cebcf6c..e4f8864da02364293a3f1ab6a9b12ff0a591b5ef 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -15,10 +15,12 @@ import 'package:analysis_server/plugin/protocol/protocol.dart'
import 'package:analysis_server/src/protocol_server.dart'
show doSourceChange_addElementEdit, doSourceChange_addSourceEdit;
import 'package:analysis_server/src/services/correction/fix.dart';
+import 'package:analysis_server/src/services/correction/flutter_util.dart';
import 'package:analysis_server/src/services/correction/levenshtein.dart';
import 'package:analysis_server/src/services/correction/name_suggestion.dart';
import 'package:analysis_server/src/services/correction/namespace.dart';
import 'package:analysis_server/src/services/correction/source_buffer.dart';
+import 'package:analysis_server/src/services/correction/source_range.dart';
import 'package:analysis_server/src/services/correction/source_range.dart'
as rf;
import 'package:analysis_server/src/services/correction/strings.dart';
@@ -369,6 +371,11 @@ class FixProcessor {
_addFix_undefinedClassAccessor_useSimilar();
_addFix_createField();
}
+ if (errorCode == CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER ||
+ errorCode == StaticWarningCode.UNDEFINED_NAMED_PARAMETER) {
+ _addFix_convertFlutterChild();
+ _addFix_convertFlutterChildren();
+ }
// lints
if (errorCode is LintCode) {
if (errorCode.name == LintNames.annotate_overrides) {
@@ -651,6 +658,43 @@ class FixProcessor {
}
}
+ void _addFix_convertFlutterChild() {
+ NamedExpression namedExp = findFlutterNamedExpression(node, 'child');
+ if (namedExp == null) {
+ return;
+ }
+ InstanceCreationExpression childArg = getChildWidget(namedExp, false);
+ if (childArg != null) {
+ convertFlutterChildToChildren(
+ childArg,
+ namedExp,
+ eol,
+ utils.getNodeText,
+ utils.getLinePrefix,
+ utils.getIndent,
+ utils.getText,
+ _addInsertEdit,
+ _addRemoveEdit,
+ _addReplaceEdit,
+ rangeStartLength,
+ rangeNode);
+ _addFix(DartFixKind.CONVERT_FLUTTER_CHILD, []);
+ return;
+ }
+ ListLiteral listArg = getChildList(namedExp);
+ if (listArg != null) {
+ _addInsertEdit(namedExp.offset + 'child'.length, 'ren');
+ if (listArg.typeArguments == null) {
+ _addInsertEdit(listArg.offset, '<Widget>');
+ }
+ _addFix(DartFixKind.CONVERT_FLUTTER_CHILD, []);
+ }
+ }
+
+ void _addFix_convertFlutterChildren() {
+ // TODO(messick) Implement _addFix_convertFlutterChildren()
+ }
+
void _addFix_createClass() {
Element prefixElement = null;
String name = null;

Powered by Google App Engine
This is Rietveld 408576698