Skip to content

Commit f0c737d

Browse files
srawlinsCommit Queue
authored andcommitted
analyzer_testing: Widget is @immutable
This requires some changes to tests, where fields should be final. In tests where it seemed like the mutability of a field was important, I just ignored the warning. Otherwise, I made fields final. I do like keeping this stub in-line with the real Widget class. If anything, it keeps in mind that flutter Widgets should generally no have mutable fields. Change-Id: Ib7dc1fbd6aa013dc72925404c4be8186ddcddaa4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/475400 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com>
1 parent 6767453 commit f0c737d

9 files changed

Lines changed: 73 additions & 54 deletions

File tree

pkg/analysis_server/test/services/refactoring/legacy/extract_widget_test.dart

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ class C {
371371
}
372372
373373
class MyWidget extends StatelessWidget {
374-
C c = C();
374+
final C c = C();
375375
376376
@override
377377
Widget build(BuildContext context) {
@@ -394,7 +394,7 @@ class C {
394394
}
395395
396396
class MyWidget extends StatelessWidget {
397-
C c = C();
397+
final C c = C();
398398
399399
@override
400400
Widget build(BuildContext context) {
@@ -476,7 +476,7 @@ class Test extends StatelessWidget {
476476
import 'package:flutter/material.dart';
477477
478478
class MyWidget extends StatelessWidget {
479-
String foo = '';
479+
final String foo = '';
480480
481481
@override
482482
Widget build(BuildContext context) {
@@ -504,7 +504,7 @@ class MyWidget extends StatelessWidget {
504504
import 'package:flutter/material.dart';
505505
506506
class MyWidget extends StatelessWidget {
507-
String foo = '';
507+
final String foo = '';
508508
509509
@override
510510
Widget build(BuildContext context) {
@@ -720,7 +720,7 @@ class C {
720720
}
721721
722722
class MyWidget extends StatelessWidget {
723-
C c = C();
723+
final C c = C();
724724
725725
@override
726726
Widget build(BuildContext context) {
@@ -738,7 +738,7 @@ class C {
738738
}
739739
740740
class MyWidget extends StatelessWidget {
741-
C c = C();
741+
final C c = C();
742742
743743
@override
744744
Widget build(BuildContext context) {
@@ -806,6 +806,7 @@ class Test extends StatelessWidget {
806806
await indexTestUnit(r'''
807807
import 'package:flutter/material.dart';
808808
809+
// ignore: must_be_immutable
809810
class MyWidget extends StatelessWidget {
810811
String field;
811812
@@ -832,10 +833,12 @@ class MyWidget extends StatelessWidget {
832833
await indexTestUnit(r'''
833834
import 'package:flutter/material.dart';
834835
836+
// ignore: must_be_immutable
835837
abstract class MySuperWidget extends StatelessWidget {
836838
String field = '';
837839
}
838840
841+
// ignore: must_be_immutable
839842
class MyWidget extends MySuperWidget {
840843
@override
841844
Widget build(BuildContext context) {
@@ -863,7 +866,7 @@ class C {
863866
}
864867
865868
class MyWidget extends StatelessWidget {
866-
C c = C();
869+
final C c = C();
867870
868871
@override
869872
Widget build(BuildContext context) {
@@ -886,7 +889,7 @@ class C {
886889
}
887890
888891
class MyWidget extends StatelessWidget {
889-
C c = C();
892+
final C c = C();
890893
891894
@override
892895
Widget build(BuildContext context) {

pkg/analysis_server/test/src/services/correction/assist/add_diagnostic_property_reference_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import 'package:flutter/foundation.dart';
3232
import 'package:flutter/widgets.dart';
3333
3434
class W extends Widget {
35-
bool ^property = true;
35+
final bool ^property = true;
3636
@override
3737
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
3838
super.debugFillProperties(properties);
@@ -44,7 +44,7 @@ import 'package:flutter/foundation.dart';
4444
import 'package:flutter/widgets.dart';
4545
4646
class W extends Widget {
47-
bool property = true;
47+
final bool property = true;
4848
@override
4949
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
5050
super.debugFillProperties(properties);

pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ class _MyWidgetState<T> extends State<MyWidget<T>> {
175175
await resolveTestCode(r'''
176176
import 'package:flutter/material.dart';
177177
178+
// ignore: must_be_immutable
178179
class ^MyWidget extends StatelessWidget {
179180
static String staticField1 = '';
180181
final String instanceField1;
@@ -210,6 +211,7 @@ class ^MyWidget extends StatelessWidget {
210211
await assertHasAssist(r'''
211212
import 'package:flutter/material.dart';
212213
214+
// ignore: must_be_immutable
213215
class MyWidget extends StatefulWidget {
214216
static String staticField1 = '';
215217
final String instanceField1;
@@ -316,7 +318,7 @@ import 'package:flutter/material.dart';
316318
class ^MyWidget extends StatelessWidget {
317319
static String staticField = '';
318320
final String instanceField1;
319-
String instanceField2 = '';
321+
final String instanceField2 = '';
320322
321323
MyWidget(this.instanceField1);
322324
@@ -372,7 +374,7 @@ class MyWidget extends StatefulWidget {
372374
}
373375
374376
class _MyWidgetState extends State<MyWidget> {
375-
String instanceField2 = '';
377+
final String instanceField2 = '';
376378
377379
@override
378380
Widget build(BuildContext context) {

pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateless_widget_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ class MyWidget extends StatelessWidget {
157157
await resolveTestCode(r'''
158158
import 'package:flutter/material.dart';
159159
160+
// ignore: must_be_immutable
160161
class ^MyWidget extends StatefulWidget {
161162
static String staticField1 = '';
162163
final String instanceField1;
@@ -203,6 +204,7 @@ class _MyWidgetState extends State<MyWidget> {
203204
await assertHasAssist(r'''
204205
import 'package:flutter/material.dart';
205206
207+
// ignore: must_be_immutable
206208
class MyWidget extends StatelessWidget {
207209
static String staticField1 = '';
208210
final String instanceField1;

pkg/analysis_server/test/src/services/correction/assist/flutter_wrap_generic_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ class FakeFlutter {\r
203203
import 'package:flutter/widgets.dart';
204204
205205
abstract class Foo extends Widget {
206-
Widget bar = Text('');
206+
final Widget bar = Text('');
207207
}
208208
209209
Widget f(Foo foo) {
@@ -214,7 +214,7 @@ Widget f(Foo foo) {
214214
import 'package:flutter/widgets.dart';
215215
216216
abstract class Foo extends Widget {
217-
Widget bar = Text('');
217+
final Widget bar = Text('');
218218
}
219219
220220
Widget f(Foo foo) {
@@ -228,7 +228,7 @@ Widget f(Foo foo) {
228228
import 'package:flutter/widgets.dart';
229229
230230
abstract class Foo extends Widget {
231-
Widget bar = Text('');
231+
final Widget bar = Text('');
232232
}
233233
234234
Widget f(Foo foo) {
@@ -239,7 +239,7 @@ Widget f(Foo foo) {
239239
import 'package:flutter/widgets.dart';
240240
241241
abstract class Foo extends Widget {
242-
Widget bar = Text('');
242+
final Widget bar = Text('');
243243
}
244244
245245
Widget f(Foo foo) {

0 commit comments

Comments
 (0)