process method
Implementation
@override
InsertionMethod process() {
final name = _methodElement.name;
final returnType = _methodElement.returnType;
_assertMethodReturnsFuture(returnType);
final returnsList = _getReturnsList(returnType);
final flattenedReturnType =
_getFlattenedReturnType(returnType, returnsList);
final returnsVoid = flattenedReturnType.isVoid;
final returnsInt = flattenedReturnType.isDartCoreInt;
final returnsIntList = returnsList && flattenedReturnType.isDartCoreInt;
if (!returnsVoid && !returnsIntList && !returnsInt) {
throw _errors.doesNotReturnVoidNorIntNorListInt;
}
final parameterElement = _helper.getParameterElement();
final flattenedParameterType =
_helper.getFlattenedParameterType(parameterElement);
final entity = _helper.getEntity(flattenedParameterType);
final onConflict = _getOnConflictStrategy();
return InsertionMethod(
_methodElement,
name,
returnType,
flattenedReturnType,
parameterElement,
entity,
onConflict,
);
}