some debugging aids for cocoa libs
parent
3e0ea36346
commit
a4210afd62
|
@ -3,7 +3,7 @@
|
|||
USING: accessors alien alien.c-types alien.strings arrays assocs
|
||||
combinators compiler kernel math namespaces make parser
|
||||
prettyprint prettyprint.sections quotations sequences strings
|
||||
words cocoa.runtime io macros memoize debugger
|
||||
words cocoa.runtime io macros memoize debugger fry
|
||||
io.encodings.ascii effects compiler.generator libc libc.private ;
|
||||
IN: cocoa.messages
|
||||
|
||||
|
@ -201,12 +201,23 @@ assoc-union alien>objc-types set-global
|
|||
swap method_getName sel_getName
|
||||
objc-methods get set-at ;
|
||||
|
||||
: (register-objc-methods) ( methods count -- methods )
|
||||
over [ void*-nth register-objc-method ] curry each ;
|
||||
: each-method-in-class ( class quot -- )
|
||||
[ 0 <uint> [ class_copyMethodList ] keep *uint over ] dip
|
||||
'[ _ void*-nth @ ] each (free) ; inline
|
||||
|
||||
: register-objc-methods ( class -- )
|
||||
0 <uint> [ class_copyMethodList ] keep *uint
|
||||
(register-objc-methods) (free) ;
|
||||
[ register-objc-method ] each-method-in-class ;
|
||||
|
||||
: method. ( method -- )
|
||||
{
|
||||
[ method_getName sel_getName ]
|
||||
[ method-return-type ]
|
||||
[ method-arg-types ]
|
||||
[ method_getImplementation ]
|
||||
} cleave 4array . ;
|
||||
|
||||
: methods. ( class -- )
|
||||
[ method. ] each-method-in-class ;
|
||||
|
||||
: class-exists? ( string -- class ) objc_getClass >boolean ;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ TYPEDEF: void* id
|
|||
|
||||
FUNCTION: char* sel_getName ( SEL aSelector ) ;
|
||||
|
||||
FUNCTION: bool sel_isMapped ( SEL aSelector ) ;
|
||||
FUNCTION: char sel_isMapped ( SEL aSelector ) ;
|
||||
|
||||
FUNCTION: SEL sel_registerName ( char* str ) ;
|
||||
|
||||
|
@ -54,6 +54,8 @@ FUNCTION: Method* class_copyMethodList ( Class class, uint* outCount ) ;
|
|||
|
||||
FUNCTION: Class class_getSuperclass ( Class cls ) ;
|
||||
|
||||
FUNCTION: char* class_getName ( Class cls ) ;
|
||||
|
||||
FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types ) ;
|
||||
|
||||
FUNCTION: char class_addProtocol ( Class class, Protocol protocol ) ;
|
||||
|
@ -73,5 +75,6 @@ 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 ) ;
|
||||
|
|
Loading…
Reference in New Issue