blob: 14747be8cd97d6b401290fb1a78c60e81ea4b378 [file] [log] [blame]
/* ./tests/suites/toyir/tsf_ir_different.c -- generated by tsf_define from ./tests/suites/toyir/tsf_ir_different.t */
#include "tsf_ir_different.h"
#include "tsf_define_helpers.h"
#include <stdio.h>
static tsf_type_t *DOperand__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DType__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DCodeOffset__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DVariableDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProcedure__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProcedureDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProcedureDefn__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProgramElement__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProgram__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__mov__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__add__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__alloc__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__ret__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__jump__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__call__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__call__args__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *int16__array__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__branchZero__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProcedureDefn__variables__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DVariableDecl__array__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProcedureDefn__code__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DInstruction__array__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProgram__globals__build_type(void) TSF_ATTRIBUTE_NOINLINE;
static tsf_type_t *DProgramElement__array__build_type(void) TSF_ATTRIBUTE_NOINLINE;
tsf_type_t *DOperand__build_type(void) {
tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INT16);
return result;
}
tsf_type_t *DType__build_type(void) {
tsf_type_t *result = tsf_type_create_aoe(TSF_TK_STRING);
return result;
}
tsf_type_t *DCodeOffset__build_type(void) {
tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INT16);
return result;
}
tsf_type_t *DVariableDecl__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DVariableDecl_t), (void(*)(void*))DVariableDecl__destruct);
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", DType__get_type, tsf_offsetof(DVariableDecl_t, type));
tsf_type_set_name_aoe(&result, "DVariableDecl");
return result;
}
tsf_type_t *DInstruction__build_type(void) {
tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(DInstruction_t, value), tsf_offsetof(DInstruction_t, u), sizeof(DInstruction_t));
tsf_choice_type_append_primitive_aoe(&result, "nop", TSF_TK_VOID);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "mov", DInstruction__mov__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "add", DInstruction__add__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "alloc", DInstruction__alloc__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "ret", DInstruction__ret__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "jump", DInstruction__jump__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "call", DInstruction__call__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "branchZero", DInstruction__branchZero__get_type);
tsf_type_set_name_aoe(&result, "DInstruction");
return result;
}
tsf_type_t *DInstruction__mov__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__mov_t));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__mov_t, dest));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__mov_t, src));
tsf_type_set_name_aoe(&result, "DInstruction__mov");
return result;
}
tsf_type_t *DInstruction__add__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__add_t));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__add_t, dest));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__add_t, src));
tsf_type_set_name_aoe(&result, "DInstruction__add");
return result;
}
tsf_type_t *DInstruction__alloc__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DInstruction__alloc_t), (void(*)(void*))DInstruction__alloc__destruct);
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", DType__get_type, tsf_offsetof(DInstruction__alloc_t, type));
tsf_type_set_name_aoe(&result, "DInstruction__alloc");
return result;
}
tsf_type_t *DInstruction__ret__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__ret_t));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__ret_t, src));
tsf_type_set_name_aoe(&result, "DInstruction__ret");
return result;
}
tsf_type_t *DInstruction__jump__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__jump_t));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", DCodeOffset__get_type, tsf_offsetof(DInstruction__jump_t, target));
tsf_type_set_name_aoe(&result, "DInstruction__jump");
return result;
}
tsf_type_t *DInstruction__call__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DInstruction__call_t), (void(*)(void*))DInstruction__call__destruct);
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__call_t, dest));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "callee", DOperand__get_type, tsf_offsetof(DInstruction__call_t, callee));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "args", DInstruction__call__args__get_type, tsf_offsetof(DInstruction__call_t, args));
tsf_type_set_name_aoe(&result, "DInstruction__call");
return result;
}
tsf_type_t *int16__array__build_type(void) {
tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_create_aoe(TSF_TK_INT16));
return result;
}
tsf_type_t *DInstruction__branchZero__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__branchZero_t));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__branchZero_t, src));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", DCodeOffset__get_type, tsf_offsetof(DInstruction__branchZero_t, target));
tsf_type_set_name_aoe(&result, "DInstruction__branchZero");
return result;
}
tsf_type_t *DProcedure__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedure_t), (void(*)(void*))DProcedure__destruct);
tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedure_t, name));
tsf_type_set_name_aoe(&result, "DProcedure");
return result;
}
tsf_type_t *DProcedureDecl__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedureDecl_t), (void(*)(void*))DProcedureDecl__destruct);
tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedureDecl_t, name));
tsf_type_set_name_aoe(&result, "DProcedureDecl");
return result;
}
tsf_type_t *DProcedureDefn__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedureDefn_t), (void(*)(void*))DProcedureDefn__destruct);
tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedureDefn_t, name));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "variables", DProcedureDefn__variables__get_type, tsf_offsetof(DProcedureDefn_t, variables));
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "code", DProcedureDefn__code__get_type, tsf_offsetof(DProcedureDefn_t, code));
tsf_type_set_name_aoe(&result, "DProcedureDefn");
return result;
}
tsf_type_t *DVariableDecl__array__build_type(void) {
tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DVariableDecl__get_type()));
return result;
}
tsf_type_t *DInstruction__array__build_type(void) {
tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DInstruction__get_type()));
return result;
}
tsf_type_t *DProgramElement__build_type(void) {
tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(DProgramElement_t, value), tsf_offsetof(DProgramElement_t, u), sizeof(DProgramElement_t));
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDecl", DProcedureDecl__get_type);
tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDefn", DProcedureDefn__get_type);
tsf_type_set_name_aoe(&result, "DProgramElement");
return result;
}
tsf_type_t *DProgram__build_type(void) {
tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProgram_t), (void(*)(void*))DProgram__destruct);
tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "globals", DProgram__globals__get_type, tsf_offsetof(DProgram_t, globals));
tsf_type_set_name_aoe(&result, "DProgram");
return result;
}
tsf_type_t *DProgramElement__array__build_type(void) {
tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DProgramElement__get_type()));
return result;
}
tsf_type_t *DInstruction__call__args__build_type(void) {
tsf_type_t *result = tsf_type_dup(int16__array__get_type());
return result;
}
tsf_type_t *DProcedureDefn__variables__build_type(void) {
tsf_type_t *result = tsf_type_dup(DVariableDecl__array__get_type());
return result;
}
tsf_type_t *DProcedureDefn__code__build_type(void) {
tsf_type_t *result = tsf_type_dup(DInstruction__array__get_type());
return result;
}
tsf_type_t *DProgram__globals__build_type(void) {
tsf_type_t *result = tsf_type_dup(DProgramElement__array__get_type());
return result;
}
static tsf_type_t * volatile DOperand__type = NULL;
static tsf_genrtr_t * volatile DOperand__genrtr = NULL;
static tsf_parser_t * volatile DOperand__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DOperand__type__oc = PTHREAD_ONCE_INIT;
static void DOperand__type__builder(void) {
DOperand__type = DOperand__build_type();
}
#else
static void *DOperand__type__builder(void) {
return DOperand__build_type();
}
#endif
tsf_type_t *DOperand__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DOperand__type, DOperand__type__builder);
#else
pthread_once(&DOperand__type__oc, DOperand__type__builder);
return DOperand__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DOperand__genrtr__oc = PTHREAD_ONCE_INIT;
static void DOperand__genrtr__builder(void) {
DOperand__genrtr = tsf_generator_create(DOperand__get_type());
}
#else
static void *DOperand__genrtr__builder(void) {
return tsf_generator_create(DOperand__get_type());
}
#endif
tsf_genrtr_t *DOperand__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DOperand__genrtr, DOperand__genrtr__builder);
#else
pthread_once(&DOperand__genrtr__oc, DOperand__genrtr__builder);
return DOperand__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DOperand__parser__oc = PTHREAD_ONCE_INIT;
static void DOperand__parser__builder(void) {
DOperand__parser = tsf_parser_create(DOperand__get_type());
}
#else
static void *DOperand__parser__builder(void) {
return tsf_parser_create(DOperand__get_type());
}
#endif
tsf_parser_t *DOperand__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DOperand__parser, DOperand__parser__builder);
#else
pthread_once(&DOperand__parser__oc, DOperand__parser__builder);
return DOperand__parser;
#endif
}
tsf_bool_t DOperand__write(tsf_stream_file_output_t *out, DOperand_t *data) {
return tsf_typed_data_write(out, DOperand__get_generator(), data);
}
DOperand_t *DOperand__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DOperand__get_parser());
}
tsf_bool_t DOperand__read_into(tsf_stream_file_input_t *in, DOperand_t *result) {
return tsf_typed_data_read_into(in, DOperand__get_parser(), result);
}
static tsf_type_t * volatile DType__type = NULL;
static tsf_genrtr_t * volatile DType__genrtr = NULL;
static tsf_parser_t * volatile DType__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DType__type__oc = PTHREAD_ONCE_INIT;
static void DType__type__builder(void) {
DType__type = DType__build_type();
}
#else
static void *DType__type__builder(void) {
return DType__build_type();
}
#endif
tsf_type_t *DType__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DType__type, DType__type__builder);
#else
pthread_once(&DType__type__oc, DType__type__builder);
return DType__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DType__genrtr__oc = PTHREAD_ONCE_INIT;
static void DType__genrtr__builder(void) {
DType__genrtr = tsf_generator_create(DType__get_type());
}
#else
static void *DType__genrtr__builder(void) {
return tsf_generator_create(DType__get_type());
}
#endif
tsf_genrtr_t *DType__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DType__genrtr, DType__genrtr__builder);
#else
pthread_once(&DType__genrtr__oc, DType__genrtr__builder);
return DType__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DType__parser__oc = PTHREAD_ONCE_INIT;
static void DType__parser__builder(void) {
DType__parser = tsf_parser_create(DType__get_type());
}
#else
static void *DType__parser__builder(void) {
return tsf_parser_create(DType__get_type());
}
#endif
tsf_parser_t *DType__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DType__parser, DType__parser__builder);
#else
pthread_once(&DType__parser__oc, DType__parser__builder);
return DType__parser;
#endif
}
void DType__destruct(DType_t *data) {
free(*data);
}
tsf_bool_t DType__write(tsf_stream_file_output_t *out, DType_t *data) {
return tsf_typed_data_write(out, DType__get_generator(), data);
}
DType_t *DType__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DType__get_parser());
}
tsf_bool_t DType__read_into(tsf_stream_file_input_t *in, DType_t *result) {
return tsf_typed_data_read_into(in, DType__get_parser(), result);
}
static tsf_type_t * volatile DCodeOffset__type = NULL;
static tsf_genrtr_t * volatile DCodeOffset__genrtr = NULL;
static tsf_parser_t * volatile DCodeOffset__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DCodeOffset__type__oc = PTHREAD_ONCE_INIT;
static void DCodeOffset__type__builder(void) {
DCodeOffset__type = DCodeOffset__build_type();
}
#else
static void *DCodeOffset__type__builder(void) {
return DCodeOffset__build_type();
}
#endif
tsf_type_t *DCodeOffset__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DCodeOffset__type, DCodeOffset__type__builder);
#else
pthread_once(&DCodeOffset__type__oc, DCodeOffset__type__builder);
return DCodeOffset__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DCodeOffset__genrtr__oc = PTHREAD_ONCE_INIT;
static void DCodeOffset__genrtr__builder(void) {
DCodeOffset__genrtr = tsf_generator_create(DCodeOffset__get_type());
}
#else
static void *DCodeOffset__genrtr__builder(void) {
return tsf_generator_create(DCodeOffset__get_type());
}
#endif
tsf_genrtr_t *DCodeOffset__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DCodeOffset__genrtr, DCodeOffset__genrtr__builder);
#else
pthread_once(&DCodeOffset__genrtr__oc, DCodeOffset__genrtr__builder);
return DCodeOffset__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DCodeOffset__parser__oc = PTHREAD_ONCE_INIT;
static void DCodeOffset__parser__builder(void) {
DCodeOffset__parser = tsf_parser_create(DCodeOffset__get_type());
}
#else
static void *DCodeOffset__parser__builder(void) {
return tsf_parser_create(DCodeOffset__get_type());
}
#endif
tsf_parser_t *DCodeOffset__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DCodeOffset__parser, DCodeOffset__parser__builder);
#else
pthread_once(&DCodeOffset__parser__oc, DCodeOffset__parser__builder);
return DCodeOffset__parser;
#endif
}
tsf_bool_t DCodeOffset__write(tsf_stream_file_output_t *out, DCodeOffset_t *data) {
return tsf_typed_data_write(out, DCodeOffset__get_generator(), data);
}
DCodeOffset_t *DCodeOffset__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DCodeOffset__get_parser());
}
tsf_bool_t DCodeOffset__read_into(tsf_stream_file_input_t *in, DCodeOffset_t *result) {
return tsf_typed_data_read_into(in, DCodeOffset__get_parser(), result);
}
static tsf_type_t * volatile DVariableDecl__type = NULL;
static tsf_genrtr_t * volatile DVariableDecl__genrtr = NULL;
static tsf_parser_t * volatile DVariableDecl__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DVariableDecl__type__oc = PTHREAD_ONCE_INIT;
static void DVariableDecl__type__builder(void) {
DVariableDecl__type = DVariableDecl__build_type();
}
#else
static void *DVariableDecl__type__builder(void) {
return DVariableDecl__build_type();
}
#endif
tsf_type_t *DVariableDecl__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DVariableDecl__type, DVariableDecl__type__builder);
#else
pthread_once(&DVariableDecl__type__oc, DVariableDecl__type__builder);
return DVariableDecl__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DVariableDecl__genrtr__oc = PTHREAD_ONCE_INIT;
static void DVariableDecl__genrtr__builder(void) {
DVariableDecl__genrtr = tsf_generator_create(DVariableDecl__get_type());
}
#else
static void *DVariableDecl__genrtr__builder(void) {
return tsf_generator_create(DVariableDecl__get_type());
}
#endif
tsf_genrtr_t *DVariableDecl__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DVariableDecl__genrtr, DVariableDecl__genrtr__builder);
#else
pthread_once(&DVariableDecl__genrtr__oc, DVariableDecl__genrtr__builder);
return DVariableDecl__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DVariableDecl__parser__oc = PTHREAD_ONCE_INIT;
static void DVariableDecl__parser__builder(void) {
DVariableDecl__parser = tsf_parser_create(DVariableDecl__get_type());
}
#else
static void *DVariableDecl__parser__builder(void) {
return tsf_parser_create(DVariableDecl__get_type());
}
#endif
tsf_parser_t *DVariableDecl__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DVariableDecl__parser, DVariableDecl__parser__builder);
#else
pthread_once(&DVariableDecl__parser__oc, DVariableDecl__parser__builder);
return DVariableDecl__parser;
#endif
}
void DVariableDecl__destruct(DVariableDecl_t *data) {
DType__destruct(&data->type);
}
tsf_bool_t DVariableDecl__write(tsf_stream_file_output_t *out, DVariableDecl_t *data) {
return tsf_typed_data_write(out, DVariableDecl__get_generator(), data);
}
DVariableDecl_t *DVariableDecl__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DVariableDecl__get_parser());
}
tsf_bool_t DVariableDecl__read_into(tsf_stream_file_input_t *in, DVariableDecl_t *result) {
return tsf_typed_data_read_into(in, DVariableDecl__get_parser(), result);
}
static tsf_type_t * volatile DInstruction__type = NULL;
static tsf_genrtr_t * volatile DInstruction__genrtr = NULL;
static tsf_parser_t * volatile DInstruction__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__type__builder(void) {
DInstruction__type = DInstruction__build_type();
}
#else
static void *DInstruction__type__builder(void) {
return DInstruction__build_type();
}
#endif
tsf_type_t *DInstruction__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__type, DInstruction__type__builder);
#else
pthread_once(&DInstruction__type__oc, DInstruction__type__builder);
return DInstruction__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__genrtr__oc = PTHREAD_ONCE_INIT;
static void DInstruction__genrtr__builder(void) {
DInstruction__genrtr = tsf_generator_create(DInstruction__get_type());
}
#else
static void *DInstruction__genrtr__builder(void) {
return tsf_generator_create(DInstruction__get_type());
}
#endif
tsf_genrtr_t *DInstruction__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DInstruction__genrtr, DInstruction__genrtr__builder);
#else
pthread_once(&DInstruction__genrtr__oc, DInstruction__genrtr__builder);
return DInstruction__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__parser__oc = PTHREAD_ONCE_INIT;
static void DInstruction__parser__builder(void) {
DInstruction__parser = tsf_parser_create(DInstruction__get_type());
}
#else
static void *DInstruction__parser__builder(void) {
return tsf_parser_create(DInstruction__get_type());
}
#endif
tsf_parser_t *DInstruction__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DInstruction__parser, DInstruction__parser__builder);
#else
pthread_once(&DInstruction__parser__oc, DInstruction__parser__builder);
return DInstruction__parser;
#endif
}
void DInstruction__destruct(DInstruction_t *data) {
switch (data->value) {
case 3:
DInstruction__alloc__destruct(&data->u.alloc);
break;
case 6:
DInstruction__call__destruct(&data->u.call);
break;
default:
break;
}
}
tsf_bool_t DInstruction__write(tsf_stream_file_output_t *out, DInstruction_t *data) {
return tsf_typed_data_write(out, DInstruction__get_generator(), data);
}
DInstruction_t *DInstruction__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DInstruction__get_parser());
}
tsf_bool_t DInstruction__read_into(tsf_stream_file_input_t *in, DInstruction_t *result) {
return tsf_typed_data_read_into(in, DInstruction__get_parser(), result);
}
static tsf_type_t * volatile DProcedure__type = NULL;
static tsf_genrtr_t * volatile DProcedure__genrtr = NULL;
static tsf_parser_t * volatile DProcedure__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedure__type__oc = PTHREAD_ONCE_INIT;
static void DProcedure__type__builder(void) {
DProcedure__type = DProcedure__build_type();
}
#else
static void *DProcedure__type__builder(void) {
return DProcedure__build_type();
}
#endif
tsf_type_t *DProcedure__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProcedure__type, DProcedure__type__builder);
#else
pthread_once(&DProcedure__type__oc, DProcedure__type__builder);
return DProcedure__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedure__genrtr__oc = PTHREAD_ONCE_INIT;
static void DProcedure__genrtr__builder(void) {
DProcedure__genrtr = tsf_generator_create(DProcedure__get_type());
}
#else
static void *DProcedure__genrtr__builder(void) {
return tsf_generator_create(DProcedure__get_type());
}
#endif
tsf_genrtr_t *DProcedure__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedure__genrtr, DProcedure__genrtr__builder);
#else
pthread_once(&DProcedure__genrtr__oc, DProcedure__genrtr__builder);
return DProcedure__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedure__parser__oc = PTHREAD_ONCE_INIT;
static void DProcedure__parser__builder(void) {
DProcedure__parser = tsf_parser_create(DProcedure__get_type());
}
#else
static void *DProcedure__parser__builder(void) {
return tsf_parser_create(DProcedure__get_type());
}
#endif
tsf_parser_t *DProcedure__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedure__parser, DProcedure__parser__builder);
#else
pthread_once(&DProcedure__parser__oc, DProcedure__parser__builder);
return DProcedure__parser;
#endif
}
void DProcedure__destruct(DProcedure_t *data) {
free(*&data->name);
}
tsf_bool_t DProcedure__write(tsf_stream_file_output_t *out, DProcedure_t *data) {
return tsf_typed_data_write(out, DProcedure__get_generator(), data);
}
DProcedure_t *DProcedure__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DProcedure__get_parser());
}
tsf_bool_t DProcedure__read_into(tsf_stream_file_input_t *in, DProcedure_t *result) {
return tsf_typed_data_read_into(in, DProcedure__get_parser(), result);
}
static tsf_type_t * volatile DProcedureDecl__type = NULL;
static tsf_genrtr_t * volatile DProcedureDecl__genrtr = NULL;
static tsf_parser_t * volatile DProcedureDecl__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDecl__type__oc = PTHREAD_ONCE_INIT;
static void DProcedureDecl__type__builder(void) {
DProcedureDecl__type = DProcedureDecl__build_type();
}
#else
static void *DProcedureDecl__type__builder(void) {
return DProcedureDecl__build_type();
}
#endif
tsf_type_t *DProcedureDecl__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDecl__type, DProcedureDecl__type__builder);
#else
pthread_once(&DProcedureDecl__type__oc, DProcedureDecl__type__builder);
return DProcedureDecl__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDecl__genrtr__oc = PTHREAD_ONCE_INIT;
static void DProcedureDecl__genrtr__builder(void) {
DProcedureDecl__genrtr = tsf_generator_create(DProcedureDecl__get_type());
}
#else
static void *DProcedureDecl__genrtr__builder(void) {
return tsf_generator_create(DProcedureDecl__get_type());
}
#endif
tsf_genrtr_t *DProcedureDecl__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedureDecl__genrtr, DProcedureDecl__genrtr__builder);
#else
pthread_once(&DProcedureDecl__genrtr__oc, DProcedureDecl__genrtr__builder);
return DProcedureDecl__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDecl__parser__oc = PTHREAD_ONCE_INIT;
static void DProcedureDecl__parser__builder(void) {
DProcedureDecl__parser = tsf_parser_create(DProcedureDecl__get_type());
}
#else
static void *DProcedureDecl__parser__builder(void) {
return tsf_parser_create(DProcedureDecl__get_type());
}
#endif
tsf_parser_t *DProcedureDecl__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedureDecl__parser, DProcedureDecl__parser__builder);
#else
pthread_once(&DProcedureDecl__parser__oc, DProcedureDecl__parser__builder);
return DProcedureDecl__parser;
#endif
}
void DProcedureDecl__destruct(DProcedureDecl_t *data) {
free(*&data->name);
}
tsf_bool_t DProcedureDecl__write(tsf_stream_file_output_t *out, DProcedureDecl_t *data) {
return tsf_typed_data_write(out, DProcedureDecl__get_generator(), data);
}
DProcedureDecl_t *DProcedureDecl__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DProcedureDecl__get_parser());
}
tsf_bool_t DProcedureDecl__read_into(tsf_stream_file_input_t *in, DProcedureDecl_t *result) {
return tsf_typed_data_read_into(in, DProcedureDecl__get_parser(), result);
}
static tsf_type_t * volatile DProcedureDefn__type = NULL;
static tsf_genrtr_t * volatile DProcedureDefn__genrtr = NULL;
static tsf_parser_t * volatile DProcedureDefn__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDefn__type__oc = PTHREAD_ONCE_INIT;
static void DProcedureDefn__type__builder(void) {
DProcedureDefn__type = DProcedureDefn__build_type();
}
#else
static void *DProcedureDefn__type__builder(void) {
return DProcedureDefn__build_type();
}
#endif
tsf_type_t *DProcedureDefn__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__type, DProcedureDefn__type__builder);
#else
pthread_once(&DProcedureDefn__type__oc, DProcedureDefn__type__builder);
return DProcedureDefn__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDefn__genrtr__oc = PTHREAD_ONCE_INIT;
static void DProcedureDefn__genrtr__builder(void) {
DProcedureDefn__genrtr = tsf_generator_create(DProcedureDefn__get_type());
}
#else
static void *DProcedureDefn__genrtr__builder(void) {
return tsf_generator_create(DProcedureDefn__get_type());
}
#endif
tsf_genrtr_t *DProcedureDefn__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedureDefn__genrtr, DProcedureDefn__genrtr__builder);
#else
pthread_once(&DProcedureDefn__genrtr__oc, DProcedureDefn__genrtr__builder);
return DProcedureDefn__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDefn__parser__oc = PTHREAD_ONCE_INIT;
static void DProcedureDefn__parser__builder(void) {
DProcedureDefn__parser = tsf_parser_create(DProcedureDefn__get_type());
}
#else
static void *DProcedureDefn__parser__builder(void) {
return tsf_parser_create(DProcedureDefn__get_type());
}
#endif
tsf_parser_t *DProcedureDefn__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedureDefn__parser, DProcedureDefn__parser__builder);
#else
pthread_once(&DProcedureDefn__parser__oc, DProcedureDefn__parser__builder);
return DProcedureDefn__parser;
#endif
}
void DProcedureDefn__destruct(DProcedureDefn_t *data) {
free(*&data->name);
DProcedureDefn__variables__destruct(&data->variables);
DProcedureDefn__code__destruct(&data->code);
}
tsf_bool_t DProcedureDefn__write(tsf_stream_file_output_t *out, DProcedureDefn_t *data) {
return tsf_typed_data_write(out, DProcedureDefn__get_generator(), data);
}
DProcedureDefn_t *DProcedureDefn__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DProcedureDefn__get_parser());
}
tsf_bool_t DProcedureDefn__read_into(tsf_stream_file_input_t *in, DProcedureDefn_t *result) {
return tsf_typed_data_read_into(in, DProcedureDefn__get_parser(), result);
}
static tsf_type_t * volatile DProgramElement__type = NULL;
static tsf_genrtr_t * volatile DProgramElement__genrtr = NULL;
static tsf_parser_t * volatile DProgramElement__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgramElement__type__oc = PTHREAD_ONCE_INIT;
static void DProgramElement__type__builder(void) {
DProgramElement__type = DProgramElement__build_type();
}
#else
static void *DProgramElement__type__builder(void) {
return DProgramElement__build_type();
}
#endif
tsf_type_t *DProgramElement__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProgramElement__type, DProgramElement__type__builder);
#else
pthread_once(&DProgramElement__type__oc, DProgramElement__type__builder);
return DProgramElement__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgramElement__genrtr__oc = PTHREAD_ONCE_INIT;
static void DProgramElement__genrtr__builder(void) {
DProgramElement__genrtr = tsf_generator_create(DProgramElement__get_type());
}
#else
static void *DProgramElement__genrtr__builder(void) {
return tsf_generator_create(DProgramElement__get_type());
}
#endif
tsf_genrtr_t *DProgramElement__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProgramElement__genrtr, DProgramElement__genrtr__builder);
#else
pthread_once(&DProgramElement__genrtr__oc, DProgramElement__genrtr__builder);
return DProgramElement__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgramElement__parser__oc = PTHREAD_ONCE_INIT;
static void DProgramElement__parser__builder(void) {
DProgramElement__parser = tsf_parser_create(DProgramElement__get_type());
}
#else
static void *DProgramElement__parser__builder(void) {
return tsf_parser_create(DProgramElement__get_type());
}
#endif
tsf_parser_t *DProgramElement__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DProgramElement__parser, DProgramElement__parser__builder);
#else
pthread_once(&DProgramElement__parser__oc, DProgramElement__parser__builder);
return DProgramElement__parser;
#endif
}
void DProgramElement__destruct(DProgramElement_t *data) {
switch (data->value) {
case 0:
DProcedureDecl__destruct(&data->u.procedureDecl);
break;
case 1:
DProcedureDefn__destruct(&data->u.procedureDefn);
break;
default:
break;
}
}
tsf_bool_t DProgramElement__write(tsf_stream_file_output_t *out, DProgramElement_t *data) {
return tsf_typed_data_write(out, DProgramElement__get_generator(), data);
}
DProgramElement_t *DProgramElement__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DProgramElement__get_parser());
}
tsf_bool_t DProgramElement__read_into(tsf_stream_file_input_t *in, DProgramElement_t *result) {
return tsf_typed_data_read_into(in, DProgramElement__get_parser(), result);
}
static tsf_type_t * volatile DProgram__type = NULL;
static tsf_genrtr_t * volatile DProgram__genrtr = NULL;
static tsf_parser_t * volatile DProgram__parser = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgram__type__oc = PTHREAD_ONCE_INIT;
static void DProgram__type__builder(void) {
DProgram__type = DProgram__build_type();
}
#else
static void *DProgram__type__builder(void) {
return DProgram__build_type();
}
#endif
tsf_type_t *DProgram__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProgram__type, DProgram__type__builder);
#else
pthread_once(&DProgram__type__oc, DProgram__type__builder);
return DProgram__type;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgram__genrtr__oc = PTHREAD_ONCE_INIT;
static void DProgram__genrtr__builder(void) {
DProgram__genrtr = tsf_generator_create(DProgram__get_type());
}
#else
static void *DProgram__genrtr__builder(void) {
return tsf_generator_create(DProgram__get_type());
}
#endif
tsf_genrtr_t *DProgram__get_generator(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProgram__genrtr, DProgram__genrtr__builder);
#else
pthread_once(&DProgram__genrtr__oc, DProgram__genrtr__builder);
return DProgram__genrtr;
#endif
}
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgram__parser__oc = PTHREAD_ONCE_INIT;
static void DProgram__parser__builder(void) {
DProgram__parser = tsf_parser_create(DProgram__get_type());
}
#else
static void *DProgram__parser__builder(void) {
return tsf_parser_create(DProgram__get_type());
}
#endif
tsf_parser_t *DProgram__get_parser(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_parser_t*)tsf_init_pointer((void**)&DProgram__parser, DProgram__parser__builder);
#else
pthread_once(&DProgram__parser__oc, DProgram__parser__builder);
return DProgram__parser;
#endif
}
void DProgram__destruct(DProgram_t *data) {
DProgram__globals__destruct(&data->globals);
}
tsf_bool_t DProgram__write(tsf_stream_file_output_t *out, DProgram_t *data) {
return tsf_typed_data_write(out, DProgram__get_generator(), data);
}
DProgram_t *DProgram__read(tsf_stream_file_input_t *in) {
return tsf_typed_data_read(in, DProgram__get_parser());
}
tsf_bool_t DProgram__read_into(tsf_stream_file_input_t *in, DProgram_t *result) {
return tsf_typed_data_read_into(in, DProgram__get_parser(), result);
}
static tsf_type_t * volatile DInstruction__mov__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__mov__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__mov__type__builder(void) {
DInstruction__mov__type = DInstruction__mov__build_type();
}
#else
static void *DInstruction__mov__type__builder(void) {
return DInstruction__mov__build_type();
}
#endif
tsf_type_t *DInstruction__mov__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__mov__type, DInstruction__mov__type__builder);
#else
pthread_once(&DInstruction__mov__type__oc, DInstruction__mov__type__builder);
return DInstruction__mov__type;
#endif
}
static tsf_type_t * volatile DInstruction__add__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__add__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__add__type__builder(void) {
DInstruction__add__type = DInstruction__add__build_type();
}
#else
static void *DInstruction__add__type__builder(void) {
return DInstruction__add__build_type();
}
#endif
tsf_type_t *DInstruction__add__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__add__type, DInstruction__add__type__builder);
#else
pthread_once(&DInstruction__add__type__oc, DInstruction__add__type__builder);
return DInstruction__add__type;
#endif
}
static tsf_type_t * volatile DInstruction__alloc__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__alloc__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__alloc__type__builder(void) {
DInstruction__alloc__type = DInstruction__alloc__build_type();
}
#else
static void *DInstruction__alloc__type__builder(void) {
return DInstruction__alloc__build_type();
}
#endif
tsf_type_t *DInstruction__alloc__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__alloc__type, DInstruction__alloc__type__builder);
#else
pthread_once(&DInstruction__alloc__type__oc, DInstruction__alloc__type__builder);
return DInstruction__alloc__type;
#endif
}
void DInstruction__alloc__destruct(DInstruction__alloc_t *data) {
DType__destruct(&data->type);
}
static tsf_type_t * volatile DInstruction__ret__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__ret__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__ret__type__builder(void) {
DInstruction__ret__type = DInstruction__ret__build_type();
}
#else
static void *DInstruction__ret__type__builder(void) {
return DInstruction__ret__build_type();
}
#endif
tsf_type_t *DInstruction__ret__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__ret__type, DInstruction__ret__type__builder);
#else
pthread_once(&DInstruction__ret__type__oc, DInstruction__ret__type__builder);
return DInstruction__ret__type;
#endif
}
static tsf_type_t * volatile DInstruction__jump__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__jump__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__jump__type__builder(void) {
DInstruction__jump__type = DInstruction__jump__build_type();
}
#else
static void *DInstruction__jump__type__builder(void) {
return DInstruction__jump__build_type();
}
#endif
tsf_type_t *DInstruction__jump__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__jump__type, DInstruction__jump__type__builder);
#else
pthread_once(&DInstruction__jump__type__oc, DInstruction__jump__type__builder);
return DInstruction__jump__type;
#endif
}
static tsf_type_t * volatile DInstruction__call__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__call__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__call__type__builder(void) {
DInstruction__call__type = DInstruction__call__build_type();
}
#else
static void *DInstruction__call__type__builder(void) {
return DInstruction__call__build_type();
}
#endif
tsf_type_t *DInstruction__call__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__call__type, DInstruction__call__type__builder);
#else
pthread_once(&DInstruction__call__type__oc, DInstruction__call__type__builder);
return DInstruction__call__type;
#endif
}
void DInstruction__call__destruct(DInstruction__call_t *data) {
DInstruction__call__args__destruct(&data->args);
}
static tsf_type_t * volatile DInstruction__call__args__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__call__args__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__call__args__type__builder(void) {
DInstruction__call__args__type = DInstruction__call__args__build_type();
}
#else
static void *DInstruction__call__args__type__builder(void) {
return DInstruction__call__args__build_type();
}
#endif
tsf_type_t *DInstruction__call__args__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__call__args__type, DInstruction__call__args__type__builder);
#else
pthread_once(&DInstruction__call__args__type__oc, DInstruction__call__args__type__builder);
return DInstruction__call__args__type;
#endif
}
void DInstruction__call__args__destruct(DInstruction__call__args_t *data) {
int16__array__destruct(data);
}
static tsf_type_t * volatile int16__array__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t int16__array__type__oc = PTHREAD_ONCE_INIT;
static void int16__array__type__builder(void) {
int16__array__type = int16__array__build_type();
}
#else
static void *int16__array__type__builder(void) {
return int16__array__build_type();
}
#endif
tsf_type_t *int16__array__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&int16__array__type, int16__array__type__builder);
#else
pthread_once(&int16__array__type__oc, int16__array__type__builder);
return int16__array__type;
#endif
}
void int16__array__destruct(int16__array_t *data) {
free(data->data);
}
static tsf_type_t * volatile DInstruction__branchZero__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__branchZero__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__branchZero__type__builder(void) {
DInstruction__branchZero__type = DInstruction__branchZero__build_type();
}
#else
static void *DInstruction__branchZero__type__builder(void) {
return DInstruction__branchZero__build_type();
}
#endif
tsf_type_t *DInstruction__branchZero__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__branchZero__type, DInstruction__branchZero__type__builder);
#else
pthread_once(&DInstruction__branchZero__type__oc, DInstruction__branchZero__type__builder);
return DInstruction__branchZero__type;
#endif
}
static tsf_type_t * volatile DProcedureDefn__variables__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDefn__variables__type__oc = PTHREAD_ONCE_INIT;
static void DProcedureDefn__variables__type__builder(void) {
DProcedureDefn__variables__type = DProcedureDefn__variables__build_type();
}
#else
static void *DProcedureDefn__variables__type__builder(void) {
return DProcedureDefn__variables__build_type();
}
#endif
tsf_type_t *DProcedureDefn__variables__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__variables__type, DProcedureDefn__variables__type__builder);
#else
pthread_once(&DProcedureDefn__variables__type__oc, DProcedureDefn__variables__type__builder);
return DProcedureDefn__variables__type;
#endif
}
void DProcedureDefn__variables__destruct(DProcedureDefn__variables_t *data) {
DVariableDecl__array__destruct(data);
}
static tsf_type_t * volatile DVariableDecl__array__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DVariableDecl__array__type__oc = PTHREAD_ONCE_INIT;
static void DVariableDecl__array__type__builder(void) {
DVariableDecl__array__type = DVariableDecl__array__build_type();
}
#else
static void *DVariableDecl__array__type__builder(void) {
return DVariableDecl__array__build_type();
}
#endif
tsf_type_t *DVariableDecl__array__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DVariableDecl__array__type, DVariableDecl__array__type__builder);
#else
pthread_once(&DVariableDecl__array__type__oc, DVariableDecl__array__type__builder);
return DVariableDecl__array__type;
#endif
}
void DVariableDecl__array__destruct(DVariableDecl__array_t *data) {
uint32_t i;
for (i = data->len; i--;)
DVariableDecl__destruct((data->data + i));
free(data->data);
}
static tsf_type_t * volatile DProcedureDefn__code__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProcedureDefn__code__type__oc = PTHREAD_ONCE_INIT;
static void DProcedureDefn__code__type__builder(void) {
DProcedureDefn__code__type = DProcedureDefn__code__build_type();
}
#else
static void *DProcedureDefn__code__type__builder(void) {
return DProcedureDefn__code__build_type();
}
#endif
tsf_type_t *DProcedureDefn__code__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__code__type, DProcedureDefn__code__type__builder);
#else
pthread_once(&DProcedureDefn__code__type__oc, DProcedureDefn__code__type__builder);
return DProcedureDefn__code__type;
#endif
}
void DProcedureDefn__code__destruct(DProcedureDefn__code_t *data) {
DInstruction__array__destruct(data);
}
static tsf_type_t * volatile DInstruction__array__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DInstruction__array__type__oc = PTHREAD_ONCE_INIT;
static void DInstruction__array__type__builder(void) {
DInstruction__array__type = DInstruction__array__build_type();
}
#else
static void *DInstruction__array__type__builder(void) {
return DInstruction__array__build_type();
}
#endif
tsf_type_t *DInstruction__array__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__array__type, DInstruction__array__type__builder);
#else
pthread_once(&DInstruction__array__type__oc, DInstruction__array__type__builder);
return DInstruction__array__type;
#endif
}
void DInstruction__array__destruct(DInstruction__array_t *data) {
uint32_t i;
for (i = data->len; i--;)
DInstruction__destruct((data->data + i));
free(data->data);
}
static tsf_type_t * volatile DProgram__globals__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgram__globals__type__oc = PTHREAD_ONCE_INIT;
static void DProgram__globals__type__builder(void) {
DProgram__globals__type = DProgram__globals__build_type();
}
#else
static void *DProgram__globals__type__builder(void) {
return DProgram__globals__build_type();
}
#endif
tsf_type_t *DProgram__globals__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProgram__globals__type, DProgram__globals__type__builder);
#else
pthread_once(&DProgram__globals__type__oc, DProgram__globals__type__builder);
return DProgram__globals__type;
#endif
}
void DProgram__globals__destruct(DProgram__globals_t *data) {
DProgramElement__array__destruct(data);
}
static tsf_type_t * volatile DProgramElement__array__type = NULL;
#ifndef TSF_HAVE_INIT_POINTER
static pthread_once_t DProgramElement__array__type__oc = PTHREAD_ONCE_INIT;
static void DProgramElement__array__type__builder(void) {
DProgramElement__array__type = DProgramElement__array__build_type();
}
#else
static void *DProgramElement__array__type__builder(void) {
return DProgramElement__array__build_type();
}
#endif
tsf_type_t *DProgramElement__array__get_type(void) {
#ifdef TSF_HAVE_INIT_POINTER
return (tsf_type_t*)tsf_init_pointer((void**)&DProgramElement__array__type, DProgramElement__array__type__builder);
#else
pthread_once(&DProgramElement__array__type__oc, DProgramElement__array__type__builder);
return DProgramElement__array__type;
#endif
}
void DProgramElement__array__destruct(DProgramElement__array_t *data) {
uint32_t i;
for (i = data->len; i--;)
DProgramElement__destruct((data->data + i));
free(data->data);
}