detect static method

WidgetType detect(
  1. ClassDeclaration node
)

Returns the widget type for a given class declaration.

Implementation

static WidgetType detect(ClassDeclaration node) {
  if (node.extendsClause == null) return WidgetType.none;

  final superClassName = node.extendsClause!.superclass.name2.lexeme;

  switch (superClassName) {
    case 'StatelessWidget':
      return WidgetType.stateless;
    case 'StatefulWidget':
      return WidgetType.stateful;
    default:
      return WidgetType.none;
  }
}