StatefulElement constructor

StatefulElement(StatefulWidget widget)

Creates an element that uses the given widget as its configuration.

Implementation

StatefulElement(StatefulWidget widget)
    : _state = widget.createState(),
      super(widget) {
  assert(() {
    if (!_state._debugTypesAreRight(widget)) {
      throw FlutterError.fromParts(<DiagnosticsNode>[
        ErrorSummary('StatefulWidget.createState must return a subtype of State<${widget.runtimeType}>'),
        ErrorDescription(
          'The createState function for ${widget.runtimeType} returned a state '
          'of type ${_state.runtimeType}, which is not a subtype of '
          'State<${widget.runtimeType}>, violating the contract for createState.'
        )
      ]);
    }
    return true;
  }());
  assert(_state._element == null);
  _state._element = this;
  assert(_state._widget == null);
  _state._widget = widget;
  assert(_state._debugLifecycleState == _StateLifecycle.created);
}