SYNTAX: ->
scan-token dup remember-send
- [ lookup-method suffix! ] [ suffix! ] bi \ send suffix! ;
+ [ lookup-objc-method suffix! ] [ suffix! ] bi \ send suffix! ;
SYNTAX: ?->
dup last cache-stubs
SYNTAX: SUPER->
scan-token dup remember-super-send
- [ lookup-method suffix! ] [ suffix! ] bi \ super-send suffix! ;
+ [ lookup-objc-method suffix! ] [ suffix! ] bi \ super-send suffix! ;
SYMBOL: frameworks
"NSOpenPanel"
"NSPanel"
"NSPasteboard"
+ "NSPopover"
"NSPropertyListSerialization"
"NSResponder"
"NSSavePanel"
ERROR: no-objc-method name ;
-: ?lookup-method ( selector -- signature/f )
+: ?lookup-objc-method ( name -- signature/f )
objc-methods get at ;
-: lookup-method ( selector -- signature )
- dup ?lookup-method [ ] [ no-objc-method ] ?if ;
+: lookup-objc-method ( name -- signature )
+ dup ?lookup-objc-method [ ] [ no-objc-method ] ?if ;
MEMO: make-prepare-send ( selector signature super? -- quot )
[
! Copyright (C) 2006, 2007 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: alien.c-types alien.syntax classes.struct ;
+USING: alien.c-types alien.syntax classes.struct core-foundation ;
IN: cocoa.runtime
TYPEDEF: void* SEL
TYPEDEF: void* Class
TYPEDEF: void* Method
TYPEDEF: void* Protocol
+TYPEDEF: void* Ivar
STRUCT: objc-super
{ receiver id }
FUNCTION: Class objc_allocateClassPair ( Class superclass, c-string name, size_t extraBytes )
FUNCTION: void objc_registerClassPair ( Class cls )
+FUNCTION: void* objc_getAssociatedObject ( void* obj, c-string key )
+
FUNCTION: id class_createInstance ( Class class, uint additionalByteCount )
FUNCTION: id class_createInstanceFromZone ( Class class, uint additionalByteCount, void* zone )
FUNCTION: c-string class_getName ( Class cls )
+FUNCTION: Boolean class_isMetaClass ( Class cls )
+
+FUNCTION: Method class_getInstanceVariable ( Class class, c-string str )
+
+FUNCTION: Method class_getClassVariable ( Class class, c-string str )
+
+FUNCTION: uint8_t* class_getIvarLayout ( Class class )
+
FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types )
FUNCTION: char class_addProtocol ( Class class, Protocol protocol )
FUNCTION: void* method_getImplementation ( Method method )
FUNCTION: Class object_getClass ( id object )
+
+FUNCTION: void* object_getIvar ( Class class, Ivar ivar )
\ No newline at end of file
! Copyright (C) 2017 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: alien.c-types cocoa cocoa.classes cocoa.messages
-cocoa.runtime combinators core-foundation.strings kernel locals
-;
+cocoa.runtime combinators core-foundation.strings kernel locals ;
IN: cocoa.touchbar
: make-touchbar ( seq self -- touchbar )