phase3: @required->required keyword, nullable for-in iterator fix. 309->251

This commit is contained in:
2026-07-31 14:49:02 +08:00
parent 1aa7cf3477
commit ab06fadea8
20 changed files with 47 additions and 47 deletions

View File

@@ -22,8 +22,8 @@ class DoubleBackToCloseApp extends StatefulWidget {
/// the back-button. /// the back-button.
const DoubleBackToCloseApp({ const DoubleBackToCloseApp({
Key? key, Key? key,
@required this.snackBar, required this.snackBar,
@required this.child, required this.child,
}) : assert(snackBar != null), }) : assert(snackBar != null),
assert(child != null), assert(child != null),
super(key: key); super(key: key);

View File

@@ -204,7 +204,7 @@ class DesktopNewCommentState extends State<DesktopNewComment> {
); );
if (comment != null && comment.images!.length > 0) { if (comment != null && comment.images!.length > 0) {
for (ProductImage image in comment.images) { for (ProductImage image in comment.images!) {
row.children.add( row.children.add(
Container( Container(
padding: EdgeInsets.only(left: 10.0), padding: EdgeInsets.only(left: 10.0),

View File

@@ -190,7 +190,7 @@ class DesktopOrderDetailState extends State<DesktopOrderDetail> {
} }
} }
for (CartLineItem lineItem in order.cartInfo!.productList) { for (CartLineItem lineItem in order.cartInfo!.productList!) {
col.children.add(Container( col.children.add(Container(
padding: EdgeInsets.only(top: 16.0, bottom: 0.0), padding: EdgeInsets.only(top: 16.0, bottom: 0.0),
@@ -884,7 +884,7 @@ class DesktopOrderDetailState extends State<DesktopOrderDetail> {
), ),
),); ),);
for (Fulfillment fulfillment in order.fulfillments) { for (Fulfillment fulfillment in order.fulfillments!) {
col.children.add(Container( col.children.add(Container(
padding: EdgeInsets.only(top: 10.0, bottom: 10.0), padding: EdgeInsets.only(top: 10.0, bottom: 10.0),
width: double.infinity, width: double.infinity,

View File

@@ -30,7 +30,7 @@ class DesktopProductDetailPage extends StatefulWidget {
final Product product; final Product product;
const DesktopProductDetailPage( const DesktopProductDetailPage(
{@required this.business, @required this.product, Key? key}) {required this.business, required this.product, Key? key})
: super(key: key); : super(key: key);
@override @override

View File

@@ -11,7 +11,7 @@ class DesktopShoppingCartWidget extends StatefulWidget {
final Business business; final Business business;
final Function? onTap; final Function? onTap;
DesktopShoppingCartWidget({@required this.business, this.onTap}); DesktopShoppingCartWidget({required this.business, this.onTap});
@override @override
State<StatefulWidget> createState() => DesktopShoppingCartWidgetState(); State<StatefulWidget> createState() => DesktopShoppingCartWidgetState();

View File

@@ -12,7 +12,7 @@ class ShoppingCartWidget extends StatefulWidget {
final Business business; final Business business;
final Function? onTap; final Function? onTap;
ShoppingCartWidget({@required this.business, this.onTap}); ShoppingCartWidget({required this.business, this.onTap});
@override @override
State<StatefulWidget> createState() => ShoppingCartWidgetState(); State<StatefulWidget> createState() => ShoppingCartWidgetState();

View File

@@ -9,12 +9,12 @@ class AnimationPointManager {
static late AnimationController controller2; static late AnimationController controller2;
Future<void> addParabolicAniamtion({ Future<void> addParabolicAniamtion({
@required TickerProvider vsync, required TickerProvider vsync,
@required GlobalKey stackKey, required GlobalKey stackKey,
@required GlobalKey startKey, required GlobalKey startKey,
@required GlobalKey endKey, required GlobalKey endKey,
@required Duration duration, required Duration duration,
@required AnimationStatusListener statusListener, required AnimationStatusListener statusListener,
Color color = Colors.red, Color color = Colors.red,
double size = 20, double size = 20,
Offset startAdjustOffset = Offset.zero, Offset startAdjustOffset = Offset.zero,
@@ -51,10 +51,10 @@ class AnimationPointManager {
} }
Future<void> addPopupAniamtion({ Future<void> addPopupAniamtion({
@required TickerProvider vsync, required TickerProvider vsync,
@required GlobalKey stackKey, required GlobalKey stackKey,
@required GlobalKey startKey, required GlobalKey startKey,
@required Widget child, required Widget child,
Duration? duration, Duration? duration,
Offset popupOffset = Offset.zero, Offset popupOffset = Offset.zero,
AnimationStatusListener? statusListener, AnimationStatusListener? statusListener,

View File

@@ -14,7 +14,7 @@ import 'rules.dart';
import 'options_base.dart'; import 'options_base.dart';
class CheckOptions extends OptionsBase { class CheckOptions extends OptionsBase {
CheckOptions({@required Product product, @required int index, @required Map<String, dynamic> selections}) CheckOptions({required Product product, required int index, required Map<String, dynamic> selections})
: super(product: product, index: index, selections: selections); : super(product: product, index: index, selections: selections);
@override @override

View File

@@ -9,7 +9,7 @@ abstract class OptionsBase extends StatefulWidget {
final Product product; final Product product;
final int index; final int index;
final Map<String, dynamic> selections; final Map<String, dynamic> selections;
OptionsBase({@required Product product, @required int index, @required Map<String, dynamic> selections}) OptionsBase({required Product product, required int index, required Map<String, dynamic> selections})
: product = product, : product = product,
index = index, index = index,
selections = selections; selections = selections;

View File

@@ -14,7 +14,7 @@ import 'options_base.dart';
import 'rules.dart'; import 'rules.dart';
class QtyOptions extends OptionsBase { class QtyOptions extends OptionsBase {
QtyOptions({@required Product product, @required int index, @required Map<String, dynamic> selections}) QtyOptions({required Product product, required int index, required Map<String, dynamic> selections})
: super(product: product, index: index, selections: selections); : super(product: product, index: index, selections: selections);
@override @override

View File

@@ -14,7 +14,7 @@ import 'options_base.dart';
import 'rules.dart'; import 'rules.dart';
class RadioOptions extends OptionsBase { class RadioOptions extends OptionsBase {
RadioOptions({@required Product product, @required int index, @required Map<String, dynamic> selections}) RadioOptions({required Product product, required int index, required Map<String, dynamic> selections})
: super(product: product, index: index, selections: selections); : super(product: product, index: index, selections: selections);
@override @override

View File

@@ -12,10 +12,10 @@ class ParabolicAnimationWidget extends AnimatedWidget {
final Offset endAdjustOffset; final Offset endAdjustOffset;
late ParabolicAnimationWidget({ late ParabolicAnimationWidget({
@required Animation<double> animation, required Animation<double> animation,
@required this.stackKey, required this.stackKey,
@required this.startKey, required this.startKey,
@required this.endKey, required this.endKey,
this.size = 20.0, this.size = 20.0,
this.color = Colors.red, this.color = Colors.red,
this.startAdjustOffset = Offset.zero, this.startAdjustOffset = Offset.zero,

View File

@@ -10,10 +10,10 @@ class PopupAnimationWidget extends AnimatedWidget {
final Animation<double> animation; final Animation<double> animation;
late PopupAnimationWidget({ late PopupAnimationWidget({
@required this.animation, required this.animation,
@required this.stackKey, required this.stackKey,
@required this.startKey, required this.startKey,
@required this.child, required this.child,
this.color = Colors.yellow, this.color = Colors.yellow,
this.popupOffset = Offset.zero, this.popupOffset = Offset.zero,
}) : super(listenable: animation); }) : super(listenable: animation);

View File

@@ -22,7 +22,7 @@ class MobileAttributeSelection extends StatefulWidget {
final Key? key; final Key? key;
final GlobalKey? startKey; final GlobalKey? startKey;
const MobileAttributeSelection({@required this.product, @required this.business, this.key, this.startKey}) const MobileAttributeSelection({required this.product, required this.business, this.key, this.startKey})
: super(key: key); : super(key: key);
@override @override

View File

@@ -816,9 +816,9 @@ class MobileMeState extends State<MobileMe> {
class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate { class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate {
_SliverAppBarDelegate({ _SliverAppBarDelegate({
@required this.minHeight, required this.minHeight,
@required this.maxHeight, required this.maxHeight,
@required this.child, required this.child,
}); });
final double minHeight; final double minHeight;

View File

@@ -168,7 +168,7 @@ class MobileNewCommentState extends State<MobileNewComment> {
); );
if (comment != null && comment.images!.length > 0) { if (comment != null && comment.images!.length > 0) {
for (ProductImage image in comment.images) { for (ProductImage image in comment.images!) {
row.children.add( row.children.add(
Container( Container(
padding: EdgeInsets.only(left: 10.0), padding: EdgeInsets.only(left: 10.0),

View File

@@ -205,7 +205,7 @@ class MobileOrderDetailState extends State<MobileOrderDetail> {
} }
} }
for (CartLineItem lineItem in order.cartInfo!.productList) { for (CartLineItem lineItem in order.cartInfo!.productList!) {
col.children.add(Container( col.children.add(Container(
padding: EdgeInsets.only(top: 16.0, bottom: 0.0), padding: EdgeInsets.only(top: 16.0, bottom: 0.0),
@@ -899,7 +899,7 @@ class MobileOrderDetailState extends State<MobileOrderDetail> {
), ),
),); ),);
for (Fulfillment fulfillment in order.fulfillments) { for (Fulfillment fulfillment in order.fulfillments!) {
col.children.add(Container( col.children.add(Container(
padding: EdgeInsets.only(top: 10.0, bottom: 10.0), padding: EdgeInsets.only(top: 10.0, bottom: 10.0),
width: double.infinity, width: double.infinity,

View File

@@ -33,7 +33,7 @@ class MobileProductDetailPage extends StatefulWidget {
final Product product; final Product product;
const MobileProductDetailPage( const MobileProductDetailPage(
{@required this.business, @required this.product, Key? key}) {required this.business, required this.product, Key? key})
: super(key: key); : super(key: key);
@override @override
@@ -447,9 +447,9 @@ class MobileProductDetailPageState extends State<MobileProductDetailPage>
class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate { class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate {
_SliverAppBarDelegate({ _SliverAppBarDelegate({
@required this.minHeight, required this.minHeight,
@required this.maxHeight, required this.maxHeight,
@required this.child, required this.child,
}); });
final double minHeight; final double minHeight;

View File

@@ -582,7 +582,7 @@ class ShopState extends State<Shop>
children: <Widget>[], children: <Widget>[],
); );
if (comment.images!.length > 0) { if (comment.images!.length > 0) {
for (ProductImage image in comment.images) { for (ProductImage image in comment.images!) {
imageRow.children.add( imageRow.children.add(
GestureDetector( GestureDetector(
child: Container( child: Container(
@@ -1416,7 +1416,7 @@ class ShopState extends State<Shop>
)) ))
], ],
))); )));
for (var p in cp.products) { for (var p in cp.products!) {
var pStack = new Stack( var pStack = new Stack(
children: <Widget>[], children: <Widget>[],
); );
@@ -1932,9 +1932,9 @@ class ShopState extends State<Shop>
class _SliverAppBarDelegate2 extends SliverPersistentHeaderDelegate { class _SliverAppBarDelegate2 extends SliverPersistentHeaderDelegate {
_SliverAppBarDelegate2({ _SliverAppBarDelegate2({
@required this.minHeight, required this.minHeight,
@required this.maxHeight, required this.maxHeight,
@required this.child, required this.child,
}); });
final double minHeight; final double minHeight;

View File

@@ -23,7 +23,7 @@ class ShoppingCartBar extends StatefulWidget {
final OnPanelOpenCloseRequest? onPanelOpenCloseRequest; final OnPanelOpenCloseRequest? onPanelOpenCloseRequest;
final bool barAtBottom; final bool barAtBottom;
final bool hasPicture; final bool hasPicture;
ShoppingCartBar({@required this.business, this.endKey, ShoppingCartBar({required this.business, this.endKey,
this.onEmptyCartListener, this.onPanelOpenCloseRequest, this.onEmptyCartListener, this.onPanelOpenCloseRequest,
this.barAtBottom = false, this.hasPicture = false this.barAtBottom = false, this.hasPicture = false
}); });