pyobjc-core 10.3__tar.gz → 10.3.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.3 → pyobjc_core-10.3.2}/Lib/objc/_new.py +3 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_transform.py +3 -1
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/PKG-INFO +1 -1
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/class-list.m +4 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-class.m +74 -8
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_util.h +1 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_util.m +2 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/options.h +1 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/options.m +3 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc.h +1 -1
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/coding.m +0 -1
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/genericnew.m +9 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PKG-INFO +1 -1
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_generic_new.py +4 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_regr.py +7 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_splitsig.py +4 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_subclass.py +50 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/pyobjc_setup.py +62 -22
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/setup.py +4 -8
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/00ReadMe.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/GUITests/00ReadMe.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/GUITests/test_modalsession.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/AsyncPythonInterpreter.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/ConsoleReactor.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/classes.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/info.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/keyedobjects.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/classes.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/info.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/keyedobjects.nib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/README.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/RemotePyInterpreter.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/netrepr.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/remote_bootstrap.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/remote_console.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/remote_pipe.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/setup.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/tcpinterpreter.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/test_client.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/HelloWorld.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/autoreadme.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/instrumentSends.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/kvo-debugging.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/signal-demo.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/stdinreader.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/subclassing-objective-c.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/Scripts/wmEnable.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/HISTORIC.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Install.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/PyObjCTools/MachSignals.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/PyObjCTools/Signals.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/PyObjCTools/TestSupport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/__init__.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_bridges.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_bridgesupport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_callable_docstr.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_category.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_compat.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_context.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_mapping.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsarray.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsdata.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsdecimal.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsdictionary.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsobject.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsset.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_nsstring.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_convenience_sequence.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_descriptors.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_dyld.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_framework.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_informal_protocol.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_lazyimport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_locking.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_properties.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_protocols.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_pycoder.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_pythonify.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/_structtype.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/objc/simd.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/SOURCES.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/include/pyobjc-compat.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/License.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/MANIFEST +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/MANIFEST.in +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Misc/announcement.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/_machsignals.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonData.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonData.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonNumber.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_NSBundleHack.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_NSBundleHack.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonArray.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonArray.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonData.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonData.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonDate.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonDate.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonDictionary.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonDictionary.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonEnumerator.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonEnumerator.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonNumber.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonNumber.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonObject.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonObject.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonSet.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonSet.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonURL.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonURL.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonUnicode.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/OC_PythonUnicode.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ObjCPointer.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ObjCPointer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/block_support.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/block_support.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/bundle-variables.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/bundle-variables.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/class-builder.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/class-builder.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/class-list.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/closure_pool.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/closure_pool.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/corefoundation.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/corefoundation.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ctests.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ctests.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/file_wrapper.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/file_wrapper.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/formal-protocol.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/formal-protocol.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/fsref.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/fsref.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/function.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/function.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-authorization.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-foundation-nscoder.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-foundation-nsdata.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-foundation-nsdecimal.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-foundation-nsinvocation.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-foundation-nsobject.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers-vector.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/helpers.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/instance-var.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/instance-var.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ivar-accessor.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/ivar-accessor.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/libffi_extra.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/libffi_extra.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/libffi_support.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/libffi_support.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/memview.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/memview.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/meth-func.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/meth-func.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-accessor.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-accessor.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-imp.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-imp.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-signature.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/method-signature.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/module.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-NULL.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-NULL.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-class.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-object.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-object.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-runtime-compat.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc-runtime-compat.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_super.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_super.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_support.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/objc_support.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/opaque-pointer.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/opaque-pointer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pointer-support.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pointer-support.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/proxy-registry.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/proxy-registry.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-api.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-api.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-assert.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-compat.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-compat.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc-unittest.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc_unicode.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/pyobjc_unicode.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/python-api-used.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/registry.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/registry.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/released-buffer.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/released-buffer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/selector.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/selector.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/struct-sockaddr.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/struct-sockaddr.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/struct-wrapper.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/struct-wrapper.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/super-call.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/super-call.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/NULL.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/arrayint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/arrays.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/block.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/bufsizeinarg.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/categories_base.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c42.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c43.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c44.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c45.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c46.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c47.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c48.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c49.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c50.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c51.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c52.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c53.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c54.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c55.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c56.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c57.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c58.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_c59.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp10.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp11.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp12.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp13.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp14.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp15.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp16.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp17.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp18.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp19.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp20.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp21.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp22.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp23.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp24.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp27.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp3.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp30.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp33.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp36.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp39.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp42.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp45.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp48.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp51.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp54.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp57.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp6.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp7.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp8.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_gp9.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p24.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p25.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p26.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p27.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p28.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p29.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p30.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p31.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p32.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p33.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p34.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p35.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p36.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p37.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p38.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p39.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p40.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/category_p41.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/cfsocket.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/classes.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/clinmeth.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/copying.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/corefoundation.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/dataint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/dateint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/decimal.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/deprecations.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/dictint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/enumeration.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/exceptions.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/filepointer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/fsref.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/gcov.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/helpernsdata.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/helpernsobject.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/identity.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/initialize.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/instanceVariables.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/locking.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/metadata.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/metadatafunction.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/methodaccess.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/methodlookup.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/methres1.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/methres2.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/misc.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/missing1.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/missing2.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/missing3.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/nsobjectcategory.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/nulldelimitedresult.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/objectint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/opaque.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/pointersupport.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/properties.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/protected.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/protocol.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/pythonnumber.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/pythonset.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/sequence.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/sockaddr.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/specialtypecodes.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/stringint.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/structargs.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/structpointer1.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/structpointer2.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/structs.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/testbndl.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/testbndl2.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/testclassandinst.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/testoutputinitializer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/unavailable.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/vector.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/vectorcall.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/test/voidpointer.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/varlist.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/varlist.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/weakref.h +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Modules/objc/weakref.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/__init__.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/dump-nsarchive.m +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/fnd.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/helper_bridgesupport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/keyvaluehelper.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/loader.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_NULL.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_allocatebuffer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_api_import.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_archive_python.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_archiving_interop.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_archiving_secure_interop.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_array_interface.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_array_property.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_arrays.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_assocations.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_blocks.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bridged_classes.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bridges.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bridgesupport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bufsizeinarg.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bundleFunctions.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_bundleVariables.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_callable_docstr.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_callbacks.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_categories.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_classandinst.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_classhooks.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_clinmeth.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_compat.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_context.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_convenience.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_conversion.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_copying.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_corefoundation.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_ctests.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_data_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_date_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_default_selector.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_deprecations.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_descriptors.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_dict_interface.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_dict_property.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_dict_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_dyld.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_enumerator.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_exceptions.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_filepointer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_final.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_framework.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_fsref.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_functions.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_generic_class.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_hidden_selector.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_identity.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_imp.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_initialized.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_inspect_signatures.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_internals.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_ivar.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_keyvalue.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_keyvalue_prop.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_keyvaluecoding.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_lazy_import.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_leaks.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_list_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_locking.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_machsignals.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata_function.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata_imp.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata_inheritance.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata_py.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_metadata_py2py.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_method_prototypes.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methodaccess.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methodedits.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methodlookup.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methods.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methods2.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_methres.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nscoder.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsdata.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsdate_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsdecimal.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsinvocation.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsobject.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nsunavailable.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_nulldelimited.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_number_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_objc.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_objcpointer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_object_property.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_object_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_opaque.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_options.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_outputinitializer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_pickle.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_pickling_objc.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_pointer_compat.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_propertiesforclass.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_protected.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_protocol.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_protocolNamed.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_python_method.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_set_interface.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_set_property.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_set_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_signals.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_signatures.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_simd.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_sockaddr.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_charbyte.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_specialtypecodes_unichar.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_string_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_structpointer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_structs.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_synthesize.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_testsupport.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_transform.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_transform_integration.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_typecheck.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_unicode.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_urlproxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_usekvo.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_varargs.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_varlist.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_vector_proxy.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_vectorcall.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_version_support.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_voidpointer.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/PyObjCTest/test_weakref.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/README.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/MANIFEST.in +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/comparebench.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/gen_archive.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/generate-category-tests.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/generate-helpers-vector.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/pyobjcbench.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/results/pyobjcbench-7.3.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/runtests-with-nuitka.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/Tools/runtests.py +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/pyproject.toml +0 -0
- {pyobjc_core-10.3 → pyobjc_core-10.3.2}/setup.cfg +0 -0
|
@@ -43,7 +43,9 @@ def _selectorToKeywords(selector):
|
|
|
43
43
|
parts = selector.split(":")[:-1]
|
|
44
44
|
if parts[0].startswith("With"):
|
|
45
45
|
parts[0] = parts[0][4:]
|
|
46
|
-
|
|
46
|
+
|
|
47
|
+
if len(parts[0]) == 1 or (len(parts[0]) > 1 and not parts[0].isupper()):
|
|
48
|
+
parts[0] = parts[0][:1].lower() + parts[0][1:]
|
|
47
49
|
|
|
48
50
|
return tuple(parts)
|
|
49
51
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyobjc-core
|
|
3
|
-
Version: 10.3
|
|
3
|
+
Version: 10.3.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...
|
|
@@ -93,8 +93,12 @@ PyObjC_GetClassList(bool ignore_invalid_identifiers)
|
|
|
93
93
|
* versions should build on the latest one (and preferably
|
|
94
94
|
* use the "official" binary wheels).
|
|
95
95
|
*/
|
|
96
|
+
#if 0
|
|
96
97
|
if (@available(macOS 10.15, *)) {
|
|
97
98
|
} else {
|
|
99
|
+
#else
|
|
100
|
+
{
|
|
101
|
+
#endif
|
|
98
102
|
/* A numbef of private(-ish) classes that cause
|
|
99
103
|
* crashes when constructed here while running
|
|
100
104
|
* on macOS 10.14
|
|
@@ -348,6 +348,7 @@ static PyTypeObject* _Nullable PyObjCClass_NewMetaClass(Class objc_class)
|
|
|
348
348
|
static PyObject* _Nullable class_call(PyObject* self, PyObject* _Nullable args, PyObject* _Nullable kwds)
|
|
349
349
|
{
|
|
350
350
|
PyTypeObject* type = (PyTypeObject*)self;
|
|
351
|
+
PyObject* result;
|
|
351
352
|
|
|
352
353
|
if (type->tp_new == NULL) {
|
|
353
354
|
PyErr_Format( PyExc_TypeError,
|
|
@@ -355,7 +356,40 @@ static PyObject* _Nullable class_call(PyObject* self, PyObject* _Nullable args,
|
|
|
355
356
|
return NULL;
|
|
356
357
|
}
|
|
357
358
|
|
|
358
|
-
|
|
359
|
+
|
|
360
|
+
result = type->tp_new(type, args, kwds);
|
|
361
|
+
if (result == NULL) {
|
|
362
|
+
return result;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
if (PyObject_TypeCheck(result, type) == 0) {
|
|
366
|
+
return result;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (PyObjC_genericNewClass != NULL && PyObjC_genericNewClass != Py_None) {
|
|
370
|
+
PyObject* new = PyObject_GetAttr((PyObject*)type, PyObjCNM___new__);
|
|
371
|
+
if (new == NULL) { /* Shouldn't happen */
|
|
372
|
+
Py_DECREF(result);
|
|
373
|
+
return NULL;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
int r = PyObject_TypeCheck(new, (PyTypeObject*)PyObjC_genericNewClass);
|
|
377
|
+
Py_DECREF(new);
|
|
378
|
+
if (r != 0) {
|
|
379
|
+
return result;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* Only call __init__ when the generic new implementation is not used */
|
|
384
|
+
|
|
385
|
+
type = Py_TYPE(result);
|
|
386
|
+
if (type->tp_init != NULL) {
|
|
387
|
+
int res = type->tp_init(result, args, kwds);
|
|
388
|
+
if (res == -1) {
|
|
389
|
+
Py_SETREF(result, NULL);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return result;
|
|
359
393
|
}
|
|
360
394
|
|
|
361
395
|
|
|
@@ -1075,9 +1109,27 @@ static PyObject* _Nullable class_repr(PyObject* obj)
|
|
|
1075
1109
|
static void
|
|
1076
1110
|
class_dealloc(PyObject* cls)
|
|
1077
1111
|
{
|
|
1078
|
-
|
|
1079
|
-
|
|
1112
|
+
if (((PyObjCClassObject*)cls)->class == Nil) {
|
|
1113
|
+
/*
|
|
1114
|
+
* Cleanup of a class proxy that was created due to a race condition in creating
|
|
1115
|
+
* instances.
|
|
1116
|
+
*/
|
|
1117
|
+
PyObjCClassObject* info = (PyObjCClassObject*)cls;
|
|
1118
|
+
Py_CLEAR(info->sel_to_py);
|
|
1119
|
+
|
|
1120
|
+
Py_CLEAR(info->delmethod);
|
|
1121
|
+
Py_CLEAR(info->hiddenSelectors);
|
|
1122
|
+
Py_CLEAR(info->hiddenClassSelectors);
|
|
1123
|
+
Py_CLEAR(info->lookup_cache);
|
|
1124
|
+
PyType_Type.tp_dealloc(cls);
|
|
1125
|
+
return;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
/*
|
|
1129
|
+
* This method should never be called because it is impossible
|
|
1130
|
+
* to unregister an Objective-C class from the runtime.
|
|
1080
1131
|
*/
|
|
1132
|
+
|
|
1081
1133
|
char buf[1024];
|
|
1082
1134
|
|
|
1083
1135
|
snprintf(buf, sizeof(buf), "Deallocating objective-C class %s",
|
|
@@ -2605,7 +2657,20 @@ PyObject* _Nullable PyObjCClass_New(Class objc_class)
|
|
|
2605
2657
|
info->hiddenClassSelectors = hiddenClassSelectors;
|
|
2606
2658
|
info->lookup_cache = NULL;
|
|
2607
2659
|
|
|
2608
|
-
|
|
2660
|
+
PyObject* temp = objc_class_locate(objc_class);
|
|
2661
|
+
if (temp != NULL) {
|
|
2662
|
+
/* Race condition between two threads that
|
|
2663
|
+
* try to register the class.
|
|
2664
|
+
*/
|
|
2665
|
+
info->class = Nil;
|
|
2666
|
+
Py_DECREF(result);
|
|
2667
|
+
return temp;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
if (objc_class_register(objc_class, result) < 0) {
|
|
2671
|
+
Py_DECREF(result);
|
|
2672
|
+
return NULL;
|
|
2673
|
+
}
|
|
2609
2674
|
|
|
2610
2675
|
/*
|
|
2611
2676
|
* Support the buffer protocol in the wrappers for NSData and
|
|
@@ -2625,15 +2690,16 @@ PyObject* _Nullable PyObjCClass_New(Class objc_class)
|
|
|
2625
2690
|
PyType_Ready((PyTypeObject*)result);
|
|
2626
2691
|
}
|
|
2627
2692
|
|
|
2628
|
-
if (
|
|
2629
|
-
/* XXX */
|
|
2693
|
+
if (strncmp(className, "_NSPlaceholder", sizeof("_NSPlaceholder")-1) == 0) {
|
|
2630
2694
|
/* Workaround for an issue on macOS 10.15: For some
|
|
2631
2695
|
* reason the call to class_getInstanceVariable crashes
|
|
2632
2696
|
* when called early in the process, likely due to an
|
|
2633
2697
|
* incompletely initialized class.
|
|
2634
2698
|
*
|
|
2635
|
-
* The
|
|
2636
|
-
* to
|
|
2699
|
+
* The issue is more widespread in later versions of the OS,
|
|
2700
|
+
* and seems to be related to rewriting Foundation in Swift.
|
|
2701
|
+
*
|
|
2702
|
+
* Issues: #271, #625
|
|
2637
2703
|
*/
|
|
2638
2704
|
[objc_class class];
|
|
2639
2705
|
}
|
|
@@ -123,6 +123,7 @@ extern PyObject* PyObjCNM___get__;
|
|
|
123
123
|
extern PyObject* PyObjCNM_date_format_string;
|
|
124
124
|
extern PyObject* PyObjCNM_objc_memview_object;
|
|
125
125
|
extern PyObject* PyObjCNM_objc_NULL;
|
|
126
|
+
extern PyObject* PyObjCNM___new__;
|
|
126
127
|
|
|
127
128
|
extern PyObject* _Nullable PyObjC_CallCopyFunc(PyObject* arg);
|
|
128
129
|
extern PyObject* _Nullable PyObjC_CallDecoder(PyObject* cdr, PyObject* setValue);
|
|
@@ -34,6 +34,7 @@ PyObject* PyObjCNM___get__;
|
|
|
34
34
|
PyObject* PyObjCNM_date_format_string;
|
|
35
35
|
PyObject* PyObjCNM_objc_memview_object;
|
|
36
36
|
PyObject* PyObjCNM_objc_NULL;
|
|
37
|
+
PyObject* PyObjCNM___new__;
|
|
37
38
|
|
|
38
39
|
int
|
|
39
40
|
PyObjCUtil_Init(PyObject* module)
|
|
@@ -84,6 +85,7 @@ PyObjCUtil_Init(PyObject* module)
|
|
|
84
85
|
NEW_STR(PyObjCNM_date_format_string, "%s");
|
|
85
86
|
NEW_STR(PyObjCNM_objc_memview_object, "objc.memview object");
|
|
86
87
|
NEW_STR(PyObjCNM_objc_NULL, "objc.NULL");
|
|
88
|
+
NEW_STR(PyObjCNM___new__, "__new__");
|
|
87
89
|
|
|
88
90
|
#undef NEW_STR
|
|
89
91
|
|
|
@@ -27,6 +27,7 @@ extern PyObject* _Nullable PyObjC_setKeyPath;
|
|
|
27
27
|
extern PyObject* _Nullable PyObjC_transformAttribute;
|
|
28
28
|
extern PyObject* _Nullable PyObjC_processClassDict;
|
|
29
29
|
extern PyObject* _Nullable PyObjC_setDunderNew;
|
|
30
|
+
extern PyObject* _Nullable PyObjC_genericNewClass;
|
|
30
31
|
|
|
31
32
|
extern PyObject* _Nullable PyObjC_DictLikeTypes;
|
|
32
33
|
extern PyObject* _Nullable PyObjC_ListLikeTypes;
|
|
@@ -164,6 +164,7 @@ OBJECT_PROP(_setKeyPath, PyObjC_setKeyPath, NULL)
|
|
|
164
164
|
OBJECT_PROP(_transformAttribute, PyObjC_transformAttribute, NULL)
|
|
165
165
|
OBJECT_PROP(_processClassDict, PyObjC_processClassDict, NULL)
|
|
166
166
|
OBJECT_PROP(_setDunderNew, PyObjC_setDunderNew, NULL)
|
|
167
|
+
OBJECT_PROP(_genericNewClass, PyObjC_genericNewClass, NULL)
|
|
167
168
|
|
|
168
169
|
static PyObject*
|
|
169
170
|
bundle_hack_get(PyObject* s __attribute__((__unused__)),
|
|
@@ -303,6 +304,8 @@ static PyGetSetDef options_getset[] = {
|
|
|
303
304
|
"Private helper used for splitting a class dict into parts"),
|
|
304
305
|
GETSET(_setDunderNew,
|
|
305
306
|
"Private helper used for setting __new__ of a new Python subclass"),
|
|
307
|
+
GETSET(_genericNewClass,
|
|
308
|
+
"Class of the generic __new__ implementation"),
|
|
306
309
|
{
|
|
307
310
|
.name = "deprecation_warnings",
|
|
308
311
|
.get = deprecation_warnings_get,
|
|
@@ -39,6 +39,15 @@
|
|
|
39
39
|
return self;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
-(instancetype)initWithURL:(NSObject*)v
|
|
43
|
+
{
|
|
44
|
+
self = [super init];
|
|
45
|
+
if (!self) return nil;
|
|
46
|
+
|
|
47
|
+
value = [v retain];
|
|
48
|
+
return self;
|
|
49
|
+
}
|
|
50
|
+
|
|
42
51
|
-(instancetype)initWithFirst:(NSObject*)first second:(NSObject*)second
|
|
43
52
|
{
|
|
44
53
|
self = [super init];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyobjc-core
|
|
3
|
-
Version: 10.3
|
|
3
|
+
Version: 10.3.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...
|
|
@@ -7,6 +7,7 @@ from .genericnew import OC_GenericNew, OC_GenericNewChild, OC_GenericNewChild2
|
|
|
7
7
|
NSObject = objc.lookUpClass("NSObject")
|
|
8
8
|
|
|
9
9
|
objc.registerNewKeywordsFromSelector("OC_GenericNew", b"initWithValue:")
|
|
10
|
+
objc.registerNewKeywordsFromSelector("OC_GenericNew", b"initWithURL:")
|
|
10
11
|
objc.registerNewKeywordsFromSelector("OC_GenericNew", b"initWithFirst:second:")
|
|
11
12
|
objc.registerNewKeywordsFromSelector("OC_GenericNewChild", b"initWithX:y:")
|
|
12
13
|
objc.registerNewKeywordsFromSelector("OC_GenericNewChild2", b"initWithX:y:z:")
|
|
@@ -151,6 +152,9 @@ class TestDefaultNewForObjectiveCClass(TestCase):
|
|
|
151
152
|
v = OC_GenericNew(value=42)
|
|
152
153
|
self.assertEqual(v.value(), 42)
|
|
153
154
|
|
|
155
|
+
v = OC_GenericNew(URL=99)
|
|
156
|
+
self.assertEqual(v.value(), 99)
|
|
157
|
+
|
|
154
158
|
v = OC_GenericNew(first=1, second=2)
|
|
155
159
|
self.assertEqual(v.value(), ["first-second", 1, 2])
|
|
156
160
|
|
|
@@ -361,6 +361,13 @@ class TestNSDataCreationIssue(TestCase):
|
|
|
361
361
|
cls.alloc().initWithData_(b"hello")
|
|
362
362
|
|
|
363
363
|
|
|
364
|
+
class TestNSIndexSetCreationIssue(TestCase):
|
|
365
|
+
def test_issue625(self):
|
|
366
|
+
cls = objc.lookUpClass("NSIndexSet")
|
|
367
|
+
|
|
368
|
+
cls.alloc().initWithIndex_(0)
|
|
369
|
+
|
|
370
|
+
|
|
364
371
|
class TestTypedefedClass(TestCase):
|
|
365
372
|
# Issue #298, see description in Modules/objc/module.m
|
|
366
373
|
def test_typedefed(self):
|
|
@@ -102,6 +102,7 @@ class SplitSignatureTest(TestCase):
|
|
|
102
102
|
# Unclear why this signature isn't correct, possibly due to the 'queue'.
|
|
103
103
|
# method is private anyway...
|
|
104
104
|
"SCN_setupDisplayLinkWithQueue_screen_policy_",
|
|
105
|
+
"isNSURL__",
|
|
105
106
|
]
|
|
106
107
|
|
|
107
108
|
for cls in objc.getClassList():
|
|
@@ -127,6 +128,7 @@ class SplitSignatureTest(TestCase):
|
|
|
127
128
|
if sel.selector.split(b":", 1)[0] in (
|
|
128
129
|
b"fm",
|
|
129
130
|
b"_fm",
|
|
131
|
+
b"_ns",
|
|
130
132
|
b"_ax",
|
|
131
133
|
b"_scr",
|
|
132
134
|
b"CA_interpolateValues",
|
|
@@ -146,6 +148,8 @@ class SplitSignatureTest(TestCase):
|
|
|
146
148
|
b"ams",
|
|
147
149
|
b"safari",
|
|
148
150
|
b"vs",
|
|
151
|
+
b"_swiftui",
|
|
152
|
+
b"swiftui",
|
|
149
153
|
) or sel.selector in (
|
|
150
154
|
b"isNSArray::",
|
|
151
155
|
b"isNSCFConstantString::",
|
|
@@ -1155,3 +1155,53 @@ class TestSuperUsage(TestCase):
|
|
|
1155
1155
|
def init(self):
|
|
1156
1156
|
self = super().init()
|
|
1157
1157
|
return self
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
class OC_DunderInitBase(NSObject):
|
|
1161
|
+
# Helper for ``TestUsingDunderInit``
|
|
1162
|
+
def __new__(cls, *args, **kwds):
|
|
1163
|
+
return cls.alloc().init()
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
class TestUsingDunderInit(TestCase):
|
|
1167
|
+
# Some users have an intermediate class
|
|
1168
|
+
# which implements ``__new__`` to be able
|
|
1169
|
+
# to create Cocoa sublcasses using a similar
|
|
1170
|
+
# interface as normal Python subclasses, e.g.
|
|
1171
|
+
# with ``__init__`` for initializing the instance.
|
|
1172
|
+
#
|
|
1173
|
+
# This should continue to work.
|
|
1174
|
+
|
|
1175
|
+
def test_using_dunder_init(self):
|
|
1176
|
+
class OC_DunderInitSub1(OC_DunderInitBase):
|
|
1177
|
+
def __init__(self, x, y=2):
|
|
1178
|
+
self.x = x
|
|
1179
|
+
self.y = y
|
|
1180
|
+
|
|
1181
|
+
o = OC_DunderInitSub1(x=1)
|
|
1182
|
+
self.assertIsInstance(o, OC_DunderInitSub1)
|
|
1183
|
+
self.assertEqual(o.x, 1)
|
|
1184
|
+
self.assertEqual(o.y, 2)
|
|
1185
|
+
|
|
1186
|
+
with self.assertRaises(TypeError):
|
|
1187
|
+
OC_DunderInitSub1()
|
|
1188
|
+
|
|
1189
|
+
with self.assertRaises(TypeError):
|
|
1190
|
+
OC_DunderInitSub1(9, z=4)
|
|
1191
|
+
|
|
1192
|
+
def test_multipe_generations(self):
|
|
1193
|
+
class OC_DunderInitSub2(OC_DunderInitBase):
|
|
1194
|
+
def __init__(self, x, y):
|
|
1195
|
+
self.x = x
|
|
1196
|
+
self.y = y
|
|
1197
|
+
|
|
1198
|
+
class OC_DunderInitSub3(OC_DunderInitSub2):
|
|
1199
|
+
def __init__(self, x, y, z):
|
|
1200
|
+
super().__init__(x, y)
|
|
1201
|
+
self.z = z
|
|
1202
|
+
|
|
1203
|
+
o = OC_DunderInitSub3(1, 2, 3)
|
|
1204
|
+
self.assertIsInstance(o, OC_DunderInitSub3)
|
|
1205
|
+
self.assertEqual(o.x, 1)
|
|
1206
|
+
self.assertEqual(o.y, 2)
|
|
1207
|
+
self.assertEqual(o.z, 3)
|
|
@@ -22,11 +22,12 @@ import sys
|
|
|
22
22
|
import tempfile
|
|
23
23
|
import time
|
|
24
24
|
import unittest
|
|
25
|
+
from fnmatch import fnmatch
|
|
25
26
|
from sysconfig import get_config_var, get_config_vars
|
|
26
27
|
from setuptools import Command
|
|
27
28
|
from setuptools import Extension as _Extension
|
|
28
29
|
from setuptools import setup as _setup
|
|
29
|
-
from setuptools.command import build_ext, build_py, develop, egg_info, install_lib
|
|
30
|
+
from setuptools.command import build_ext, build_py, develop, egg_info, install_lib
|
|
30
31
|
|
|
31
32
|
from distutils import log
|
|
32
33
|
from distutils.errors import DistutilsError, DistutilsPlatformError
|
|
@@ -84,18 +85,14 @@ class oc_egg_info(egg_info.egg_info):
|
|
|
84
85
|
fp.write(last)
|
|
85
86
|
|
|
86
87
|
|
|
87
|
-
class oc_test(
|
|
88
|
+
class oc_test(Command):
|
|
88
89
|
description = "run test suite"
|
|
89
|
-
user_options =
|
|
90
|
-
("verbosity=", None, "print what tests are run")
|
|
91
|
-
]
|
|
90
|
+
user_options = [("verbosity=", None, "print what tests are run")]
|
|
92
91
|
|
|
93
92
|
def initialize_options(self):
|
|
94
|
-
test.test.initialize_options(self)
|
|
95
93
|
self.verbosity = "1"
|
|
96
94
|
|
|
97
95
|
def finalize_options(self):
|
|
98
|
-
test.test.finalize_options(self)
|
|
99
96
|
if isinstance(self.verbosity, str):
|
|
100
97
|
self.verbosity = int(self.verbosity)
|
|
101
98
|
|
|
@@ -154,18 +151,14 @@ class oc_test(test.test):
|
|
|
154
151
|
self.cleanup_environment()
|
|
155
152
|
self.add_project_to_sys_path()
|
|
156
153
|
|
|
157
|
-
from pkg_resources import EntryPoint
|
|
158
|
-
|
|
159
|
-
loader_ep = EntryPoint.parse("x=" + self.test_loader)
|
|
160
|
-
loader_class = loader_ep.resolve()
|
|
161
|
-
|
|
162
154
|
import warnings
|
|
163
155
|
|
|
164
156
|
warnings.simplefilter("error")
|
|
157
|
+
warnings.filterwarnings("ignore", message=".*GIL.*", category=RuntimeWarning)
|
|
165
158
|
|
|
166
159
|
try:
|
|
167
160
|
time_before = time.time()
|
|
168
|
-
suite =
|
|
161
|
+
suite = makeTestSuite()
|
|
169
162
|
|
|
170
163
|
if self.verbose and self.verbosity < 3:
|
|
171
164
|
runner = unittest.TextTestRunner(verbosity=3)
|
|
@@ -511,21 +504,17 @@ def Extension(*args, **kwds):
|
|
|
511
504
|
% (tuple(map(int, os_level.split(".")[:2])))
|
|
512
505
|
)
|
|
513
506
|
|
|
514
|
-
# XCode 15 has a bug w.r.t. weak linking for older macOS versions,
|
|
515
|
-
# fall back to older linker when using that compiler.
|
|
516
|
-
# XXX: This should be in _fixup_compiler but doesn't work there...
|
|
517
|
-
lines = subprocess.check_output(["xcodebuild", "-version"], text=True).splitlines()
|
|
518
|
-
if lines[0].startswith("Xcode"):
|
|
519
|
-
xcode_vers = int(lines[0].split()[-1].split(".")[0])
|
|
520
|
-
if xcode_vers >= 15:
|
|
521
|
-
ldflags.append("-Wl,-ld_classic")
|
|
522
|
-
|
|
523
507
|
if os_level == "10.4":
|
|
524
508
|
cflags.append("-DNO_OBJC2_RUNTIME")
|
|
525
509
|
|
|
526
510
|
if "-Werror" not in cflags:
|
|
527
511
|
cflags.append("-Werror")
|
|
528
512
|
|
|
513
|
+
if get_config_var("Py_GIL_DISABLED"):
|
|
514
|
+
cflags.append("-DPyObjC_GIL_DISABLED")
|
|
515
|
+
if "py_limited_api" in kwds:
|
|
516
|
+
del kwds["py_limited_api"]
|
|
517
|
+
|
|
529
518
|
if "extra_compile_args" in kwds:
|
|
530
519
|
kwds["extra_compile_args"] = kwds["extra_compile_args"] + cflags
|
|
531
520
|
else:
|
|
@@ -618,6 +607,10 @@ def setup(min_os_level=None, max_os_level=None, cmdclass=None, **kwds):
|
|
|
618
607
|
# No extension modules, can build universal wheel
|
|
619
608
|
k["options"] = {"bdist_wheel": {"universal": 1}}
|
|
620
609
|
|
|
610
|
+
if "options" in k and "bdist_wheel" in k["options"]:
|
|
611
|
+
if get_config_var("Py_GIL_DISABLED"):
|
|
612
|
+
del k["options"]["bdist_wheel"]
|
|
613
|
+
|
|
621
614
|
plat_name = "MacOS X"
|
|
622
615
|
plat_versions = []
|
|
623
616
|
if min_os_level is not None and min_os_level == max_os_level:
|
|
@@ -675,3 +668,50 @@ def setup(min_os_level=None, max_os_level=None, cmdclass=None, **kwds):
|
|
|
675
668
|
keywords=["PyObjC"] + [p for p in k["packages"] if p not in ("PyObjCTools",)],
|
|
676
669
|
**k,
|
|
677
670
|
)
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
def recursiveGlob(root, pathPattern):
|
|
674
|
+
"""
|
|
675
|
+
Recursively look for files matching 'pathPattern'. Return a list
|
|
676
|
+
of matching files/directories.
|
|
677
|
+
"""
|
|
678
|
+
result = []
|
|
679
|
+
|
|
680
|
+
for rootpath, _dirnames, filenames in os.walk(root):
|
|
681
|
+
for fn in filenames:
|
|
682
|
+
if fnmatch(fn, pathPattern):
|
|
683
|
+
result.append(os.path.join(rootpath, fn))
|
|
684
|
+
return result
|
|
685
|
+
|
|
686
|
+
|
|
687
|
+
def importExternalTestCases(pathPattern="test_*.py", root=".", package=None):
|
|
688
|
+
"""
|
|
689
|
+
Import all unittests in the PyObjC tree starting at 'root'
|
|
690
|
+
"""
|
|
691
|
+
testFiles = recursiveGlob(root, pathPattern)
|
|
692
|
+
testModules = [x[len(root) + 1 : -3].replace("/", ".") for x in testFiles]
|
|
693
|
+
if package is not None:
|
|
694
|
+
testModules = [(package + "." + m) for m in testModules]
|
|
695
|
+
suites = []
|
|
696
|
+
for modName in testModules:
|
|
697
|
+
try:
|
|
698
|
+
module = __import__(modName)
|
|
699
|
+
except ImportError as msg:
|
|
700
|
+
print(f"SKIP {modName}: {msg}")
|
|
701
|
+
continue
|
|
702
|
+
if "." in modName:
|
|
703
|
+
for elem in modName.split(".")[1:]:
|
|
704
|
+
module = getattr(module, elem)
|
|
705
|
+
s = unittest.defaultTestLoader.loadTestsFromModule(module)
|
|
706
|
+
suites.append(s)
|
|
707
|
+
return unittest.TestSuite(suites)
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
gTopdir = os.path.dirname(__file__)
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
def makeTestSuite():
|
|
714
|
+
plain_suite = importExternalTestCases(
|
|
715
|
+
"test_*.py", os.path.join(gTopdir, "PyObjCTest"), package="PyObjCTest"
|
|
716
|
+
)
|
|
717
|
+
return plain_suite
|
|
@@ -7,8 +7,8 @@ import tempfile
|
|
|
7
7
|
import sys
|
|
8
8
|
import subprocess
|
|
9
9
|
import warnings
|
|
10
|
-
from setuptools import Extension, setup
|
|
11
|
-
from setuptools.command import build_ext, build_py, egg_info, install_lib
|
|
10
|
+
from setuptools import Extension, setup, Command
|
|
11
|
+
from setuptools.command import build_ext, build_py, egg_info, install_lib
|
|
12
12
|
from distutils import log
|
|
13
13
|
from distutils.errors import DistutilsError, DistutilsPlatformError, DistutilsSetupError
|
|
14
14
|
from distutils.sysconfig import get_config_var as _get_config_var
|
|
@@ -213,18 +213,14 @@ class oc_build_py(build_py.build_py):
|
|
|
213
213
|
self.packages = p
|
|
214
214
|
|
|
215
215
|
|
|
216
|
-
class oc_test(
|
|
216
|
+
class oc_test(Command):
|
|
217
217
|
description = "run test suite"
|
|
218
|
-
user_options =
|
|
219
|
-
("verbosity=", None, "print what tests are run")
|
|
220
|
-
]
|
|
218
|
+
user_options = [("verbosity=", None, "print what tests are run")]
|
|
221
219
|
|
|
222
220
|
def initialize_options(self):
|
|
223
|
-
test.test.initialize_options(self)
|
|
224
221
|
self.verbosity = "1"
|
|
225
222
|
|
|
226
223
|
def finalize_options(self):
|
|
227
|
-
test.test.finalize_options(self)
|
|
228
224
|
if isinstance(self.verbosity, str):
|
|
229
225
|
self.verbosity = int(self.verbosity)
|
|
230
226
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/ConsoleReactor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/README.txt
RENAMED
|
File without changes
|
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/netrepr.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/remote_console.py
RENAMED
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/remote_pipe.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/tcpinterpreter.py
RENAMED
|
File without changes
|
{pyobjc_core-10.3 → pyobjc_core-10.3.2}/Examples/NonFunctional/RemotePyInterpreter/test_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|