mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 22:59:47 +00:00
Update the wrap-in-padding fix to not add the keyword const when in a constant context
Change-Id: Icc9a8ed08b1294757df336d0d7169ac8b75c95c2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154287 Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
parent
444cb00610
commit
9bb4fb680e
|
@ -8,6 +8,7 @@ import 'package:analysis_server/src/services/correction/selection_analyzer.dart'
|
|||
import 'package:analyzer/dart/ast/ast.dart';
|
||||
import 'package:analyzer/dart/element/element.dart';
|
||||
import 'package:analyzer/source/source_range.dart';
|
||||
import 'package:analyzer/src/dart/ast/ast.dart';
|
||||
import 'package:analyzer_plugin/utilities/assist/assist.dart';
|
||||
import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
|
||||
import 'package:analyzer_plugin/utilities/range_factory.dart';
|
||||
|
@ -138,7 +139,11 @@ class _FlutterWrapPadding extends _WrapSingleWidget {
|
|||
AssistKind get assistKind => DartAssistKind.FLUTTER_WRAP_PADDING;
|
||||
|
||||
@override
|
||||
List<String> get _leadingLines => ['padding: const EdgeInsets.all(8.0),'];
|
||||
List<String> get _leadingLines {
|
||||
var keyword =
|
||||
(widgetExpr as ExpressionImpl).inConstantContext ? '' : ' const';
|
||||
return ['padding:$keyword EdgeInsets.all(8.0),'];
|
||||
}
|
||||
|
||||
@override
|
||||
String get _parentClassName => 'Padding';
|
||||
|
|
|
@ -57,4 +57,31 @@ class FakeFlutter {
|
|||
''');
|
||||
await assertNoAssist();
|
||||
}
|
||||
|
||||
Future<void> test_inConstantContext() async {
|
||||
addFlutterPackage();
|
||||
await resolveTestUnit('''
|
||||
import 'package:flutter/widgets.dart';
|
||||
class FakeFlutter {
|
||||
Widget build() {
|
||||
return const Center(
|
||||
child: /*caret*/Text('x'),
|
||||
);
|
||||
}
|
||||
}
|
||||
''');
|
||||
await assertHasAssist('''
|
||||
import 'package:flutter/widgets.dart';
|
||||
class FakeFlutter {
|
||||
Widget build() {
|
||||
return const Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: Text('x'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
''');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue