aboutsummaryrefslogtreecommitdiff
path: root/core/sys/darwin/Foundation/objc.odin
diff options
context:
space:
mode:
authorVitalii Kravchenko <vitalyx@gmail.com>2024-08-13 22:09:03 +0100
committerVitalii Kravchenko <vitalyx@gmail.com>2024-08-16 00:00:29 +0100
commit004036dc591bfec83ed74de41cb732820bc8f22b (patch)
treece8f6f8070bddf2ee2415b58ee9607ba6faf7f35 /core/sys/darwin/Foundation/objc.odin
parent1761802330841533dd53bcb2e0f9f5309542e1d3 (diff)
More Foundation bindings.
Diffstat (limited to 'core/sys/darwin/Foundation/objc.odin')
-rw-r--r--core/sys/darwin/Foundation/objc.odin24
1 files changed, 15 insertions, 9 deletions
diff --git a/core/sys/darwin/Foundation/objc.odin b/core/sys/darwin/Foundation/objc.odin
index 673996cbe..51cfee444 100644
--- a/core/sys/darwin/Foundation/objc.odin
+++ b/core/sys/darwin/Foundation/objc.odin
@@ -10,17 +10,23 @@ import "core:c"
IMP :: proc "c" (object: id, sel: SEL, #c_vararg args: ..any) -> id
foreign Foundation {
- objc_lookUpClass :: proc "c" (name: cstring) -> Class ---
- sel_registerName :: proc "c" (name: cstring) -> SEL ---
- objc_allocateClassPair :: proc "c" (superclass : Class, name : cstring, extraBytes : c.size_t) -> Class ---
- objc_registerClassPair :: proc "c" (cls : Class) ---
+ objc_getMetaClass :: proc "c" (name: cstring) -> id ---
+ objc_lookUpClass :: proc "c" (name: cstring) -> Class ---
+ objc_allocateClassPair :: proc "c" (superclass : Class, name : cstring, extraBytes : c.size_t) -> Class ---
+ objc_registerClassPair :: proc "c" (cls : Class) ---
- class_addMethod :: proc "c" (cls: Class, name: SEL, imp: IMP, types: cstring) -> BOOL ---
- class_getInstanceMethod :: proc "c" (cls: Class, name: SEL) -> Method ---
- class_createInstance :: proc "c" (cls: Class, extraBytes: c.size_t) -> id ---
+ sel_registerName :: proc "c" (name: cstring) -> SEL ---
+
+ class_addMethod :: proc "c" (cls: Class, name: SEL, imp: IMP, types: cstring) -> BOOL ---
+ class_getInstanceMethod :: proc "c" (cls: Class, name: SEL) -> Method ---
+ class_createInstance :: proc "c" (cls: Class, extraBytes: c.size_t) -> id ---
method_setImplementation :: proc "c" (method: Method, imp: IMP) ---
- object_getIndexedIvars :: proc(obj: id) -> rawptr ---
+
+ object_getClass :: proc "c" (obj: id) -> Class ---
+ object_setClass :: proc "c" (obj: id, cls: Class) -> Class ---
+ object_getClassName :: proc "c" (obj: id) -> cstring ---
+ object_getIndexedIvars :: proc "c" (obj: id) -> rawptr ---
}
@@ -72,7 +78,7 @@ objc_class_internals :: struct {
info: c.long,
instance_size: c.long,
ivars: ^objc_ivar_list,
-
+
methodLists: ^^objc_method_list,
cache: rawptr,