analyze static method
Implementation
static OverflowResult analyze(FlutterErrorDetails details) {
final error = details.exceptionAsString();
final stack = details.stack?.toString() ?? '';
final context = details.context?.toString() ?? '';
final informationCollector = details.informationCollector?.call();
final widgetInfo =
informationCollector?.map((e) => e.toStringDeep()).join('\n') ?? '';
final location = _extractLocation(stack);
final parentWidget = _extractParentWidget(context, widgetInfo);
final direction = _extractOverflowDirection(error);
final pixels = _extractOverflowPixels(error);
final widgetName = _extractWidgetName(error, context, widgetInfo);
return OverflowResult(
widgetName: widgetName,
fileName: location?['file'] ?? 'Unknown File',
line: location?['line'] != null ? int.tryParse(location!['line']!) : null,
column: location?['column'] != null
? int.tryParse(location!['column']!)
: null,
parentWidget: parentWidget,
overflowDirection: direction,
overflowPixels: pixels,
suggestion: _generateSuggestion(direction),
);
}