add @factory to create* methods (#57299)

This commit is contained in:
Alexandre Ardhuin 2020-05-18 11:22:05 +02:00 committed by GitHub
parent 79ad2d2e20
commit d42dcf2edd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 14 additions and 0 deletions

View File

@ -10,6 +10,7 @@
library foundation;
export 'package:meta/meta.dart' show
factory,
immutable,
mustCallSuper,
nonVirtual,

View File

@ -220,6 +220,7 @@ abstract class MultiDragGestureRecognizer<T extends MultiDragPointerState> exten
/// Subclasses should override this method to create per-pointer state
/// objects to track the pointer associated with the given event.
@protected
@factory
T createNewPointerState(PointerDownEvent event);
void _handleEvent(PointerEvent event) {

View File

@ -159,6 +159,7 @@ abstract class InteractiveInkFeatureFactory {
///
/// Subclasses should override this method to return a new instance of an
/// [InteractiveInkFeature].
@factory
InteractiveInkFeature create({
@required MaterialInkController controller,
@required RenderBox referenceBox,

View File

@ -164,6 +164,7 @@ abstract class Decoration with Diagnosticable {
/// The `onChanged` argument configures [BoxPainter.onChanged]. It can be
/// omitted if there is no chance that the painter will change (for example,
/// if it is a [BoxDecoration] with definitely no [DecorationImage]).
@factory
BoxPainter createBoxPainter([ VoidCallback onChanged ]);
/// Returns a closed [Path] that describes the outer edge of this decoration.

View File

@ -201,6 +201,7 @@ abstract class Gradient {
///
/// The shader's transform will be resolved from the [transform] of this
/// gradient.
@factory
Shader createShader(Rect rect, { TextDirection textDirection });
/// Returns a new gradient with its properties scaled by the given factor.

View File

@ -213,6 +213,7 @@ abstract class MouseCursor with Diagnosticable {
/// cursor. A given cursor can be displayed by multiple devices at the same
/// time, in which case this method will be called separately for each device.
@protected
@factory
MouseCursorSession createSession(int device);
/// A very short description of the mouse cursor.

View File

@ -35,6 +35,7 @@ abstract class TickerProvider {
/// Creates a ticker with the given callback.
///
/// The kind of ticker provided depends on the kind of ticker provider.
@factory
Ticker createTicker(TickerCallback onTick);
}

View File

@ -16,6 +16,7 @@ import 'inherited_model.dart';
export 'dart:ui' show hashValues, hashList;
export 'package:flutter/foundation.dart' show
factory,
immutable,
mustCallSuper,
optionalTypeArgs,
@ -488,6 +489,7 @@ abstract class Widget extends DiagnosticableTree {
/// widget that is incorporated into the tree multiple times will be inflated
/// multiple times.
@protected
@factory
Element createElement();
/// A short, textual description of this widget.
@ -911,6 +913,7 @@ abstract class StatefulWidget extends Widget {
/// again to create a fresh [State] object, simplifying the lifecycle of
/// [State] objects.
@protected
@factory
State createState();
}
@ -1730,6 +1733,7 @@ abstract class RenderObjectWidget extends Widget {
/// RenderObjectWidgets always inflate to a [RenderObjectElement] subclass.
@override
@factory
RenderObjectElement createElement();
/// Creates an instance of the [RenderObject] class that this
@ -1742,6 +1746,7 @@ abstract class RenderObjectWidget extends Widget {
/// [createElement] method. See, for example,
/// [SingleChildRenderObjectElement.mount].
@protected
@factory
RenderObject createRenderObject(BuildContext context);
/// Copies the configuration described by this [RenderObjectWidget] to the

View File

@ -524,6 +524,7 @@ abstract class Page<T> extends RouteSettings {
/// Creates the [Route] that corresponds to this page.
///
/// The created [Route] must have its [Route.settings] property set to this [Page].
@factory
Route<T> createRoute(BuildContext context);
@override

View File

@ -31,6 +31,7 @@ abstract class OverlayRoute<T> extends Route<T> {
}) : super(settings: settings);
/// Subclasses should override this getter to return the builders for the overlay.
@factory
Iterable<OverlayEntry> createOverlayEntries();
@override