]> gitweb.factorcode.org Git - factor.git/blob - basis/cocoa/runtime/runtime.factor
58238c0b4f5248e76a5505c1f624d1d5a578d288
[factor.git] / basis / cocoa / runtime / runtime.factor
1 ! Copyright (C) 2006, 2007 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.syntax classes.struct core-foundation ;
4 IN: cocoa.runtime
5
6 TYPEDEF: void* SEL
7
8 TYPEDEF: void* id
9
10 FUNCTION: c-string sel_getName ( SEL aSelector )
11
12 FUNCTION: char sel_isMapped ( SEL aSelector )
13
14 FUNCTION: SEL sel_registerName ( c-string str )
15
16 TYPEDEF: void* Class
17 TYPEDEF: void* Method
18 TYPEDEF: void* Protocol
19 TYPEDEF: void* Ivar
20
21 STRUCT: objc-super
22     { receiver id }
23     { class Class } ;
24
25 CONSTANT: CLS_CLASS        0x1
26 CONSTANT: CLS_META         0x2
27 CONSTANT: CLS_INITIALIZED  0x4
28 CONSTANT: CLS_POSING       0x8
29 CONSTANT: CLS_MAPPED       0x10
30 CONSTANT: CLS_FLUSH_CACHE  0x20
31 CONSTANT: CLS_GROW_CACHE   0x40
32 CONSTANT: CLS_NEED_BIND    0x80
33 CONSTANT: CLS_METHOD_ARRAY 0x100
34
35 FUNCTION: int objc_getClassList ( void* buffer, int bufferLen )
36
37 FUNCTION: Class objc_getClass ( c-string class )
38
39 FUNCTION: Class objc_getMetaClass ( c-string class )
40
41 FUNCTION: Protocol objc_getProtocol ( c-string class )
42
43 FUNCTION: Class objc_allocateClassPair ( Class superclass, c-string name, size_t extraBytes )
44 FUNCTION: void objc_registerClassPair ( Class cls )
45
46 FUNCTION: void* objc_getAssociatedObject ( void* obj, c-string key )
47
48 FUNCTION: id class_createInstance ( Class class, uint additionalByteCount )
49
50 FUNCTION: id class_createInstanceFromZone ( Class class, uint additionalByteCount, void* zone )
51
52 FUNCTION: Method class_getInstanceMethod ( Class class, SEL selector )
53
54 FUNCTION: Method class_getClassMethod ( Class class, SEL selector )
55
56 FUNCTION: Method* class_copyMethodList ( Class class, uint* outCount )
57
58 FUNCTION: Class class_getSuperclass ( Class cls )
59
60 FUNCTION: c-string class_getName ( Class cls )
61
62 FUNCTION: Boolean class_isMetaClass ( Class cls )
63
64 FUNCTION: Method class_getInstanceVariable ( Class class, c-string str )
65
66 FUNCTION: Method class_getClassVariable ( Class class, c-string str )
67
68 FUNCTION: uint8_t* class_getIvarLayout ( Class class )
69
70 FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types )
71
72 FUNCTION: char class_addProtocol ( Class class, Protocol protocol )
73
74 FUNCTION: uint method_getNumberOfArguments ( Method method )
75
76 FUNCTION: void* method_copyReturnType ( Method method )
77
78 FUNCTION: void* method_copyArgumentType ( Method method, uint index )
79
80 FUNCTION: void* method_getTypeEncoding ( Method method )
81
82 FUNCTION: SEL method_getName ( Method method )
83
84 FUNCTION: void* method_setImplementation ( Method method, void* imp )
85 FUNCTION: void* method_getImplementation ( Method method )
86
87 FUNCTION: Class object_getClass ( id object )
88
89 FUNCTION: void* object_getIvar ( Class class, Ivar ivar )