2007-09-20 18:09:08 -04:00
|
|
|
! Copyright (C) 2006, 2007 Slava Pestov
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: alien.syntax ;
|
|
|
|
IN: cocoa.runtime
|
|
|
|
|
|
|
|
TYPEDEF: void* SEL
|
|
|
|
|
|
|
|
TYPEDEF: void* id
|
|
|
|
|
|
|
|
FUNCTION: char* sel_getName ( SEL aSelector ) ;
|
|
|
|
|
|
|
|
FUNCTION: bool sel_isMapped ( SEL aSelector ) ;
|
|
|
|
|
|
|
|
FUNCTION: SEL sel_registerName ( char* str ) ;
|
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
TYPEDEF: void* Class
|
|
|
|
TYPEDEF: void* Method
|
|
|
|
TYPEDEF: void* Protocol
|
|
|
|
|
2007-09-20 18:09:08 -04:00
|
|
|
C-STRUCT: objc-super
|
|
|
|
{ "id" "receiver" }
|
2008-09-08 10:28:02 -04:00
|
|
|
{ "Class" "class" } ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: 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 ;
|
|
|
|
|
|
|
|
FUNCTION: int objc_getClassList ( void* buffer, int bufferLen ) ;
|
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Class objc_getClass ( char* class ) ;
|
|
|
|
|
|
|
|
FUNCTION: Class objc_getMetaClass ( char* class ) ;
|
|
|
|
|
|
|
|
FUNCTION: Protocol objc_getProtocol ( char* class ) ;
|
|
|
|
|
|
|
|
FUNCTION: Class objc_allocateClassPair ( Class superclass, char* name, size_t extraBytes ) ;
|
|
|
|
FUNCTION: Class objc_registerClassPair ( Class cls ) ;
|
|
|
|
|
|
|
|
FUNCTION: id class_createInstance ( Class class, uint additionalByteCount ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: id class_createInstanceFromZone ( Class class, uint additionalByteCount, void* zone ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Method class_getInstanceMethod ( Class class, SEL selector ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Method class_getClassMethod ( Class class, SEL selector ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Method* class_copyMethodList ( Class class, uint* outCount ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Class class_getSuperclass ( Class cls ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: char class_addProtocol ( Class class, Protocol protocol ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: uint method_getNumberOfArguments ( Method method ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: uint method_getSizeOfArguments ( Method method ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: uint method_getArgumentInfo ( Method method, int argIndex, char** type, int* offset ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: void* method_copyReturnType ( Method method ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: void* method_copyArgumentType ( Method method, uint index ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: void* method_getTypeEncoding ( Method method ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: SEL method_getName ( Method method ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: void* method_setImplementation ( Method method, void* imp ) ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-09-08 10:28:02 -04:00
|
|
|
FUNCTION: Class object_getClass ( id object ) ;
|