Clarify the assert when mimicking twice in a row.

This commit is contained in:
Ian Hickson 2016-03-06 11:10:39 -08:00
parent 138373718c
commit f86889cb1b

View File

@ -176,7 +176,18 @@ class MimicableState extends State<Mimicable> {
/// passing it to a [Mimic] widget. To mimic the child in the
/// [Overlay], consider using [liftToOverlay()] instead.
MimicableHandle startMimic() {
assert(_placeholderSize == null);
assert(() {
if (_placeholderSize != null) {
throw new WidgetError(
'Mimicable started while already active.\n'
'When startMimic() or liftToOverlay() is called on a MimicableState, the mimic becomes active. '
'While active, it cannot be reactivated until it is stopped. '
'To stop a Mimicable started with startMimic(), call the MimicableHandle object\'s stopMimic() method. '
'To stop a Mimicable started with liftToOverlay(), call dispose() on the MimicOverlayEntry.'
);
}
return true;
});
RenderBox box = context.findRenderObject();
assert(box != null);
assert(box.hasSize);