@require(return_value, function_name, parameters, comment, throws, out_params, is_method)
@if parameters: @@accepts (\ \ @for i, parameter in enumerate (parameters): \ @if i != 0: , \ @end \ @for j in range (parameter.array_nesting): [\ @end @parameter.formatted_link\ @for j in range (parameter.array_nesting): ]\ @end \ @end ) \ @end @if return_value: @@returns(@return_value.formatted_link\ @for p in out_params: , \ @p.formatted_link\ @end \ ) @end \ @if throws: @@raises(GLib.GError) @end \ def @function_name\ (\ @if is_method: self\ @end \ @if parameters: \ @for i, parameter in enumerate (parameters): @if i != 0 or is_method: , \ @end @parameter.argname\ @end \ @end ): #@comment