runtime: add assembly system to collect and export type definitions

This commit is contained in:
2026-05-03 13:11:22 +01:00
parent 7d78d7d314
commit 7b42a023e4
12 changed files with 445 additions and 35 deletions
@@ -0,0 +1,37 @@
#ifndef FX_REFLECTION_ASSEMBLY_H_
#define FX_REFLECTION_ASSEMBLY_H_
#include <fx/macros.h>
FX_DECLS_BEGIN;
#define FX_REFLECTION_TYPE_ASSEMBLY (fx_assembly_get_type())
FX_DECLARE_TYPE(fx_assembly);
FX_TYPE_CLASS_DECLARATION_BEGIN(fx_assembly)
FX_TYPE_CLASS_DECLARATION_END(fx_assembly)
FX_API fx_type fx_assembly_get_type();
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_assembly, FX_REFLECTION_TYPE_ASSEMBLY);
FX_API void fx_assembly_set_name(fx_assembly *asm, const char *name);
FX_API void fx_assembly_set_version(
fx_assembly *asm,
long major,
long minor,
long build,
long revision);
FX_API void fx_assembly_add_type(
fx_assembly *asm,
const char *full_name,
fx_type type_id);
FX_API void fx_assembly_dump(const fx_assembly *asm);
FX_DECLS_END
;
#endif