MCPcopy
hub / github.com/tinygrad/tinygrad / msg

Function msg

tinygrad/runtime/support/objc.py:30–34  ·  view source on GitHub ↗
(sel:str, restype=id_, argtypes=[], retain=False, clsmeth=False)

Source from the content-addressed store, hash-verified

28dispatch_data_create = returns_retained(dispatch_data_create)
29
30def msg(sel:str, restype=id_, argtypes=[], retain=False, clsmeth=False):
31 # Using attribute access returns a new reference so setting restype is safe
32 (sender:=lib["objc_msgSend"]).restype, sender.argtypes = restype, [id_, id_]+list(argtypes) if argtypes else []
33 def f(ptr, *args): return sender(ptr._objc_class_ if clsmeth else ptr, getsel(sel.encode()), *args)
34 return returns_retained(f) if retain else f
35
36if TYPE_CHECKING:
37 import _ctypes

Callers 2

releaseMethod · 0.85
_addmethMethod · 0.85

Calls 1

returns_retainedFunction · 0.85

Tested by

no test coverage detected