1414from rpcclient .clients .darwin .objective_c import objc
1515from rpcclient .clients .darwin .objective_c .objc import Method
1616from rpcclient .clients .darwin .objective_c .objective_c_class import BoundObjectiveCMethod , Class
17- from rpcclient .clients .darwin .symbol import BaseDarwinSymbol , DarwinSymbol
18- from rpcclient .core ._types import ClientBound
17+ from rpcclient .clients .darwin .symbol import AbstractDarwinSymbol , BaseDarwinSymbol , DarwinSymbol
1918from rpcclient .core .client import RemoteCallArg
20- from rpcclient .core .symbol import AbstractSymbol
2119from rpcclient .core .symbols_jar import SymbolsJar
2220from rpcclient .exceptions import RpcClientException
21+ from rpcclient .utils import readonly
2322
2423
2524if TYPE_CHECKING :
@@ -40,7 +39,7 @@ class Ivar(Generic[DarwinSymbolT_co]):
4039 offset : int
4140
4241
43- class ObjectiveCSymbol (AbstractSymbol , ClientBound [ "BaseDarwinClient[DarwinSymbolT_co]" ] , Generic [DarwinSymbolT_co ]):
42+ class ObjectiveCSymbol (AbstractDarwinSymbol , Generic [DarwinSymbolT_co ]):
4443 """
4544 Wrapper object for an objective-c symbol.
4645 Allowing easier access to its properties, methods and ivars.
@@ -56,6 +55,9 @@ class ObjectiveCSymbol(AbstractSymbol, ClientBound["BaseDarwinClient[DarwinSymbo
5655 "properties" ,
5756 })
5857
58+ @readonly
59+ def _client (self ) -> "BaseDarwinClient[DarwinSymbolT_co]" : ...
60+
5961 def __init__ (self , value : int , client : "BaseDarwinClient[DarwinSymbolT_co]" ) -> None :
6062 """
6163 Create an ObjectiveCSymbol object.
@@ -64,7 +66,7 @@ def __init__(self, value: int, client: "BaseDarwinClient[DarwinSymbolT_co]") ->
6466 :return: ObjectiveCSymbol object.
6567 :rtype: ObjectiveCSymbol
6668 """
67- self ._client = client
69+ __class__ ._client . set ( self , client )
6870 self ._sym : DarwinSymbolT_co = client .symbol (value )
6971 self .ivars : list [Ivar [DarwinSymbolT_co ]] = []
7072 self .methods : list [Method [DarwinSymbolT_co ]] = []
@@ -74,6 +76,9 @@ def __init__(self, value: int, client: "BaseDarwinClient[DarwinSymbolT_co]") ->
7476 if zyncio .is_sync (self ):
7577 self .reload ()
7678
79+ def __zync_delegate__ (self ) -> DarwinSymbolT_co :
80+ return self ._sym
81+
7782 def _symbol_from_value (self , value : int ) -> DarwinSymbolT_co :
7883 """
7984 Returns the gives value as as a BaseDarwinSymbol.
0 commit comments