]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/cocoa/runtime/runtime.factor
factor: add newlines to .factor files
[factor.git] / basis / cocoa / runtime / runtime.factor
index 7bfc31bc44122e901c37166c8fb60bbe74793f6a..72bd3021354360e423dc37ce1e53f8117b27764f 100644 (file)
@@ -1,87 +1,90 @@
 ! Copyright (C) 2006, 2007 Slava Pestov
 ! See http://factorcode.org/license.txt for BSD license.
-USING: alien.syntax ;
+USING: alien.c-types alien.syntax classes.struct core-foundation ;
 IN: cocoa.runtime
 
 TYPEDEF: void* SEL
 
 TYPEDEF: void* id
 
-FUNCTION: char* sel_getName ( SEL aSelector ) ;
+FUNCTION: c-string sel_getName ( SEL aSelector )
 
-FUNCTION: bool sel_isMapped ( SEL aSelector ) ;
+FUNCTION: char sel_isMapped ( SEL aSelector )
 
-FUNCTION: SEL sel_registerName ( char* str ) ;
+FUNCTION: SEL sel_registerName ( c-string str )
 
-C-STRUCT: objc-super
-    { "id" "receiver" }
-    { "void*" "class" } ;
+TYPEDEF: void* Class
+TYPEDEF: void* Method
+TYPEDEF: void* Protocol
+TYPEDEF: void* Ivar
 
-: CLS_CLASS        HEX: 1   ;
-: CLS_META         HEX: 2   ;
-: CLS_INITIALIZED  HEX: 4   ;
-: CLS_POSING       HEX: 8   ;
-: CLS_MAPPED       HEX: 10  ;
-: CLS_FLUSH_CACHE  HEX: 20  ;
-: CLS_GROW_CACHE   HEX: 40  ;
-: CLS_NEED_BIND    HEX: 80  ;
-: CLS_METHOD_ARRAY HEX: 100 ;
+STRUCT: objc-super
+    { receiver id }
+    { class Class } ;
 
-C-STRUCT: objc-class
-    { "void*" "isa" }
-    { "void*" "super-class" }
-    { "char*" "name" }
-    { "long" "version" }
-    { "long" "info" }
-    { "long" "instance-size" }
-    { "void*" "ivars" }
-    { "void*" "methodLists" }
-    { "void*" "cache" }
-    { "void*" "protocols" } ;
+CONSTANT: CLS_CLASS        0x1
+CONSTANT: CLS_META         0x2
+CONSTANT: CLS_INITIALIZED  0x4
+CONSTANT: CLS_POSING       0x8
+CONSTANT: CLS_MAPPED       0x10
+CONSTANT: CLS_FLUSH_CACHE  0x20
+CONSTANT: CLS_GROW_CACHE   0x40
+CONSTANT: CLS_NEED_BIND    0x80
+CONSTANT: CLS_METHOD_ARRAY 0x100
 
-C-STRUCT: objc-object
-    { "objc-class*" "isa" } ;
+FUNCTION: int objc_getClassList ( void* buffer, int bufferLen )
 
-FUNCTION: int objc_getClassList ( void* buffer, int bufferLen ) ;
+FUNCTION: Class objc_getClass ( c-string class )
 
-FUNCTION: objc-class* objc_getClass ( char* class ) ;
+FUNCTION: Class objc_getMetaClass ( c-string class )
 
-FUNCTION: objc-class* objc_getMetaClass ( char* class ) ;
+FUNCTION: Protocol objc_getProtocol ( c-string class )
 
-FUNCTION: objc-class* objc_getProtocol ( char* class ) ;
+FUNCTION: Class objc_allocateClassPair ( Class superclass, c-string name, size_t extraBytes )
+FUNCTION: void objc_registerClassPair ( Class cls )
 
-FUNCTION: void objc_addClass ( objc-class* class ) ;
+FUNCTION: void* objc_getAssociatedObject ( void* obj, c-string key )
 
-FUNCTION: id class_createInstance ( objc-class* class, uint additionalByteCount ) ;
+FUNCTION: id class_createInstance ( Class class, uint additionalByteCount )
 
-FUNCTION: id class_createInstanceFromZone ( objc-class* class, uint additionalByteCount, void* zone ) ;
+FUNCTION: id class_createInstanceFromZone ( Class class, uint additionalByteCount, void* zone )
 
-C-STRUCT: objc-method
-    { "SEL" "name" }
-    { "char*" "types" }
-    { "void*" "imp" } ;
+FUNCTION: Method class_getInstanceMethod ( Class class, SEL selector )
 
-FUNCTION: objc-method* class_getInstanceMethod ( objc-class* class, SEL selector ) ;
+FUNCTION: Method class_getClassMethod ( Class class, SEL selector )
 
-FUNCTION: objc-method* class_getClassMethod ( objc-class* class, SEL selector ) ;
+FUNCTION: Method* class_copyMethodList ( Class class, uint* outCount )
 
-C-STRUCT: objc-method-list
-    { "void*" "obsolete" }
-    { "int" "count" } ;
+FUNCTION: Class class_getSuperclass ( Class cls )
 
-FUNCTION: objc-method-list* class_nextMethodList ( objc-class* class, void** iterator ) ;
+FUNCTION: c-string class_getName ( Class cls )
 
-FUNCTION: void class_addMethods ( objc-class* class, objc-method-list* methodList ) ;
+FUNCTION: Boolean class_isMetaClass ( Class cls )
 
-FUNCTION: void class_removeMethods ( objc-class* class, objc-method-list* methodList ) ;
+FUNCTION: Method class_getInstanceVariable ( Class class, c-string str )
 
-FUNCTION: uint method_getNumberOfArguments ( objc-method* method ) ;
+FUNCTION: Method class_getClassVariable ( Class class, c-string str )
 
-FUNCTION: uint method_getSizeOfArguments ( objc-method* method ) ;
+FUNCTION: uint8_t* class_getIvarLayout ( Class class )
 
-FUNCTION: uint method_getArgumentInfo ( objc-method* method, int argIndex, char** type, int* offset ) ;
+FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types )
+
+FUNCTION: char class_addProtocol ( Class class, Protocol protocol )
+
+FUNCTION: uint method_getNumberOfArguments ( Method method )
+
+FUNCTION: void* method_copyReturnType ( Method method )
+
+FUNCTION: void* method_copyArgumentType ( Method method, uint index )
+
+FUNCTION: void* method_getTypeEncoding ( Method method )
+
+FUNCTION: SEL method_getName ( Method method )
+
+FUNCTION: void* method_setImplementation ( Method method, void* imp )
+FUNCTION: void* method_getImplementation ( Method method )
+
+FUNCTION: Class object_getClass ( id object )
+
+FUNCTION: void* object_getIvar ( Class class, Ivar ivar )
 
-C-STRUCT: objc-protocol-list
-    { "void*" "next" }
-    { "int" "count" }
-    { "objc-class*" "class" } ;