process method

  1. @override
DeletionMethod process()
override

Implementation

@override
DeletionMethod process() {
  final name = _methodElement.name;
  final returnType = _methodElement.returnType;

  _assertMethodReturnsFuture(returnType);

  final flattenedReturnType = _getFlattenedReturnType(returnType);
  _assertMethodReturnsNoList(flattenedReturnType);

  final returnsVoid = flattenedReturnType.isVoid;
  final returnsInt = flattenedReturnType.isDartCoreInt;

  if (!returnsVoid && !returnsInt) {
    throw _errors.doesNotReturnVoidNorInt;
  }

  final parameterElement = _helper.getParameterElement();
  final flattenedParameterType =
      _helper.getFlattenedParameterType(parameterElement);

  final entity = _helper.getEntity(flattenedParameterType);

  return DeletionMethod(
    _methodElement,
    name,
    returnType,
    flattenedReturnType,
    parameterElement,
    entity,
  );
}