function functionDeclarationForFunction()

in src/objc-renderer.ts [1147:1171]


function functionDeclarationForFunction(
  functionDefinition: ObjC.Function,
): string {
  // don't add a newline if there are no attributes
  const attributes =
    functionDefinition.compilerAttributes.length > 0
      ? functionDefinition.compilerAttributes.join(' ') + '\n'
      : '';

  return (
    attributes +
    qualifierForFunction(functionDefinition) +
    ' ' +
    toFunctionReturnTypeString(functionDefinition.returnType) +
    functionDefinition.name +
    '(' +
    (functionDefinition.parameters.length > 0
      ? functionDefinition.parameters.map(toFunctionParameterString).join(', ')
      : 'void') +
    ')' +
    (functionDefinition.trailingMacros
      ? functionDefinition.trailingMacros.join('')
      : '')
  );
}