formatInvocable function

Formats an invocable declaration as Ret name(T1 a, T2 b).

Implementation

String formatInvocable(ASTInvocableDeclaration f) {
  final params = <String>[];
  for (final p in f.parameters.allParameters) {
    params.add('${_typeName(p.type)} ${p.name}');
  }
  final ret = _typeName(f.returnType);
  final prefix = ret.isEmpty ? '' : '$ret ';
  return '$prefix${f.name}(${params.join(', ')})';
}