From 71c1f6c3e47e61a7b8e21df6c973c5cf773a7917 Mon Sep 17 00:00:00 2001 From: Alexandre Ardhuin Date: Wed, 23 Sep 2020 06:39:47 +0200 Subject: [PATCH] enable lint unnecessary_nullable_for_final_variable_declarations (#66387) --- analysis_options.yaml | 1 + packages/flutter/lib/src/services/message_codecs.dart | 4 ++-- packages/flutter/lib/src/widgets/framework.dart | 2 +- .../flutter/lib/src/widgets/list_wheel_scroll_view.dart | 6 +++++- packages/flutter/lib/src/widgets/widget_inspector.dart | 6 ++---- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index a3adad6002..ce97ed77ae 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -192,6 +192,7 @@ linter: - unnecessary_new - unnecessary_null_aware_assignments - unnecessary_null_in_if_null_operators + - unnecessary_nullable_for_final_variable_declarations - unnecessary_overrides - unnecessary_parenthesis - unnecessary_statements diff --git a/packages/flutter/lib/src/services/message_codecs.dart b/packages/flutter/lib/src/services/message_codecs.dart index d21f469d9f..5938a7ecbc 100644 --- a/packages/flutter/lib/src/services/message_codecs.dart +++ b/packages/flutter/lib/src/services/message_codecs.dart @@ -453,13 +453,13 @@ class StandardMessageCodec implements MessageCodec { return buffer.getFloat64List(length); case _valueList: final int length = readSize(buffer); - final dynamic result = List.filled(length, null, growable: false); + final List result = List.filled(length, null, growable: false); for (int i = 0; i < length; i++) result[i] = readValue(buffer); return result; case _valueMap: final int length = readSize(buffer); - final dynamic result = {}; + final Map result = {}; for (int i = 0; i < length; i++) result[readValue(buffer)] = readValue(buffer); return result; diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index 686659ff68..b0af74991a 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -321,7 +321,7 @@ abstract class GlobalKey> extends Key { final Element? element = _currentElement; if (element is StatefulElement) { final StatefulElement statefulElement = element; - final State? state = statefulElement.state; + final State state = statefulElement.state; if (state is T) return state; } diff --git a/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart b/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart index 582b182885..9b29a63a07 100644 --- a/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart +++ b/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart @@ -181,7 +181,11 @@ class ListWheelChildBuilderDelegate extends ListWheelChildDelegate { @override Widget? build(BuildContext context, int index) { if (childCount == null) { - final Widget? child = builder(context, index); + final Widget child = builder(context, index); + // `child` has a non-nullable return type, but might be null when + // running with weak checking, so we need to null check it anyway (and + // ignore the warning that the null-handling logic is dead code). + // ignore: dead_code return child == null ? null : IndexedSemantics(child: child, index: index); } if (index < 0 || index >= childCount!) diff --git a/packages/flutter/lib/src/widgets/widget_inspector.dart b/packages/flutter/lib/src/widgets/widget_inspector.dart index 332cb69efe..4d204bea88 100644 --- a/packages/flutter/lib/src/widgets/widget_inspector.dart +++ b/packages/flutter/lib/src/widgets/widget_inspector.dart @@ -1048,10 +1048,8 @@ mixin WidgetInspectorService { renderObject.markNeedsPaint(); renderObject.visitChildren(markTreeNeedsPaint); } - final RenderObject? root = RendererBinding.instance!.renderView; - if (root != null) { - markTreeNeedsPaint(root); - } + final RenderObject root = RendererBinding.instance!.renderView; + markTreeNeedsPaint(root); } else { debugOnProfilePaint = null; }