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(
        'StatefulWidget.createState must return a subtype of State<${widget.runtimeType}>\n'
        '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);
}