diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2025-10-05 20:27:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-05 20:27:01 +0100 |
| commit | 810ca89253a9f7b4e2b6eb1e527a66e2e168708b (patch) | |
| tree | b16904ae8e9c9b1fbcd3b9658a4c23c7cc3c199e /src/checker.cpp | |
| parent | 7237747ee7f8c53285dc8138cfad9402be1bf77d (diff) | |
| parent | 2daaf57ad1f0b0cd166704f808736ddf7f603e23 (diff) | |
Merge pull request #5727 from harold-b/hb.intrinsics.objc_super
Add intrinsics.objc_super and Automatically emit objc_msgSend calls
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp index 32bda2e43..0a8590570 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1416,6 +1416,8 @@ gb_internal void init_universal(void) { t_objc_SEL = alloc_type_pointer(t_objc_selector); t_objc_Class = alloc_type_pointer(t_objc_class); t_objc_Ivar = alloc_type_pointer(t_objc_ivar); + + t_objc_instancetype = add_global_type_name(intrinsics_pkg->scope, str_lit("objc_instancetype"), t_objc_id); } } @@ -3386,12 +3388,20 @@ gb_internal void init_core_map_type(Checker *c) { t_raw_map_ptr = alloc_type_pointer(t_raw_map); } +gb_internal void init_core_objc_c(Checker *c) { + if (build_context.metrics.os == TargetOs_darwin) { + t_objc_super = find_core_type(c, str_lit("objc_super")); + t_objc_super_ptr = alloc_type_pointer(t_objc_super); + } +} + gb_internal void init_preload(Checker *c) { init_core_type_info(c); init_mem_allocator(c); init_core_context(c); init_core_source_code_location(c); init_core_map_type(c); + init_core_objc_c(c); } gb_internal ExactValue check_decl_attribute_value(CheckerContext *c, Ast *value) { |