<commit_before>#ifndef CTF_FUNCTION_H
#define CTF_FUNCTION_H

#include "type.h"
#include "argument.h"
#include "util/property.h"
#include "util/listing.h"

#include <stdint.h>
#include <sys/queue.h>

/**
 * Function vardata.
 */
struct ctf_function
{
	char* name;
	union
	{
		ctf_type return_type; /**< return type of the function */
		uint16_t return_type_reference;
	};
	struct ctf_argument_head* argument_head; /**< linked list of arguments */

	TAILQ_ENTRY(ctf_function) functions;
};
#define CTF_FUNCTION_SIZE sizeof(struct ctf_function)

TAILQ_HEAD(ctf_function_head, ctf_function);
#define CTF_FUNCTION_HEAD_SIZE sizeof(struct ctf_function_head)

_CTF_GET_PROPERTY_PROTO(ctf_function_get_name, struct ctf_function*, char*)
_CTF_GET_PROPERTY_PROTO(ctf_function_get_return_type, struct ctf_function*, 
    struct ctf_type*)
	
_CTF_LISTING_PROTO(ctf_function_get_next_argument, struct ctf_function*,
    struct ctf_argument*);

#endif
<commit_msg>Function typedef<commit_after>#ifndef CTF_FUNCTION_H
#define CTF_FUNCTION_H

#include "type.h"
#include "argument.h"
#include "util/property.h"
#include "util/listing.h"

#include <stdint.h>
#include <sys/queue.h>

/**
 * Function vardata.
 */
struct ctf_function
{
	char* name;
	union
	{
		ctf_type return_type; /**< return type of the function */
		uint16_t return_type_reference;
	};
	struct ctf_argument_head* argument_head; /**< linked list of arguments */

	TAILQ_ENTRY(ctf_function) functions;
};
#define CTF_FUNCTION_SIZE sizeof(struct ctf_function)

typedef struct ctf_function* ctf_function;

TAILQ_HEAD(ctf_function_head, ctf_function);
#define CTF_FUNCTION_HEAD_SIZE sizeof(struct ctf_function_head)

_CTF_GET_PROPERTY_PROTO(ctf_function_get_name, struct ctf_function*, char*)
_CTF_GET_PROPERTY_PROTO(ctf_function_get_return_type, struct ctf_function*, 
    struct ctf_type*)
	
_CTF_LISTING_PROTO(ctf_function_get_next_argument, struct ctf_function*,
    struct ctf_argument*);

#endif

{'fraction_non_alphanumeric': 0.09953822473063109, 'fraction_numerical': 0.002052334530528476, 'mean_word_length': 6.707509881422925, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7007655', 'n_tokens_mistral': 732, 'n_tokens_neox': 715, 'n_words': 137}