Commit 1eaefe18 authored by Alexandre Ardhuin's avatar Alexandre Ardhuin Committed by GitHub

more const for immutables (#10563)

parent dfc7788c
......@@ -152,7 +152,7 @@ class ListModel<E> {
/// This widget's height is based on the animation parameter, it varies
/// from 0 to 128 as the animation varies from 0.0 to 1.0.
class CardItem extends StatelessWidget {
CardItem({
const CardItem({
Key key,
@required this.animation,
this.onTap,
......
......@@ -68,7 +68,7 @@ final List<Entry> data = <Entry>[
// Displays one Entry. If the entry has children then it's displayed
// with an ExpansionTile.
class EntryItem extends StatelessWidget {
EntryItem(this.entry);
const EntryItem(this.entry);
final Entry entry;
......
......@@ -75,7 +75,7 @@ class _RenderStatusBarPaddingSliver extends RenderSliver {
}
class _StatusBarPaddingSliver extends SingleChildRenderObjectWidget {
_StatusBarPaddingSliver({
const _StatusBarPaddingSliver({
Key key,
@required this.maxHeight,
this.scrollFactor: 5.0,
......@@ -369,7 +369,7 @@ class _AllSectionsView extends AnimatedWidget {
// app bar's height is _kAppBarMidHeight and only one section heading is
// visible.
class _SnappingScrollPhysics extends ClampingScrollPhysics {
_SnappingScrollPhysics({
const _SnappingScrollPhysics({
ScrollPhysics parent,
@required this.midScrollOffset,
}) : assert(midScrollOffset != null),
......
......@@ -11,7 +11,7 @@ const double kSectionIndicatorWidth = 32.0;
// The card for a single section. Displays the section's gradient and background image.
class SectionCard extends StatelessWidget {
SectionCard({ Key key, @required this.section })
const SectionCard({ Key key, @required this.section })
: assert(section != null),
super(key: key);
......@@ -60,7 +60,7 @@ class SectionTitle extends StatelessWidget {
color: const Color(0x19000000),
);
SectionTitle({
const SectionTitle({
Key key,
@required this.section,
@required this.scale,
......
......@@ -42,7 +42,7 @@ final List<Palette> allPalettes = <Palette>[
class ColorItem extends StatelessWidget {
ColorItem({
const ColorItem({
Key key,
@required this.index,
@required this.color,
......
......@@ -116,7 +116,7 @@ class _ShrineGridDelegate extends SliverGridDelegate {
// Displays the Vendor's name and avatar.
class _VendorItem extends StatelessWidget {
_VendorItem({ Key key, @required this.vendor })
const _VendorItem({ Key key, @required this.vendor })
: assert(vendor != null),
super(key: key);
......@@ -294,7 +294,7 @@ class _Heading extends StatelessWidget {
// A card that displays a product's image, price, and vendor. The _ProductItem
// cards appear in a grid below the heading.
class _ProductItem extends StatelessWidget {
_ProductItem({ Key key, @required this.product, this.onPressed })
const _ProductItem({ Key key, @required this.product, this.onPressed })
: assert(product != null),
super(key: key);
......
......@@ -12,7 +12,7 @@ import 'shrine_types.dart';
// Displays the product title's, description, and order quantity dropdown.
class _ProductItem extends StatelessWidget {
_ProductItem({
const _ProductItem({
Key key,
@required this.product,
@required this.quantity,
......@@ -69,7 +69,7 @@ class _ProductItem extends StatelessWidget {
// Vendor name and description
class _VendorItem extends StatelessWidget {
_VendorItem({ Key key, @required this.vendor })
const _VendorItem({ Key key, @required this.vendor })
: assert(vendor != null),
super(key: key);
......@@ -140,7 +140,7 @@ class _HeadingLayout extends MultiChildLayoutDelegate {
// Describes a product and vendor in detail, supports specifying
// a order quantity (0-5). Appears at the top of the OrderPage.
class _Heading extends StatelessWidget {
_Heading({
const _Heading({
Key key,
@required this.product,
@required this.quantity,
......
......@@ -15,7 +15,7 @@ enum ShrineAction {
}
class ShrinePage extends StatefulWidget {
ShrinePage({
const ShrinePage({
Key key,
@required this.scaffoldKey,
@required this.body,
......
......@@ -6,7 +6,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
class TextStyleItem extends StatelessWidget {
TextStyleItem({
const TextStyleItem({
Key key,
@required this.name,
@required this.style,
......
......@@ -88,7 +88,7 @@ class _GalleryDrawerHeaderState extends State<GalleryDrawerHeader> {
}
class GalleryDrawer extends StatelessWidget {
GalleryDrawer({
const GalleryDrawer({
Key key,
this.useLightTheme,
@required this.onThemeChanged,
......
......@@ -66,7 +66,7 @@ class _AppBarBackground extends StatelessWidget {
}
class GalleryHome extends StatefulWidget {
GalleryHome({
const GalleryHome({
Key key,
this.useLightTheme,
@required this.onThemeChanged,
......
......@@ -12,7 +12,7 @@ import '../demo/all.dart';
typedef Widget GalleryDemoBuilder();
class GalleryItem extends StatelessWidget {
GalleryItem({
const GalleryItem({
@required this.title,
this.subtitle,
@required this.category,
......
......@@ -12,7 +12,7 @@ import 'package:url_launcher/url_launcher.dart';
typedef Future<String> UpdateUrlFetcher();
class Updater extends StatefulWidget {
Updater({ @required this.updateUrlFetcher, this.child, Key key })
const Updater({ @required this.updateUrlFetcher, this.child, Key key })
: assert(updateUrlFetcher != null),
super(key: key);
......
......@@ -19,13 +19,13 @@ class PlatformView extends StatelessWidget {
theme: new ThemeData(
primarySwatch: Colors.grey,
),
home: new MyHomePage(title: 'Platform View'),
home: const MyHomePage(title: 'Platform View'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
const MyHomePage({Key key, this.title}) : super(key: key);
final String title;
......
......@@ -35,7 +35,7 @@ abstract class MessageCodec<T> {
class MethodCall {
/// Creates a [MethodCall] representing the invocation of [method] with the
/// specified [arguments].
MethodCall(this.method, [this.arguments])
const MethodCall(this.method, [this.arguments])
: assert(method != null);
/// The name of the method to be called.
......
......@@ -46,7 +46,7 @@ class _ActiveItem implements Comparable<_ActiveItem> {
/// This widget is similar to one created by [ListView.builder].
class AnimatedList extends StatefulWidget {
/// Creates a scrolling container that animates items when they are inserted or removed.
AnimatedList({
const AnimatedList({
Key key,
@required this.itemBuilder,
this.initialItemCount: 0,
......
......@@ -195,7 +195,7 @@ class AsyncSnapshot<T> {
const AsyncSnapshot.nothing() : this._(ConnectionState.none, null, null);
/// Creates an [AsyncSnapshot] in the specified [state] and with the specified [data].
AsyncSnapshot.withData(ConnectionState state, T data) : this._(state, data, null); // not const because https://github.com/dart-lang/sdk/issues/29432
const AsyncSnapshot.withData(ConnectionState state, T data) : this._(state, data, null);
/// Creates an [AsyncSnapshot] in the specified [state] and with the specified [error].
const AsyncSnapshot.withError(ConnectionState state, Object error) : this._(state, null, error);
......
......@@ -313,10 +313,10 @@ class LabeledGlobalKey<T extends State<StatefulWidget>> extends GlobalKey<T> {
/// Creates a global key with a debugging label.
///
/// The label does not affect the key's identity.
const LabeledGlobalKey(this._debugLabel) : super.constructor();
LabeledGlobalKey(this._debugLabel) : super.constructor();
// Used for forwarding the constructor from GlobalKey.
const LabeledGlobalKey._({ String debugLabel }) : _debugLabel = debugLabel, super.constructor();
LabeledGlobalKey._({ String debugLabel }) : _debugLabel = debugLabel, super.constructor();
final String _debugLabel;
......
......@@ -36,7 +36,7 @@ typedef List<Widget> NestedScrollViewHeaderSliversBuilder(BuildContext context,
const double _kInitialScrollOffset = 0.0;
class NestedScrollView extends StatefulWidget {
NestedScrollView({
const NestedScrollView({
Key key,
this.scrollDirection: Axis.vertical,
this.reverse: false,
......
......@@ -15,6 +15,6 @@ void main() {
await HapticFeedback.vibrate();
expect(log, equals(<MethodCall>[new MethodCall('HapticFeedback.vibrate')]));
expect(log, equals(<MethodCall>[const MethodCall('HapticFeedback.vibrate')]));
});
}
......@@ -91,7 +91,7 @@ void main() {
});
test('can handle method call with no registered plugin', () async {
channel.setMethodCallHandler(null);
final ByteData call = jsonMethod.encodeMethodCall(new MethodCall('sayHello', 'hello'));
final ByteData call = jsonMethod.encodeMethodCall(const MethodCall('sayHello', 'hello'));
ByteData envelope;
await BinaryMessages.handlePlatformMessage('ch7', call, (ByteData result) {
envelope = result;
......@@ -102,7 +102,7 @@ void main() {
channel.setMethodCallHandler((MethodCall call) async {
throw new MissingPluginException();
});
final ByteData call = jsonMethod.encodeMethodCall(new MethodCall('sayHello', 'hello'));
final ByteData call = jsonMethod.encodeMethodCall(const MethodCall('sayHello', 'hello'));
ByteData envelope;
await BinaryMessages.handlePlatformMessage('ch7', call, (ByteData result) {
envelope = result;
......@@ -111,7 +111,7 @@ void main() {
});
test('can handle method call with successful result', () async {
channel.setMethodCallHandler((MethodCall call) async => '${call.arguments}, world');
final ByteData call = jsonMethod.encodeMethodCall(new MethodCall('sayHello', 'hello'));
final ByteData call = jsonMethod.encodeMethodCall(const MethodCall('sayHello', 'hello'));
ByteData envelope;
await BinaryMessages.handlePlatformMessage('ch7', call, (ByteData result) {
envelope = result;
......@@ -122,7 +122,7 @@ void main() {
channel.setMethodCallHandler((MethodCall call) async {
throw new PlatformException(code: 'bad', message: 'sayHello failed', details: null);
});
final ByteData call = jsonMethod.encodeMethodCall(new MethodCall('sayHello', 'hello'));
final ByteData call = jsonMethod.encodeMethodCall(const MethodCall('sayHello', 'hello'));
ByteData envelope;
await BinaryMessages.handlePlatformMessage('ch7', call, (ByteData result) {
envelope = result;
......@@ -141,7 +141,7 @@ void main() {
channel.setMethodCallHandler((MethodCall call) async {
throw new ArgumentError('bad');
});
final ByteData call = jsonMethod.encodeMethodCall(new MethodCall('sayHello', 'hello'));
final ByteData call = jsonMethod.encodeMethodCall(const MethodCall('sayHello', 'hello'));
ByteData envelope;
await BinaryMessages.handlePlatformMessage('ch7', call, (ByteData result) {
envelope = result;
......
......@@ -15,6 +15,6 @@ void main() {
await SystemNavigator.pop();
expect(log, equals(<MethodCall>[new MethodCall('SystemNavigator.pop')]));
expect(log, equals(<MethodCall>[const MethodCall('SystemNavigator.pop')]));
});
}
......@@ -8,13 +8,13 @@ import 'package:test/test.dart';
void main() {
test('System sound control test', () async {
final List<MethodCall> log = <MethodCall>[];
SystemChannels.platform.setMockMethodCallHandler((MethodCall methodCall) async {
log.add(methodCall);
});
await SystemSound.play(SystemSoundType.click);
expect(log, equals(<MethodCall>[new MethodCall('SystemSound.play', "SystemSoundType.click")]));
expect(log, equals(<MethodCall>[const MethodCall('SystemSound.play', "SystemSoundType.click")]));
});
}
......@@ -14,7 +14,7 @@ void main() {
group('AsyncSnapshot', () {
test('requiring data succeeds if data is present', () {
expect(
new AsyncSnapshot<String>.withData(ConnectionState.done, 'hello').requireData,
const AsyncSnapshot<String>.withData(ConnectionState.done, 'hello').requireData,
'hello',
);
});
......
......@@ -9,7 +9,7 @@ import 'package:flutter/src/widgets/layout_builder.dart';
import 'package:flutter_test/flutter_test.dart' hide TypeMatcher;
class Wrapper extends StatelessWidget {
Wrapper({
const Wrapper({
Key key,
@required this.child
}) : assert(child != null),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment