From 65db6087263b66d1ace6e1bdc2c371bef960dfb1 Mon Sep 17 00:00:00 2001 From: Ahmed Ashour Date: Wed, 29 Sep 2021 17:01:50 +0000 Subject: [PATCH] `REMOVE_UNNECESSARY_CAST` to be in bulk. Fixes #47156 Change-Id: Id285c38b01124f8c404185a58c6b98bda87cefe1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212823 Reviewed-by: Brian Wilkerson Commit-Queue: Brian Wilkerson --- .../dart/remove_unnecessary_cast.dart | 2 +- .../fix/remove_unnecessary_cast_test.dart | 27 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_unnecessary_cast.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_unnecessary_cast.dart index 47637354826..850bba2349f 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/remove_unnecessary_cast.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_unnecessary_cast.dart @@ -11,7 +11,7 @@ import 'package:analyzer_plugin/utilities/range_factory.dart'; class RemoveUnnecessaryCast extends CorrectionProducer { @override - bool get canBeAppliedInBulk => false; + bool get canBeAppliedInBulk => true; @override bool get canBeAppliedToFile => true; diff --git a/pkg/analysis_server/test/src/services/correction/fix/remove_unnecessary_cast_test.dart b/pkg/analysis_server/test/src/services/correction/fix/remove_unnecessary_cast_test.dart index c0805e50c11..24cb208bb03 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/remove_unnecessary_cast_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/remove_unnecessary_cast_test.dart @@ -11,11 +11,34 @@ import 'fix_processor.dart'; void main() { defineReflectiveSuite(() { + defineReflectiveTests(RemoveUnnecessaryCastBulkTest); defineReflectiveTests(RemoveUnnecessaryCastMultiTest); defineReflectiveTests(RemoveUnnecessaryCastTest); }); } +@reflectiveTest +class RemoveUnnecessaryCastBulkTest extends BulkFixProcessorTest { + Future test_assignment() async { + await resolveTestCode(''' +void f(Object p) { + if (p is String) { + var v = (p as String) as String; + print(v); + } +} +'''); + await assertHasFix(''' +void f(Object p) { + if (p is String) { + var v = p; + print(v); + } +} +'''); + } +} + @reflectiveTest class RemoveUnnecessaryCastMultiTest extends FixProcessorTest { @override @@ -25,7 +48,7 @@ class RemoveUnnecessaryCastMultiTest extends FixProcessorTest { await resolveTestCode(''' void f(Object p, Object q) { if (p is String) { - String v = ((p as String)); + var v = (p as String) as String; print(v); } if (q is int) { @@ -37,7 +60,7 @@ void f(Object p, Object q) { await assertHasFixAllFix(HintCode.UNNECESSARY_CAST, ''' void f(Object p, Object q) { if (p is String) { - String v = p; + var v = p; print(v); } if (q is int) {