Skip to content

Commit

Permalink
enable lint prefer_void_to_null (flutter#23174)
Browse files Browse the repository at this point in the history
* enable lint prefer_void_to_null

* replace last Null by void
  • Loading branch information
a14n authored Oct 17, 2018
1 parent 7a63fac commit 936dea2
Show file tree
Hide file tree
Showing 12 changed files with 16 additions and 15 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down
2 changes: 1 addition & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion dev/bots/analyze-sample-code.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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(' = ')) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter/lib/src/cupertino/tab_scaffold.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter/lib/src/foundation/binding.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
6 changes: 3 additions & 3 deletions packages/flutter/lib/src/material/dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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) {
Expand Down
2 changes: 2 additions & 0 deletions packages/flutter/lib/src/material/popup_menu.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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.
///
Expand All @@ -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
Expand Down
3 changes: 1 addition & 2 deletions packages/flutter/lib/src/widgets/framework.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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;
/// }
/// ```
///
Expand Down
4 changes: 2 additions & 2 deletions packages/flutter/lib/src/widgets/localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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);
/// });
/// }
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter/test/widgets/gesture_detector_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter_test/lib/src/test_async_utils.dart
Original file line number Diff line number Diff line change
Expand 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 {
/// // ...
/// });
/// ```
Expand Down

0 comments on commit 936dea2

Please sign in to comment.