@@ -31,29 +31,29 @@ typedef struct {
3131
3232#define ERROR_DESC_NONE (error_desc_t){0,0,0,0}
3333
34- typedef void (* gravity_error_callback ) (gravity_vm * vm , error_type_t error_type , const char * description , error_desc_t error_desc , void * xdata );
35- typedef void (* gravity_log_callback ) (gravity_vm * vm , const char * message , void * xdata );
36- typedef void (* gravity_log_clear ) (gravity_vm * vm , void * xdata );
37- typedef void (* gravity_unittest_callback ) (gravity_vm * vm , error_type_t error_type , const char * desc , const char * note , gravity_value_t value , int32_t row , int32_t col , void * xdata );
38- typedef const char * (* gravity_filename_callback ) (uint32_t fileid , void * xdata );
39- typedef const char * (* gravity_loadfile_callback ) (const char * file , size_t * size , uint32_t * fileid , void * xdata , bool * is_static );
40- typedef const char * * (* gravity_optclass_callback ) (void * xdata );
41- typedef void (* gravity_parser_callback ) (void * token , void * xdata );
42- typedef const char * (* gravity_precode_callback ) (void * xdata );
43- typedef void (* gravity_type_callback ) (void * token , const char * type , void * xdata );
34+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_error_callback ) (gravity_vm * vm , error_type_t error_type , const char * description , error_desc_t error_desc , void * xdata );
35+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_log_callback ) (gravity_vm * vm , const char * message , void * xdata );
36+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_log_clear ) (gravity_vm * vm , void * xdata );
37+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_unittest_callback ) (gravity_vm * vm , error_type_t error_type , const char * desc , const char * note , gravity_value_t value , int32_t row , int32_t col , void * xdata );
38+ typedef const char * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_filename_callback ) (uint32_t fileid , void * xdata );
39+ typedef const char * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_loadfile_callback ) (const char * file , size_t * size , uint32_t * fileid , void * xdata , bool * is_static );
40+ typedef const char * * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_optclass_callback ) (void * xdata );
41+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_parser_callback ) (void * token , void * xdata );
42+ typedef const char * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_precode_callback ) (void * xdata );
43+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_type_callback ) (void * token , const char * type , void * xdata );
4444
45- typedef void (* gravity_bridge_blacken ) (gravity_vm * vm , void * xdata );
46- typedef void * (* gravity_bridge_clone ) (gravity_vm * vm , void * xdata );
47- typedef bool (* gravity_bridge_equals ) (gravity_vm * vm , void * obj1 , void * obj2 );
48- typedef bool (* gravity_bridge_execute ) (gravity_vm * vm , void * xdata , gravity_value_t ctx , gravity_value_t args [], int16_t nargs , uint32_t vindex );
49- typedef void (* gravity_bridge_free ) (gravity_vm * vm , gravity_object_t * obj );
50- typedef bool (* gravity_bridge_getundef ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , uint32_t vindex );
51- typedef bool (* gravity_bridge_getvalue ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , uint32_t vindex );
52- typedef bool (* gravity_bridge_initinstance ) (gravity_vm * vm , void * xdata , gravity_value_t ctx , gravity_instance_t * instance , gravity_value_t args [], int16_t nargs );
53- typedef bool (* gravity_bridge_setvalue ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , gravity_value_t value );
54- typedef bool (* gravity_bridge_setundef ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , gravity_value_t value );
55- typedef uint32_t (* gravity_bridge_size ) (gravity_vm * vm , gravity_object_t * obj );
56- typedef const char * (* gravity_bridge_string ) (gravity_vm * vm , void * xdata , uint32_t * len );
45+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_blacken ) (gravity_vm * vm , void * xdata );
46+ typedef void * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_clone ) (gravity_vm * vm , void * xdata );
47+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_equals ) (gravity_vm * vm , void * obj1 , void * obj2 );
48+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_execute ) (gravity_vm * vm , void * xdata , gravity_value_t ctx , gravity_value_t args [], int16_t nargs , uint32_t vindex );
49+ typedef void (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_free ) (gravity_vm * vm , gravity_object_t * obj );
50+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_getundef ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , uint32_t vindex );
51+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_getvalue ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , uint32_t vindex );
52+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_initinstance ) (gravity_vm * vm , void * xdata , gravity_value_t ctx , gravity_instance_t * instance , gravity_value_t args [], int16_t nargs );
53+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_setvalue ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , gravity_value_t value );
54+ typedef bool (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_setundef ) (gravity_vm * vm , void * xdata , gravity_value_t target , const char * key , gravity_value_t value );
55+ typedef uint32_t (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_size ) (gravity_vm * vm , gravity_object_t * obj );
56+ typedef const char * (* __attribute__ (( swift_attr ( "@MainActor" ))) gravity_bridge_string ) (gravity_vm * vm , void * xdata , uint32_t * len );
5757
5858typedef struct {
5959 // user data
@@ -62,16 +62,16 @@ typedef struct {
6262 bool disable_gccheck_1 ; // memory allocations are protected so it could be useful to automatically check gc when enabled is restored
6363
6464 // callbacks
65- gravity_log_callback log_callback ; // log reporting callback
66- gravity_log_clear log_clear ; // log reset callback
67- gravity_error_callback error_callback ; // error reporting callback
68- gravity_unittest_callback unittest_callback ; // special unit test callback
69- gravity_parser_callback parser_callback ; // lexer callback used for syntax highlight
70- gravity_type_callback type_callback ; // callback used to bind a token with a declared type
71- gravity_precode_callback precode_callback ; // called at parse time in order to give the opportunity to add custom source code
72- gravity_loadfile_callback loadfile_callback ; // callback to give the opportunity to load a file from an import statement
73- gravity_filename_callback filename_callback ; // called while reporting an error in order to be able to convert a fileid to a real filename
74- gravity_optclass_callback optional_classes ; // optional classes to be exposed to the semantic checker as extern (to be later registered)
65+ gravity_log_callback log_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // log reporting callback
66+ gravity_log_clear log_clear __attribute__(( swift_attr ( "@MainActor" ))) ; // log reset callback
67+ gravity_error_callback error_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // error reporting callback
68+ gravity_unittest_callback unittest_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // special unit test callback
69+ gravity_parser_callback parser_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // lexer callback used for syntax highlight
70+ gravity_type_callback type_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // callback used to bind a token with a declared type
71+ gravity_precode_callback precode_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // called at parse time in order to give the opportunity to add custom source code
72+ gravity_loadfile_callback loadfile_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // callback to give the opportunity to load a file from an import statement
73+ gravity_filename_callback filename_callback __attribute__(( swift_attr ( "@MainActor" ))) ; // called while reporting an error in order to be able to convert a fileid to a real filename
74+ gravity_optclass_callback optional_classes __attribute__(( swift_attr ( "@MainActor" ))) ; // optional classes to be exposed to the semantic checker as extern (to be later registered)
7575
7676 // bridge
7777 gravity_bridge_initinstance bridge_initinstance ; // init class
0 commit comments