@require(function_name, parameters, comment, throws, is_method)
@if throws:
@@raises(GLib.GError)
@end
\
def @function_name\
 (\
@if is_method:
self\
@end
\
@if parameters:
\
@for i, parameter in enumerate (parameters):
@if not parameter.get_extension_attribute('gi-extension', 'is_destroy'):
@if i != 0 or is_method:
, \
@end
@if parameter.get_extension_attribute('gi-extension', 'is_closure'):
*\
@end
@parameter.argname\
@end
@end
\
@end
):
    #@comment