mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
prefer_is_empty and prefer_is_not_empty (#8474)
This commit is contained in:
parent
2f002885cc
commit
69b6bb87d1
@ -299,7 +299,7 @@ class IosDeviceDiscovery implements DeviceDiscovery {
|
||||
.map((String id) => new IosDevice(deviceId: id))
|
||||
.toList();
|
||||
|
||||
if (allDevices.length == 0)
|
||||
if (allDevices.isEmpty)
|
||||
throw 'No iOS devices detected';
|
||||
|
||||
// TODO(yjbanov): filter out and warn about those with low battery level
|
||||
|
@ -29,7 +29,7 @@ class _CalculatorState extends State<Calculator> {
|
||||
|
||||
/// Pop the top expression off of the stack and make it the current expression.
|
||||
void popCalcExpression() {
|
||||
if (_expressionStack.length > 0) {
|
||||
if (_expressionStack.isNotEmpty) {
|
||||
_expression = _expressionStack.removeLast();
|
||||
} else {
|
||||
_expression = new CalcExpression.Empty();
|
||||
|
@ -287,7 +287,7 @@ class CalcExpression {
|
||||
// where a "term" is defined to be a sequence of numbers separated by
|
||||
// multiplcation or division symbols.
|
||||
num currentTermValue = removeNextTerm(list);
|
||||
while (list.length > 0) {
|
||||
while (list.isNotEmpty) {
|
||||
OperationToken opToken = list.removeAt(0);
|
||||
num nextTermValue = removeNextTerm(list);
|
||||
switch (opToken.operation) {
|
||||
@ -312,10 +312,10 @@ class CalcExpression {
|
||||
/// A "term" is a sequence of number tokens separated by multiplication
|
||||
/// and division symbols.
|
||||
static num removeNextTerm(List<ExpressionToken> list) {
|
||||
assert(list != null && list.length >= 1);
|
||||
assert(list != null && list.isNotEmpty);
|
||||
final NumberToken firstNumToken = list.removeAt(0);
|
||||
num currentValue = firstNumToken.number;
|
||||
while (list.length > 0) {
|
||||
while (list.isNotEmpty) {
|
||||
bool isDivision = false;
|
||||
OperationToken nextOpToken = list.first;
|
||||
switch (nextOpToken.operation) {
|
||||
|
@ -118,7 +118,7 @@ class OrderItem extends StatelessWidget {
|
||||
class OrderPage extends StatefulWidget {
|
||||
OrderPage({ Key key, this.order, this.products, this.shoppingCart }) : super(key: key) {
|
||||
assert(order != null);
|
||||
assert(products != null && products.length > 0);
|
||||
assert(products != null && products.isNotEmpty);
|
||||
assert(shoppingCart != null);
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ class Product {
|
||||
description != null &&
|
||||
imageAsset != null &&
|
||||
categories != null &&
|
||||
categories.length > 0 &&
|
||||
categories.isNotEmpty &&
|
||||
price != null &&
|
||||
vendor.isValid();
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ class DartSyntaxHighlighter extends SyntaxHighlighter {
|
||||
}
|
||||
|
||||
bool _firstLetterIsUpperCase(String str) {
|
||||
if (str.length > 0) {
|
||||
if (str.isNotEmpty) {
|
||||
String first = str.substring(0, 1);
|
||||
return first == first.toUpperCase();
|
||||
}
|
||||
|
@ -775,7 +775,7 @@ abstract class ModalRoute<T> extends TransitionRoute<T> with LocalHistoryRoute<T
|
||||
/// * [removeScopedWillPopCallback], which removes a callback.
|
||||
@protected
|
||||
bool get hasScopedWillPopCallback {
|
||||
return _scopeKey.currentState == null || _scopeKey.currentState._willPopCallbacks.length > 0;
|
||||
return _scopeKey.currentState == null || _scopeKey.currentState._willPopCallbacks.isNotEmpty;
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -408,7 +408,7 @@ class FlutterDriver {
|
||||
|
||||
/// Starts recording performance traces.
|
||||
Future<Null> startTracing({List<TimelineStream> streams: _defaultStreams}) async {
|
||||
assert(streams != null && streams.length > 0);
|
||||
assert(streams != null && streams.isNotEmpty);
|
||||
try {
|
||||
await _peer.sendRequest(_kSetVMTimelineFlagsMethod, <String, String>{
|
||||
'recordedStreams': _timelineStreamsToString(streams)
|
||||
|
@ -264,7 +264,7 @@ class _Renderer implements md.NodeVisitor {
|
||||
_listIndents.removeLast();
|
||||
|
||||
if (_isBlockTag(element.tag)) {
|
||||
if (_currentBlock.stack.length > 0) {
|
||||
if (_currentBlock.stack.isNotEmpty) {
|
||||
_MarkdownNodeList stackList = _currentBlock.stack.first;
|
||||
_currentBlock.stack = stackList.list;
|
||||
_currentBlock.open = false;
|
||||
@ -358,7 +358,7 @@ class _Block {
|
||||
bool get open => _open;
|
||||
set open(bool open) {
|
||||
_open = open;
|
||||
if (!open && subBlocks.length > 0)
|
||||
if (!open && subBlocks.isNotEmpty)
|
||||
subBlocks.last.isLast = true;
|
||||
}
|
||||
|
||||
@ -376,7 +376,7 @@ class _Block {
|
||||
|
||||
Widget contents;
|
||||
|
||||
if (subBlocks.length > 0) {
|
||||
if (subBlocks.isNotEmpty) {
|
||||
List<Widget> subWidgets = <Widget>[];
|
||||
for (_Block subBlock in subBlocks) {
|
||||
subWidgets.add(subBlock.build(context));
|
||||
@ -390,7 +390,7 @@ class _Block {
|
||||
TextSpan span = _stackToTextSpan(new _MarkdownNodeList(stack));
|
||||
contents = new RichText(text: span);
|
||||
|
||||
if (listIndents.length > 0) {
|
||||
if (listIndents.isNotEmpty) {
|
||||
Widget bullet;
|
||||
if (listIndents.last == 'ul') {
|
||||
bullet = new Text(
|
||||
@ -479,7 +479,7 @@ class _Block {
|
||||
|
||||
Widget _buildImage(BuildContext context, String src) {
|
||||
List<String> parts = src.split('#');
|
||||
if (parts.length == 0) return new Container();
|
||||
if (parts.isEmpty) return new Container();
|
||||
|
||||
String path = parts.first;
|
||||
double width;
|
||||
|
@ -247,7 +247,7 @@ class _DevFSHttpWriter {
|
||||
|
||||
void _scheduleWrites(DevFSProgressReporter progressReporter) {
|
||||
while (_inFlight < kMaxInFlight) {
|
||||
if (_outstanding.length == 0) {
|
||||
if (_outstanding.isEmpty) {
|
||||
// Finished.
|
||||
break;
|
||||
}
|
||||
@ -289,7 +289,7 @@ class _DevFSHttpWriter {
|
||||
progressReporter(_done, _max);
|
||||
}
|
||||
_inFlight--;
|
||||
if ((_outstanding.length == 0) && (_inFlight == 0)) {
|
||||
if ((_outstanding.isEmpty) && (_inFlight == 0)) {
|
||||
_completer.complete(null);
|
||||
} else {
|
||||
_scheduleWrites(progressReporter);
|
||||
@ -411,7 +411,7 @@ class DevFS {
|
||||
assetPathsToEvict.add(archivePath);
|
||||
}
|
||||
});
|
||||
if (dirtyEntries.length > 0) {
|
||||
if (dirtyEntries.isNotEmpty) {
|
||||
printTrace('Updating files');
|
||||
if (_httpWriter != null) {
|
||||
try {
|
||||
|
@ -251,7 +251,7 @@ class IOSDevice extends Device {
|
||||
'--justlaunch',
|
||||
];
|
||||
|
||||
if (launchArguments.length > 0) {
|
||||
if (launchArguments.isNotEmpty) {
|
||||
launchCommand.add('--args');
|
||||
launchCommand.add('${launchArguments.join(" ")}');
|
||||
}
|
||||
|
@ -329,7 +329,7 @@ Directory _newTempDir() {
|
||||
}
|
||||
|
||||
void _cleanupTempDirs() {
|
||||
while (_tempDirs.length > 0) {
|
||||
while (_tempDirs.isNotEmpty) {
|
||||
_tempDirs.removeLast().deleteSync(recursive: true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user