mirror of
https://github.com/flutter/flutter
synced 2024-09-12 21:01:59 +00:00
enable lint prefer_void_to_null (#23174)
* enable lint prefer_void_to_null * replace last Null by void
This commit is contained in:
parent
7a63fac0a2
commit
936dea28da
|
@ -100,7 +100,7 @@ and access native features and SDKs on Android and iOS.
|
|||
Accessing platform features is easy. Here is a snippet from our <a href="https://github.com/flutter/flutter/tree/master/examples/platform_channel">interop example</a>:
|
||||
|
||||
```dart
|
||||
Future<Null> getBatteryLevel() async {
|
||||
Future<void> getBatteryLevel() async {
|
||||
var batteryLevel = 'unknown';
|
||||
try {
|
||||
int result = await methodChannel.invokeMethod('getBatteryLevel');
|
||||
|
|
|
@ -136,7 +136,7 @@ linter:
|
|||
- prefer_iterable_whereType
|
||||
- prefer_single_quotes
|
||||
- prefer_typing_uninitialized_variables
|
||||
# - prefer_void_to_null # not yet tested
|
||||
- prefer_void_to_null
|
||||
# - public_member_api_docs # enabled on a case-by-case basis; see e.g. packages/analysis_options.yaml
|
||||
- recursive_getters
|
||||
- slash_for_doc_comments
|
||||
|
|
|
@ -327,7 +327,7 @@ void processBlock(Line line, List<String> block, List<Section> sections) {
|
|||
sections.add(Section(line, 'dynamic expression$_expressionId = ', block.toList(), ';'));
|
||||
} else if (block.first.startsWith('await ')) {
|
||||
_expressionId += 1;
|
||||
sections.add(Section(line, 'Future<Null> expression$_expressionId() async { ', block.toList(), ' }'));
|
||||
sections.add(Section(line, 'Future<void> expression$_expressionId() async { ', block.toList(), ' }'));
|
||||
} else if (block.first.startsWith('class ') || block.first.startsWith('enum ')) {
|
||||
sections.add(Section(line, null, block.toList(), null));
|
||||
} else if ((block.first.startsWith('_') || block.first.startsWith('final ')) && block.first.contains(' = ')) {
|
||||
|
|
|
@ -176,7 +176,7 @@ enum AnimationBehavior {
|
|||
/// controllers using Dart's asynchronous syntax for awaiting [Future] objects:
|
||||
///
|
||||
/// ```dart
|
||||
/// Future<Null> fadeOutAndUpdateState() async {
|
||||
/// Future<void> fadeOutAndUpdateState() async {
|
||||
/// try {
|
||||
/// await fadeAnimationController.forward().orCancel;
|
||||
/// await sizeAnimationController.forward().orCancel;
|
||||
|
|
|
@ -45,7 +45,7 @@ import 'bottom_tab_bar.dart';
|
|||
/// child: const Text('Next page'),
|
||||
/// onPressed: () {
|
||||
/// Navigator.of(context).push(
|
||||
/// CupertinoPageRoute<Null>(
|
||||
/// CupertinoPageRoute<void>(
|
||||
/// builder: (BuildContext context) {
|
||||
/// return CupertinoPageScaffold(
|
||||
/// navigationBar: CupertinoNavigationBar(
|
||||
|
|
|
@ -178,7 +178,7 @@ abstract class BindingBase {
|
|||
assert(callback != null);
|
||||
_lockCount += 1;
|
||||
final Future<void> future = callback();
|
||||
assert(future != null, 'The lockEvents() callback returned null; it should return a Future<Null> that completes when the lock is to expire.');
|
||||
assert(future != null, 'The lockEvents() callback returned null; it should return a Future<void> that completes when the lock is to expire.');
|
||||
future.whenComplete(() {
|
||||
_lockCount -= 1;
|
||||
if (!locked) {
|
||||
|
|
|
@ -121,8 +121,8 @@ class Dialog extends StatelessWidget {
|
|||
/// and returns a [Future] that completes when the dialog is dismissed.
|
||||
///
|
||||
/// ```dart
|
||||
/// Future<Null> _neverSatisfied() async {
|
||||
/// return showDialog<Null>(
|
||||
/// Future<void> _neverSatisfied() async {
|
||||
/// return showDialog<void>(
|
||||
/// context: context,
|
||||
/// barrierDismissible: false, // user must tap button!
|
||||
/// builder: (BuildContext context) {
|
||||
|
@ -390,7 +390,7 @@ class SimpleDialogOption extends StatelessWidget {
|
|||
/// that doesn't mention every value in the enum.
|
||||
///
|
||||
/// ```dart
|
||||
/// Future<Null> _askedToLead() async {
|
||||
/// Future<void> _askedToLead() async {
|
||||
/// switch (await showDialog<Department>(
|
||||
/// context: context,
|
||||
/// builder: (BuildContext context) {
|
||||
|
|
|
@ -93,6 +93,7 @@ abstract class PopupMenuEntry<T> extends StatefulWidget {
|
|||
/// * [showMenu], a method to dynamically show a popup menu at a given location.
|
||||
/// * [PopupMenuButton], an [IconButton] that automatically shows a menu when
|
||||
/// it is tapped.
|
||||
// ignore: prefer_void_to_null, https://github.com/dart-lang/sdk/issues/34416
|
||||
class PopupMenuDivider extends PopupMenuEntry<Null> {
|
||||
/// Creates a horizontal divider for a popup menu.
|
||||
///
|
||||
|
@ -106,6 +107,7 @@ class PopupMenuDivider extends PopupMenuEntry<Null> {
|
|||
final double height;
|
||||
|
||||
@override
|
||||
// ignore: prefer_void_to_null, https://github.com/dart-lang/sdk/issues/34416
|
||||
bool represents(Null value) => false;
|
||||
|
||||
@override
|
||||
|
|
|
@ -1076,14 +1076,13 @@ abstract class State<T extends StatefulWidget> extends Diagnosticable {
|
|||
/// the increment is wrapped in the `setState`:
|
||||
///
|
||||
/// ```dart
|
||||
/// Future<Null> _incrementCounter() async {
|
||||
/// Future<void> _incrementCounter() async {
|
||||
/// setState(() {
|
||||
/// _counter++;
|
||||
/// });
|
||||
/// Directory directory = await getApplicationDocumentsDirectory();
|
||||
/// final String dirName = directory.path;
|
||||
/// await File('$dir/counter.txt').writeAsString('$_counter');
|
||||
/// return null;
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
|
|
|
@ -14,7 +14,7 @@ import 'framework.dart';
|
|||
|
||||
// Examples can assume:
|
||||
// class Intl { static String message(String s, { String name, String locale }) => ''; }
|
||||
// Future<Null> initializeMessages(String locale) => null;
|
||||
// Future<void> initializeMessages(String locale) => null;
|
||||
|
||||
// Used by loadAll() to record LocalizationsDelegate.load() futures we're
|
||||
// waiting for.
|
||||
|
@ -308,7 +308,7 @@ class _LocalizationsScope extends InheritedWidget {
|
|||
///
|
||||
/// static Future<MyLocalizations> load(Locale locale) {
|
||||
/// return initializeMessages(locale.toString())
|
||||
/// .then((Null _) {
|
||||
/// .then((void _) {
|
||||
/// return MyLocalizations(locale);
|
||||
/// });
|
||||
/// }
|
||||
|
|
|
@ -334,7 +334,7 @@ void main() {
|
|||
),
|
||||
);
|
||||
|
||||
Future<Null> longPress(Duration timeout) async {
|
||||
Future<void> longPress(Duration timeout) async {
|
||||
final TestGesture gesture = await tester.startGesture(const Offset(400.0, 50.0));
|
||||
await tester.pump(timeout);
|
||||
await gesture.up();
|
||||
|
|
|
@ -40,7 +40,7 @@ class _AsyncScope {
|
|||
/// in a call to TestAsyncUtils.guard(), as follows:
|
||||
///
|
||||
/// ```dart
|
||||
/// Future<Null> myTestFunction() => TestAsyncUtils.guard(() async {
|
||||
/// Future<void> myTestFunction() => TestAsyncUtils.guard(() async {
|
||||
/// // ...
|
||||
/// });
|
||||
/// ```
|
||||
|
|
Loading…
Reference in a new issue