pyobjc-core 10.1__tar.gz → 10.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/PyObjCTools/TestSupport.py +8 -5
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_bridges.py +14 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_properties.py +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/PKG-INFO +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/SOURCES.txt +3 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/License.txt +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonNumber.m +23 -2
- pyobjc-core-10.2/Modules/objc/OC_PythonURL.h +14 -0
- pyobjc-core-10.2/Modules/objc/OC_PythonURL.m +128 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonUnicode.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/block_support.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/bundle-variables.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/formal-protocol.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/libffi_extra.m +3 -3
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/libffi_support.m +7 -7
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/module.m +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_support.m +165 -84
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/opaque-pointer.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/options.h +1 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/options.m +3 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc.h +2 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/struct-wrapper.m +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/metadata.m +9 -9
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/metadatafunction.m +3 -3
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/objectint.m +3 -3
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/pythonset.m +2 -2
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/sequence.m +4 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PKG-INFO +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_archive_python.py +4 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_opaque.py +3 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_pointer_compat.py +3 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_structs.py +28 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_subclass.py +5 -1
- pyobjc-core-10.2/PyObjCTest/test_urlproxy.py +21 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/setup.py +4 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/00ReadMe.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/GUITests/00ReadMe.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/GUITests/test_modalsession.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/AsyncPythonInterpreter.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/ConsoleReactor.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/classes.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/info.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/keyedobjects.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/classes.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/info.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/keyedobjects.nib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/README.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/RemotePyInterpreter.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/netrepr.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/remote_bootstrap.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/remote_console.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/remote_pipe.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/setup.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/tcpinterpreter.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/NonFunctional/RemotePyInterpreter/test_client.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/HelloWorld.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/autoreadme.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/instrumentSends.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/kvo-debugging.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/signal-demo.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/stdinreader.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/subclassing-objective-c.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Examples/Scripts/wmEnable.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/HISTORIC.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Install.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/PyObjCTools/MachSignals.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/PyObjCTools/Signals.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/__init__.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_bridgesupport.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_callable_docstr.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_category.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_compat.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_context.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_mapping.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsarray.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsdata.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsdecimal.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsdictionary.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsobject.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsset.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_nsstring.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_convenience_sequence.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_descriptors.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_dyld.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_framework.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_informal_protocol.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_lazyimport.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_locking.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_protocols.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_pycoder.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_pythonify.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_structtype.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/_transform.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/objc/simd.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/include/pyobjc-compat.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/MANIFEST +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/MANIFEST.in +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Misc/announcement.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/_machsignals.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonData.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonData.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonNumber.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_NSBundleHack.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_NSBundleHack.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonArray.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonArray.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonData.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonData.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonDate.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonDate.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonDictionary.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonDictionary.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonEnumerator.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonEnumerator.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonNumber.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonObject.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonObject.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonSet.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonSet.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/OC_PythonUnicode.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ObjCPointer.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ObjCPointer.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/block_support.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/bundle-variables.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/class-builder.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/class-builder.m +1 -1
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/class-list.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/class-list.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/closure_pool.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/closure_pool.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/corefoundation.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/corefoundation.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ctests.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ctests.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/file_wrapper.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/file_wrapper.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/formal-protocol.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/fsref.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/fsref.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/function.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/function.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-authorization.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-foundation-nscoder.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-foundation-nsdata.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-foundation-nsdecimal.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-foundation-nsinvocation.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-foundation-nsobject.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers-vector.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/helpers.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/instance-var.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/instance-var.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ivar-accessor.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/ivar-accessor.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/libffi_extra.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/libffi_support.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/memview.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/memview.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/meth-func.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/meth-func.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-accessor.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-accessor.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-imp.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-imp.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-signature.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/method-signature.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-NULL.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-NULL.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-class.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-class.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-object.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-object.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-runtime-compat.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc-runtime-compat.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_super.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_super.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_support.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_util.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/objc_util.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/opaque-pointer.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pointer-support.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pointer-support.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/proxy-registry.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/proxy-registry.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-api.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-api.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-assert.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-compat.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-compat.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc-unittest.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc_unicode.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/pyobjc_unicode.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/python-api-used.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/registry.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/registry.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/released-buffer.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/released-buffer.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/selector.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/selector.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/struct-sockaddr.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/struct-sockaddr.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/struct-wrapper.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/super-call.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/super-call.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/NULL.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/arrayint.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/arrays.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/block.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/bufsizeinarg.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/categories_base.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c42.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c43.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c44.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c45.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c46.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c47.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c48.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c49.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c50.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c51.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c52.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c53.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c54.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c55.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c56.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c57.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c58.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_c59.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp10.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp11.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp12.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp13.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp14.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp15.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp16.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp17.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp18.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp19.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp20.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp21.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp22.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp23.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp24.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp27.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp3.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp30.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp33.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp36.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp39.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp42.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp45.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp48.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp51.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp54.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp57.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp6.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp7.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp8.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_gp9.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p24.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p25.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p26.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p27.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p28.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p29.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p30.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p31.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p32.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p33.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p34.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p35.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p36.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p37.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p38.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p39.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p40.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/category_p41.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/cfsocket.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/classes.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/clinmeth.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/coding.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/copying.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/corefoundation.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/dataint.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/dateint.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/decimal.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/deprecations.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/dictint.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/enumeration.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/exceptions.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/filepointer.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/fsref.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/gcov.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/helpernsdata.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/helpernsobject.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/identity.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/initialize.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/instanceVariables.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/locking.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/methodaccess.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/methodlookup.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/methres1.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/methres2.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/misc.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/missing1.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/missing2.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/missing3.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/nsobjectcategory.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/nulldelimitedresult.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/opaque.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/pointersupport.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/properties.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/protected.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/protocol.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/pythonnumber.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/sockaddr.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/specialtypecodes.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/stringint.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/structargs.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/structpointer1.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/structpointer2.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/structs.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/testbndl.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/testbndl2.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/testclassandinst.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/testoutputinitializer.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/vector.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/vectorcall.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/test/voidpointer.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/varlist.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/varlist.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/weakref.h +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Modules/objc/weakref.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/__init__.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/dump-nsarchive.m +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/fnd.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/helper_bridgesupport.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/keyvaluehelper.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/loader.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_NULL.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_allocatebuffer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_api_import.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_archiving_interop.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_archiving_secure_interop.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_array_interface.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_array_property.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_arrays.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_assocations.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_blocks.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bridged_classes.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bridges.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bridgesupport.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bufsizeinarg.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bundleFunctions.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_bundleVariables.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_callable_docstr.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_callbacks.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_categories.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_classandinst.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_classhooks.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_clinmeth.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_compat.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_context.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_convenience.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_conversion.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_copying.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_corefoundation.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_ctests.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_data_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_date_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_default_selector.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_deprecations.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_descriptors.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_dict_interface.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_dict_property.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_dict_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_dyld.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_enumerator.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_exceptions.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_filepointer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_final.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_framework.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_fsref.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_functions.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_generic_class.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_hidden_selector.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_identity.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_imp.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_initialized.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_inspect_signatures.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_internals.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_ivar.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_keyvalue.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_keyvalue_prop.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_keyvaluecoding.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_lazy_import.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_leaks.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_list_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_locking.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_machsignals.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata_function.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata_imp.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata_inheritance.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata_py.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_metadata_py2py.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_method_prototypes.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methodaccess.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methodedits.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methodlookup.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methods.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methods2.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_methres.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nscoder.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nsdata.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nsdate_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nsdecimal.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nsinvocation.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nsobject.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_nulldelimited.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_number_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_objc.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_objcpointer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_object_property.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_object_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_options.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_outputinitializer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_pickle.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_pickling_objc.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_posing.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_propertiesforclass.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_protected.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_protocol.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_protocolNamed.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_python_method.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_regr.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_set_interface.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_set_property.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_set_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_signals.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_signatures.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_simd.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_sockaddr.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_charbyte.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_specialtypecodes_unichar.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_splitsig.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_string_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_structpointer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_synthesize.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_testsupport.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_transform.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_transform_integration.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_typecheck.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_unicode.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_usekvo.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_varargs.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_varlist.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_vector_proxy.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_vectorcall.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_version_support.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_voidpointer.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/PyObjCTest/test_weakref.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/README.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/MANIFEST.in +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/comparebench.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/gen_archive.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/generate-category-tests.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/generate-helpers-vector.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/pyobjc_setup.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/pyobjcbench.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/results/pyobjcbench-7.3.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/runtests-with-nuitka.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/Tools/runtests.py +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/pyproject.toml +0 -0
- {pyobjc-core-10.1 → pyobjc-core-10.2}/setup.cfg +0 -0
|
@@ -1229,13 +1229,16 @@ class TestCase(_unittest.TestCase):
|
|
|
1229
1229
|
)
|
|
1230
1230
|
|
|
1231
1231
|
if exclude_cocoa:
|
|
1232
|
-
|
|
1232
|
+
try:
|
|
1233
|
+
import Cocoa
|
|
1233
1234
|
|
|
1234
|
-
|
|
1235
|
+
exclude_names = set(dir(Cocoa))
|
|
1235
1236
|
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1237
|
+
# Don't exclude NSObject' because a number
|
|
1238
|
+
# of frameworks define categories on this class.
|
|
1239
|
+
exclude_names -= {"NSObject"}
|
|
1240
|
+
except ImportError:
|
|
1241
|
+
exclude_names = set()
|
|
1239
1242
|
else:
|
|
1240
1243
|
exclude_names = set()
|
|
1241
1244
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import collections.abc
|
|
2
2
|
import datetime
|
|
3
|
+
import pathlib
|
|
3
4
|
|
|
4
5
|
from objc import _objc
|
|
5
6
|
|
|
@@ -8,6 +9,7 @@ __all__ = [
|
|
|
8
9
|
"registerMappingType",
|
|
9
10
|
"registerSetType",
|
|
10
11
|
"registerDateType",
|
|
12
|
+
"registerPathType",
|
|
11
13
|
]
|
|
12
14
|
|
|
13
15
|
_objc.options._datetime_date_type = datetime.date
|
|
@@ -58,6 +60,17 @@ def registerDateType(type_object):
|
|
|
58
60
|
_objc.options._date_types += (type_object,)
|
|
59
61
|
|
|
60
62
|
|
|
63
|
+
def registerPathType(type_object):
|
|
64
|
+
"""
|
|
65
|
+
Register 'type' as a date-like type that will be proxied
|
|
66
|
+
as an NSDate subclass.
|
|
67
|
+
"""
|
|
68
|
+
if _objc.options._path_types is None:
|
|
69
|
+
_objc.options._path_types = ()
|
|
70
|
+
|
|
71
|
+
_objc.options._path_types += (type_object,)
|
|
72
|
+
|
|
73
|
+
|
|
61
74
|
registerListType(collections.abc.Sequence)
|
|
62
75
|
registerListType(range)
|
|
63
76
|
registerMappingType(collections.abc.Mapping)
|
|
@@ -67,3 +80,4 @@ registerSetType(frozenset)
|
|
|
67
80
|
registerSetType(collections.abc.Set)
|
|
68
81
|
registerDateType(datetime.date)
|
|
69
82
|
registerDateType(datetime.datetime)
|
|
83
|
+
registerPathType(pathlib.Path)
|
|
@@ -248,7 +248,7 @@ class object_property:
|
|
|
248
248
|
)
|
|
249
249
|
signature = _C_NSBOOL + b"@:N^@o^@"
|
|
250
250
|
validate = selector(self._validate, selector=selName, signature=signature)
|
|
251
|
-
class_dict[validate.selector] = validate
|
|
251
|
+
class_dict[validate.selector.decode().replace(":", "_")] = validate
|
|
252
252
|
instance_methods.add(validate)
|
|
253
253
|
|
|
254
254
|
if self._depends_on:
|
|
@@ -266,7 +266,7 @@ class object_property:
|
|
|
266
266
|
signature=b"@@:",
|
|
267
267
|
isClassMethod=True,
|
|
268
268
|
)
|
|
269
|
-
class_dict[affecting.selector] = affecting
|
|
269
|
+
class_dict[affecting.selector.decode().replace(":", "_")] = affecting
|
|
270
270
|
class_methods.add(affecting)
|
|
271
271
|
|
|
272
272
|
def __get__(self, an_object, owner):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyobjc-core
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.2
|
|
4
4
|
Summary: Python<->ObjC Interoperability Module
|
|
5
5
|
Home-page: https://github.com/ronaldoussoren/pyobjc
|
|
6
6
|
Author: Ronald Oussoren, bbum, SteveM, LeleG, many others stretching back through the reaches of time...
|
|
@@ -110,6 +110,8 @@ Modules/objc/OC_PythonObject.h
|
|
|
110
110
|
Modules/objc/OC_PythonObject.m
|
|
111
111
|
Modules/objc/OC_PythonSet.h
|
|
112
112
|
Modules/objc/OC_PythonSet.m
|
|
113
|
+
Modules/objc/OC_PythonURL.h
|
|
114
|
+
Modules/objc/OC_PythonURL.m
|
|
113
115
|
Modules/objc/OC_PythonUnicode.h
|
|
114
116
|
Modules/objc/OC_PythonUnicode.m
|
|
115
117
|
Modules/objc/ObjCPointer.h
|
|
@@ -472,6 +474,7 @@ PyObjCTest/test_transform.py
|
|
|
472
474
|
PyObjCTest/test_transform_integration.py
|
|
473
475
|
PyObjCTest/test_typecheck.py
|
|
474
476
|
PyObjCTest/test_unicode.py
|
|
477
|
+
PyObjCTest/test_urlproxy.py
|
|
475
478
|
PyObjCTest/test_usekvo.py
|
|
476
479
|
PyObjCTest/test_varargs.py
|
|
477
480
|
PyObjCTest/test_varlist.py
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(This is the MIT license, note that libffi-src is a separate product with its own license)
|
|
2
2
|
|
|
3
3
|
Copyright 2002, 2003 - Bill Bumgarner, Ronald Oussoren, Steve Majewski, Lele Gaifax, et.al.
|
|
4
|
-
Copyright 2003-
|
|
4
|
+
Copyright 2003-2024 - Ronald Oussoren
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
7
|
|
|
@@ -123,7 +123,15 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
123
123
|
|
|
124
124
|
- (BOOL)boolValue
|
|
125
125
|
{
|
|
126
|
-
|
|
126
|
+
int r;
|
|
127
|
+
PyObjC_BEGIN_WITH_GIL
|
|
128
|
+
r = PyObject_IsTrue(value);
|
|
129
|
+
if (r == -1) {
|
|
130
|
+
PyObjC_GIL_FORWARD_EXC();
|
|
131
|
+
}
|
|
132
|
+
PyObjC_END_WITH_GIL
|
|
133
|
+
|
|
134
|
+
return !!r;
|
|
127
135
|
}
|
|
128
136
|
|
|
129
137
|
- (char)charValue
|
|
@@ -209,12 +217,19 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
209
217
|
}
|
|
210
218
|
|
|
211
219
|
- (long long)longLongValue
|
|
220
|
+
/* Disable float-cast-overflow checking when running
|
|
221
|
+
* with undefined behaviour sanitizer. The float cast
|
|
222
|
+
* below can result in undefined behaviour but is
|
|
223
|
+
* necessary to match Cocoa semantics.
|
|
224
|
+
*/
|
|
225
|
+
__attribute__((no_sanitize("float-cast-overflow")))
|
|
212
226
|
{
|
|
213
227
|
long long result;
|
|
214
228
|
|
|
215
229
|
PyObjC_BEGIN_WITH_GIL
|
|
216
230
|
if (PyFloat_Check(value)) {
|
|
217
|
-
|
|
231
|
+
double float_result = PyFloat_AsDouble(value);
|
|
232
|
+
result = (long long)float_result;
|
|
218
233
|
PyObjC_GIL_RETURN(result);
|
|
219
234
|
} else if (PyLong_Check(value)) {
|
|
220
235
|
result = PyLong_AsUnsignedLongLongMask(value);
|
|
@@ -231,6 +246,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
231
246
|
}
|
|
232
247
|
|
|
233
248
|
- (unsigned long long)unsignedLongLongValue
|
|
249
|
+
/* Disable float-cast-overflow checking when running
|
|
250
|
+
* with undefined behaviour sanitizer. The float cast
|
|
251
|
+
* below can result in undefined behaviour but is
|
|
252
|
+
* necessary to match Cocoa semantics.
|
|
253
|
+
*/
|
|
254
|
+
__attribute__((no_sanitize("float-cast-overflow")))
|
|
234
255
|
{
|
|
235
256
|
unsigned long long result;
|
|
236
257
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
2
|
+
|
|
3
|
+
PyObjC_FINAL_CLASS
|
|
4
|
+
@interface OC_PythonURL : NSURL {
|
|
5
|
+
PyObject* value;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
+ (instancetype _Nullable)URLWithPythonObject:(PyObject*)value;
|
|
9
|
+
- (id _Nullable)initWithPythonObject:(PyObject*)value;
|
|
10
|
+
- (PyObject*)__pyobjc_PythonObject__;
|
|
11
|
+
|
|
12
|
+
@end
|
|
13
|
+
|
|
14
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#include "pyobjc.h"
|
|
2
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
3
|
+
|
|
4
|
+
@implementation OC_PythonURL
|
|
5
|
+
|
|
6
|
+
+ (instancetype _Nullable)URLWithPythonObject:(PyObject*)object
|
|
7
|
+
{
|
|
8
|
+
return [[[self alloc] initWithPythonObject:object] autorelease];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
- (id _Nullable)initWithPythonObject:(PyObject*)object
|
|
12
|
+
{
|
|
13
|
+
PyObject* fspath = PyOS_FSPath(object);
|
|
14
|
+
if (fspath == NULL) {
|
|
15
|
+
return nil;
|
|
16
|
+
}
|
|
17
|
+
if (!PyUnicode_Check(fspath)) {
|
|
18
|
+
Py_DECREF(fspath);
|
|
19
|
+
PyErr_Format(PyExc_ValueError, "os.fspath(%R) did not return a string", object);
|
|
20
|
+
return nil;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const char* utf8;
|
|
24
|
+
Py_ssize_t utf8_size;
|
|
25
|
+
|
|
26
|
+
utf8 = PyUnicode_AsUTF8AndSize(fspath, &utf8_size);
|
|
27
|
+
if (utf8 == NULL) {
|
|
28
|
+
Py_DECREF(fspath);
|
|
29
|
+
return nil;
|
|
30
|
+
}
|
|
31
|
+
if (utf8_size != (Py_ssize_t)strlen(utf8)) {
|
|
32
|
+
Py_DECREF(fspath);
|
|
33
|
+
PyErr_Format(PyExc_ValueError, "os.fspath(%R) result has embedded NULs", object);
|
|
34
|
+
return nil;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
NSString* path = [[NSString alloc] initWithUTF8String:utf8];
|
|
38
|
+
Py_DECREF(fspath);
|
|
39
|
+
if (path == nil) {
|
|
40
|
+
return nil;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
self = [super initFileURLWithPath:path];
|
|
44
|
+
[path release];
|
|
45
|
+
if (self == nil) {
|
|
46
|
+
return nil;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
SET_FIELD_INCREF(value, object);
|
|
50
|
+
return self;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
- (oneway void)release
|
|
54
|
+
{
|
|
55
|
+
/* See comment in OC_PythonUnicode */
|
|
56
|
+
if (unlikely(!Py_IsInitialized())) { // LCOV_BR_EXCL_LINE
|
|
57
|
+
// LCOV_EXCL_START
|
|
58
|
+
[super release];
|
|
59
|
+
return;
|
|
60
|
+
// LCOV_EXCL_STOP
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
PyObjC_BEGIN_WITH_GIL
|
|
64
|
+
@try {
|
|
65
|
+
[super release];
|
|
66
|
+
// LCOV_EXCL_START
|
|
67
|
+
} @catch (NSObject* exc) {
|
|
68
|
+
/* I'm 99% sure this path cannot be hit,
|
|
69
|
+
* this class cannot be subclassesed and
|
|
70
|
+
* -dealloc cannot raise.
|
|
71
|
+
*/
|
|
72
|
+
PyObjC_LEAVE_GIL;
|
|
73
|
+
@throw;
|
|
74
|
+
}
|
|
75
|
+
// LCOV_EXCL_STOP
|
|
76
|
+
|
|
77
|
+
PyObjC_END_WITH_GIL
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
- (void)dealloc
|
|
81
|
+
{
|
|
82
|
+
if (unlikely(!Py_IsInitialized())) { // LCOV_BR_EXCL_LINE
|
|
83
|
+
// LCOV_EXCL_START
|
|
84
|
+
[super dealloc];
|
|
85
|
+
return;
|
|
86
|
+
// LCOV_EXCL_STOP
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
PyObjC_BEGIN_WITH_GIL
|
|
90
|
+
Py_XDECREF(value);
|
|
91
|
+
PyObjC_END_WITH_GIL
|
|
92
|
+
|
|
93
|
+
[super dealloc];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/*
|
|
97
|
+
* NSURL implements safe coding, that's something we cannot
|
|
98
|
+
* do for arbitrary python objects. Therefore punt and encode
|
|
99
|
+
* as a regular NSURL.
|
|
100
|
+
*/
|
|
101
|
+
- (Class)classForCoder
|
|
102
|
+
{
|
|
103
|
+
return [NSURL class];
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
- (Class _Nullable)classForKeyedArchiver
|
|
107
|
+
{
|
|
108
|
+
return [NSURL class];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
- (PyObject*)__pyobjc_PythonObject__
|
|
113
|
+
{
|
|
114
|
+
Py_XINCREF(value);
|
|
115
|
+
return value;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
- (PyObject*)__pyobjc_PythonTransient__:(int*)cookie
|
|
119
|
+
{
|
|
120
|
+
*cookie = 0;
|
|
121
|
+
Py_XINCREF(value);
|
|
122
|
+
return value;
|
|
123
|
+
}
|
|
124
|
+
@end
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -180,12 +180,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
180
180
|
|
|
181
181
|
- (void)getCharacters:(unichar*)buffer range:(NSRange)aRange
|
|
182
182
|
{
|
|
183
|
-
|
|
183
|
+
[[self __realObject__] getCharacters:buffer range:aRange];
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
- (void)getCharacters:(unichar*)buffer
|
|
187
187
|
{
|
|
188
|
-
|
|
188
|
+
[[self __realObject__] getCharacters:buffer];
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
/*
|
|
@@ -385,7 +385,7 @@ error:
|
|
|
385
385
|
static void
|
|
386
386
|
PyObjCBlock_CleanupCapsule(PyObject* ptr)
|
|
387
387
|
{
|
|
388
|
-
|
|
388
|
+
PyObjCBlockFunction block_func = (PyObjCBlockFunction)PyCapsule_GetPointer(ptr, "objc.__block_release__");
|
|
389
389
|
if (block_func == NULL)
|
|
390
390
|
return;
|
|
391
391
|
|
|
@@ -458,7 +458,7 @@ void* _Nullable PyObjCBlock_Create(PyObjCMethodSignature* signature, PyObject* c
|
|
|
458
458
|
}
|
|
459
459
|
block->invoke = block_func;
|
|
460
460
|
|
|
461
|
-
block->invoke_cleanup = PyCapsule_New(block->invoke, "objc.__block_release__",
|
|
461
|
+
block->invoke_cleanup = PyCapsule_New((void*)(block->invoke), "objc.__block_release__",
|
|
462
462
|
PyObjCBlock_CleanupCapsule);
|
|
463
463
|
if (block->invoke_cleanup == NULL) { // LCOV_BR_EXCL_LINE
|
|
464
464
|
PyObjCFFI_FreeBlockFunction(block->invoke); // LCOV_EXCL_LINE
|
|
@@ -387,7 +387,7 @@ PyObject* _Nullable PyObjC_loadFunctionList(PyObject* self __attribute__((__unus
|
|
|
387
387
|
len = PySequence_Fast_GET_SIZE(seq);
|
|
388
388
|
for (i = 0; i < len; i++) {
|
|
389
389
|
PyObject* item = PySequence_Fast_GET_ITEM(seq, i);
|
|
390
|
-
|
|
390
|
+
function value;
|
|
391
391
|
char* signature;
|
|
392
392
|
PyObject* name;
|
|
393
393
|
PyObject* doc;
|
|
@@ -417,7 +417,7 @@ PyObject* _Nullable PyObjC_loadFunctionList(PyObject* self __attribute__((__unus
|
|
|
417
417
|
}
|
|
418
418
|
|
|
419
419
|
} else {
|
|
420
|
-
PyObject* py_val = PyObjCFunc_New(name, value, signature, doc, meta);
|
|
420
|
+
PyObject* py_val = PyObjCFunc_New(name, (void*)value, signature, doc, meta);
|
|
421
421
|
if (py_val == NULL) {
|
|
422
422
|
Py_DECREF(seq);
|
|
423
423
|
return NULL;
|
|
@@ -185,7 +185,7 @@ static PyObject* _Nullable proto_new(PyTypeObject* type __attribute__((__unused_
|
|
|
185
185
|
|
|
186
186
|
protocol_addMethodDescription(
|
|
187
187
|
theProtocol, theSel, theSignature,
|
|
188
|
-
|
|
188
|
+
!!PyObjCSelector_Required(PyTuple_GET_ITEM(sel, i)),
|
|
189
189
|
PyObjCSelector_IsClassMethod(PyTuple_GET_ITEM(sel, i)) ? NO : YES);
|
|
190
190
|
}
|
|
191
191
|
|
|
@@ -199,7 +199,7 @@ static PyObject* _Nullable proto_new(PyTypeObject* type __attribute__((__unused_
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
protocol_addMethodDescription(theProtocol, theSel, theSignature,
|
|
202
|
-
|
|
202
|
+
!!PyObjCSelector_Required(sel),
|
|
203
203
|
PyObjCSelector_IsClassMethod(sel) ? NO : YES);
|
|
204
204
|
}
|
|
205
205
|
}
|
|
@@ -39,7 +39,7 @@ alloc_prepped_closure(ffi_closure** cl, ffi_cif* cif, void** codeloc, void* func
|
|
|
39
39
|
#pragma clang diagnostic push
|
|
40
40
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
41
41
|
|
|
42
|
-
rv = ffi_prep_closure_loc(*cl, cif, func, userdata, *codeloc);
|
|
42
|
+
rv = ffi_prep_closure_loc(*cl, cif, (void (*)(ffi_cif *, void *, void **, void *))func, userdata, *codeloc);
|
|
43
43
|
|
|
44
44
|
#pragma clang diagnostic pop
|
|
45
45
|
|
|
@@ -48,12 +48,12 @@ alloc_prepped_closure(ffi_closure** cl, ffi_cif* cif, void** codeloc, void* func
|
|
|
48
48
|
#if PyObjC_BUILD_RELEASE >= 1015
|
|
49
49
|
|
|
50
50
|
if (@available(macOS 10.15, *)) { // LCOV_BR_EXCL_LINE
|
|
51
|
-
rv = ffi_prep_closure_loc(*cl, cif, func, userdata, *codeloc);
|
|
51
|
+
rv = ffi_prep_closure_loc(*cl, cif, (void (*)(ffi_cif *, void *, void **, void *))func, userdata, *codeloc);
|
|
52
52
|
} else {
|
|
53
53
|
#pragma clang diagnostic push
|
|
54
54
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
55
55
|
|
|
56
|
-
rv = ffi_prep_closure(*cl, cif, func, userdata);
|
|
56
|
+
rv = ffi_prep_closure(*cl, cif, (void (*)(ffi_cif *, void *, void **, void *))func, userdata);
|
|
57
57
|
|
|
58
58
|
#pragma clang diagnostic pop
|
|
59
59
|
}
|
|
@@ -2719,7 +2719,7 @@ PyObjCFFI_CountArguments(PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
|
|
|
2719
2719
|
static void
|
|
2720
2720
|
imp_capsule_cleanup(PyObject* ptr)
|
|
2721
2721
|
{
|
|
2722
|
-
PyObjCFFI_FreeIMP(PyCapsule_GetPointer(ptr, "objc.__imp__"));
|
|
2722
|
+
PyObjCFFI_FreeIMP((IMP)PyCapsule_GetPointer(ptr, "objc.__imp__"));
|
|
2723
2723
|
}
|
|
2724
2724
|
|
|
2725
2725
|
static void
|
|
@@ -3027,7 +3027,7 @@ PyObjCFFI_ParseArguments(PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
|
|
|
3027
3027
|
return -1;
|
|
3028
3028
|
}
|
|
3029
3029
|
byref_attr[i].obj = PyCapsule_New(
|
|
3030
|
-
closure, "objc.__imp__", imp_capsule_cleanup);
|
|
3030
|
+
(void*)closure, "objc.__imp__", imp_capsule_cleanup);
|
|
3031
3031
|
} else {
|
|
3032
3032
|
PyErr_SetString(
|
|
3033
3033
|
PyExc_TypeError,
|
|
@@ -3040,7 +3040,7 @@ PyObjCFFI_ParseArguments(PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
|
|
|
3040
3040
|
PyErr_SetString(PyExc_TypeError,
|
|
3041
3041
|
"Invalid pyobjc_closure attribute");
|
|
3042
3042
|
}
|
|
3043
|
-
closure = PyCapsule_GetPointer(v, "objc.__imp__");
|
|
3043
|
+
closure = (PyObjC_callback_function)PyCapsule_GetPointer(v, "objc.__imp__");
|
|
3044
3044
|
if (closure == NULL) {
|
|
3045
3045
|
PyErr_SetString(PyExc_TypeError,
|
|
3046
3046
|
"Invalid pyobjc_closure attribute");
|
|
@@ -3302,7 +3302,7 @@ PyObjCFFI_ParseArguments(PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
|
|
|
3302
3302
|
return -1;
|
|
3303
3303
|
}
|
|
3304
3304
|
|
|
3305
|
-
byref_attr[i].obj = PyCapsule_New(closure, "objc.__imp__",
|
|
3305
|
+
byref_attr[i].obj = PyCapsule_New((void*)closure, "objc.__imp__",
|
|
3306
3306
|
imp_capsule_cleanup);
|
|
3307
3307
|
|
|
3308
3308
|
} else {
|
|
@@ -3318,7 +3318,7 @@ PyObjCFFI_ParseArguments(PyObjCMethodSignature* methinfo, Py_ssize_t argOffset,
|
|
|
3318
3318
|
"Invalid pyobjc_closure attribute");
|
|
3319
3319
|
}
|
|
3320
3320
|
|
|
3321
|
-
closure = PyCapsule_GetPointer(v, "objc.__imp__");
|
|
3321
|
+
closure = (PyObjC_callback_function)PyCapsule_GetPointer(v, "objc.__imp__");
|
|
3322
3322
|
if (closure == NULL) {
|
|
3323
3323
|
PyErr_SetString(PyExc_TypeError,
|
|
3324
3324
|
"Invalid pyobjc_closure attribute");
|
|
@@ -5117,7 +5117,7 @@ IMP _Nullable PyObjCFFI_MakeClosure(PyObjCMethodSignature* methinfo,
|
|
|
5117
5117
|
}
|
|
5118
5118
|
|
|
5119
5119
|
if ( // LCOV_BR_EXCL_LINE
|
|
5120
|
-
alloc_prepped_closure(&cl, cif, &codeloc, func, userdata) == -1) {
|
|
5120
|
+
alloc_prepped_closure(&cl, cif, &codeloc, (void*)func, userdata) == -1) {
|
|
5121
5121
|
// LCOV_EXCL_START
|
|
5122
5122
|
PyErr_SetString(PyObjCExc_Error, "Cannot create libffi closure");
|
|
5123
5123
|
return NULL;
|
|
@@ -5140,7 +5140,7 @@ PyObjCFFI_FreeClosure(IMP closure)
|
|
|
5140
5140
|
ffi_cif* cif;
|
|
5141
5141
|
void* userdata;
|
|
5142
5142
|
|
|
5143
|
-
free_closure_from_codeloc(closure, &cif, &userdata);
|
|
5143
|
+
free_closure_from_codeloc((void*)closure, &cif, &userdata);
|
|
5144
5144
|
PyObjCFFI_FreeCIF(cif);
|
|
5145
5145
|
return userdata;
|
|
5146
5146
|
}
|
|
@@ -1361,7 +1361,7 @@ static PyObject* _Nullable _makeClosure(PyObject* self __attribute__((__unused__
|
|
|
1361
1361
|
return NULL;
|
|
1362
1362
|
}
|
|
1363
1363
|
|
|
1364
|
-
PyObject* retval = PyCapsule_New(result, "objc.__imp__", _callback_cleanup);
|
|
1364
|
+
PyObject* retval = PyCapsule_New((void*)result, "objc.__imp__", _callback_cleanup);
|
|
1365
1365
|
if (retval == NULL) {
|
|
1366
1366
|
PyObjCFFI_FreeIMP((IMP)result);
|
|
1367
1367
|
return NULL;
|