pyobjc-core 12.0__tar.gz → 12.1__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-12.0 → pyobjc_core-12.1}/Lib/PyObjCTools/TestSupport.py +28 -57
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_new.py +0 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_transform.py +9 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/PKG-INFO +3 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/SOURCES.txt +3 -1
- {pyobjc_core-12.0/Modules/objc → pyobjc_core-12.1/Lib/pyobjc_core.egg-info/include}/pyobjc-compat.h +19 -48
- pyobjc_core-12.1/Lib/pyobjc_core.egg-info/pyobjc-build-info.txt +3 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonArray.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonArray.m +1 -9
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonData.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonDate.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonDictionary.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonDictionary.m +17 -6
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonNumber.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonNumber.m +56 -39
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonObject.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonObject.m +38 -42
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonSet.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonUnicode.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonUnicode.m +4 -6
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ObjCPointer.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/block_support.m +49 -51
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/bundle-variables.m +4 -7
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/class-builder.h +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/class-builder.m +37 -143
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/corefoundation.m +4 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ctests.m +85 -8
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/file_wrapper.m +4 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/formal-protocol.m +7 -6
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/function.m +13 -17
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-authorization.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-foundation-nscoder.m +1 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-foundation-nsobject.m +20 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/instance-var.m +2 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/libffi_support.h +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/libffi_support.m +315 -384
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/memview.m +8 -10
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/meth-func.m +6 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-accessor.m +51 -53
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-imp.h +1 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-imp.m +9 -10
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-signature.h +25 -24
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-signature.m +200 -159
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/module.m +8 -10
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-class.m +237 -186
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-object.h +7 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-object.m +30 -21
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-runtime-compat.h +2 -2
- pyobjc_core-12.1/Modules/objc/objc-runtime-compat.m +45 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_super.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_support.m +134 -121
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_util.h +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_util.m +36 -31
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/opaque-pointer.m +1 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/options.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/proxy-registry.h +6 -18
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/proxy-registry.m +2 -4
- {pyobjc_core-12.0/Lib/pyobjc_core.egg-info/include → pyobjc_core-12.1/Modules/objc}/pyobjc-compat.h +19 -48
- pyobjc_core-12.1/Modules/objc/pyobjc-compat.m +38 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc-unittest.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc.h +1 -9
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/python-api-used.h +11 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/registry.m +26 -45
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/selector.h +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/selector.m +80 -165
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/struct-sockaddr.m +5 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/struct-wrapper.m +8 -7
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/super-call.h +1 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/super-call.m +68 -26
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/coding.m +4 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/customcallers.m +13 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/deprecations.m +47 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/helpernsobject.m +102 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/metadata.m +72 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/metadatafunction.m +21 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/methodaccess.m +10 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/nulldelimitedresult.m +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/objectint.m +6 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/specialtypecodes.m +5 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/structargs.m +28 -0
- pyobjc_core-12.1/Modules/objc/test/supercall.m +383 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/testbndl.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/varlist.m +5 -6
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PKG-INFO +3 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_authorizationitem.py +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_blocks.py +25 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_conversion.py +43 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_corefoundation.py +18 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_customcallers.py +37 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_deprecations.py +65 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_final.py +8 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_functions.py +77 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_generic_new.py +6 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_hidden_selector.py +41 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_imp.py +21 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_initpatterns.py +2 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_internals.py +90 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_lazy_import.py +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata.py +376 -7
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata_py.py +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methodaccess.py +65 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methodedits.py +102 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methods.py +6 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsdata.py +8 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsdecimal.py +1 -2
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsobject.py +36 -1
- pyobjc_core-12.1/PyObjCTest/test_nsproxy.py +64 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_number_proxy.py +38 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_options.py +27 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_propertiesforclass.py +18 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_regr.py +391 -10
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_charbyte.py +16 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_unichar.py +39 -4
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_splitsig.py +62 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_structs.py +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_subclass.py +143 -20
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_testsupport.py +172 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_transform.py +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_usekvo.py +17 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_vector_proxy.py +7 -1
- pyobjc_core-12.1/Tools/free-threading/concurrent-methinfo.py +20 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/pyobjc_setup.py +4 -5
- {pyobjc_core-12.0 → pyobjc_core-12.1}/setup.cfg +2 -3
- {pyobjc_core-12.0 → pyobjc_core-12.1}/setup.py +6 -2
- pyobjc_core-12.0/Lib/pyobjc_core.egg-info/pyobjc-build-info.txt +0 -3
- pyobjc_core-12.0/Modules/objc/objc-runtime-compat.m +0 -66
- pyobjc_core-12.0/Modules/objc/pyobjc-assert.h +0 -59
- pyobjc_core-12.0/Modules/objc/pyobjc-compat.m +0 -69
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/00ReadMe.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/GUITests/00ReadMe.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/GUITests/test_modalsession.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/HelloWorld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/autoreadme.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/instrumentSends.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/kvo-debugging.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/signal-demo.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/stdinreader.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/subclassing-objective-c.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Examples/Scripts/wmEnable.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/HISTORIC.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Install.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/PyObjCTools/MachSignals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/PyObjCTools/Signals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/__init__.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_bridges.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_bridgesupport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_callable_docstr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_category.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_context.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_mapping.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsarray.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsdata.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsdecimal.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsdictionary.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsobject.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsset.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_nsstring.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_convenience_sequence.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_descriptors.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_dyld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_framework.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_informal_protocol.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_lazyimport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_locking.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_properties.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_protocols.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_pycoder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_pythonify.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_structtype.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/_types.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/objc/simd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/License.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/MANIFEST +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/MANIFEST.in +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Misc/announcement.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/_machsignals.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonData.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonData.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonNumber.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_NSBundleHack.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_NSBundleHack.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonData.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonDate.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonEnumerator.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonEnumerator.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonSet.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonURL.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/OC_PythonURL.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ObjCPointer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/block_support.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/bundle-variables.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/class-list.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/class-list.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/closure_pool.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/closure_pool.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/corefoundation.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ctests.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/file_wrapper.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/formal-protocol.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/fsref.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/fsref.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/function.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-foundation-nsdata.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-foundation-nsdecimal.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-foundation-nsinvocation.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers-vector.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/helpers.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/instance-var.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ivar-accessor.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/ivar-accessor.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/libffi_extra.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/libffi_extra.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/memview.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/meth-func.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/method-accessor.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-NULL.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-NULL.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc-class.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_super.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/objc_support.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/opaque-pointer.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/options.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pointer-support.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pointer-support.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc-api.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc-api.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc_unicode.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/pyobjc_unicode.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/registry.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/released-buffer.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/released-buffer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/struct-sockaddr.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/struct-wrapper.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/NULL.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/arrayint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/arrays.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/authorizationitem.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/block.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/block2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/bufsizeinarg.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/categories_base.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c42.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c43.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c44.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c45.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c46.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c47.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c48.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c49.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c50.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c51.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c52.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c53.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c54.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c55.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c56.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c57.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c58.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_c59.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp10.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp11.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp12.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp13.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp14.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp15.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp16.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp17.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp18.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp19.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp20.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp21.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp22.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp23.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp24.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp27.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp3.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp30.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp33.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp36.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp39.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp42.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp45.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp48.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp51.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp54.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp57.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp6.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp7.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp8.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_gp9.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p24.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p25.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p26.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p27.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p28.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p29.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p30.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p31.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p32.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p33.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p34.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p35.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p36.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p37.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p38.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p39.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p40.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/category_p41.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/cfsocket.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/classes.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/clinmeth.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/copying.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/corefoundation.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/dataint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/dateint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/decimal.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/dictint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/enumeration.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/exceptions.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/filepointer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/fsref.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/gcov.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/genericnew.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/helpernsdata.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/identity.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/initialize.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/initpatterns.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/instanceVariables.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/locking.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/metadataorder.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/methodlookup.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/methres1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/methres2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/misc.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/missing1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/missing2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/missing3.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/nsobjectcategory.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/opaque.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/pointersupport.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/properties.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/protected.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/protocol.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/pythonnumber.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/pythonset.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/sequence.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/sockaddr.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/stringint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/structpointer1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/structpointer2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/structs.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/testbndl2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/testclassandinst.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/testoutputinitializer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/unavailable.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/vector.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/vectorcall.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/test/voidpointer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/varlist.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/weakref.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Modules/objc/weakref.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/__init__.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/dump-nsarchive.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/fnd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/helper_bridgesupport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/keyvaluehelper.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/loader.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_NULL.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_allocatebuffer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_api_import.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_archive_python.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_archiving_interop.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_archiving_secure_interop.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_array_interface.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_array_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_arrays.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_assocations.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bridged_classes.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bridges.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bridgesupport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bufsizeinarg.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bundleFunctions.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_bundleVariables.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_callable_docstr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_callbacks.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_categories.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_classandinst.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_classhooks.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_clinmeth.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_context.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_convenience.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_copying.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_ctests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_data_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_date_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_default_selector.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_descriptors.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_dict_interface.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_dict_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_dict_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_dyld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_enumerator.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_exceptions.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_filepointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_framework.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_free_threading.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_fsref.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_generic_class.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_identity.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_inspect_signatures.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_ivar.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_keyvalue.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_keyvalue_prop.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_keyvaluecoding.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_leaks.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_list_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_locking.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_machsignals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata_function.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata_imp.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata_inheritance.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadata_py2py.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_metadataorder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_method_prototypes.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methodlookup.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methods2.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_methres.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nscoder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsdate_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsinvocation.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nsunavailable.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_nulldelimited.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_objc.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_objcpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_object_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_object_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_opaque.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_outputinitializer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_pickle.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_pickling_objc.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_pointer_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_protected.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_protocol.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_protocolNamed.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_python_method.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_set_interface.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_set_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_set_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_signals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_signatures.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_simd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_sockaddr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_string_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_structpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_super_on_regular_classes.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_synthesize.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_transform_integration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_typecheck.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_unicode.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_urlproxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_varargs.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_varlist.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_vectorcall.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_version_support.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_voidpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/PyObjCTest/test_weakref.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/README.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/MANIFEST.in +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/comparebench.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/_tools.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/concurrent-class-list.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/concurrent-dict-getting.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/concurrent-iteration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/concurrent-registration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/free-threading/concurrent-value-getting.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/gen_archive.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/generate-category-tests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/generate-helpers-vector.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/pyobjcbench.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/results/pyobjcbench-7.3.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/run-free-threading-tests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/runtests-with-nuitka.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/Tools/runtests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.1}/pyproject.toml +0 -0
|
@@ -29,9 +29,7 @@ _usepool = not _os.environ.get("PYOBJC_NO_AUTORELEASE")
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
def _typemap(tp):
|
|
32
|
-
if
|
|
33
|
-
return tuple(_typemap(x) for x in tp)
|
|
34
|
-
elif tp is None:
|
|
32
|
+
if tp is None:
|
|
35
33
|
return None
|
|
36
34
|
return (
|
|
37
35
|
tp.replace(b"_NSRect", b"CGRect")
|
|
@@ -675,8 +673,8 @@ class TestCase(_unittest.TestCase):
|
|
|
675
673
|
for item in tp:
|
|
676
674
|
if (
|
|
677
675
|
typestr == item
|
|
678
|
-
or _typemap(typestr) == _typemap(
|
|
679
|
-
or _typealias.get(typestr, typestr) == _typealias.get(
|
|
676
|
+
or _typemap(typestr) == _typemap(item)
|
|
677
|
+
or _typealias.get(typestr, typestr) == _typealias.get(item, item)
|
|
680
678
|
):
|
|
681
679
|
break
|
|
682
680
|
else:
|
|
@@ -717,8 +715,8 @@ class TestCase(_unittest.TestCase):
|
|
|
717
715
|
for item in tp:
|
|
718
716
|
if (
|
|
719
717
|
typestr == item
|
|
720
|
-
or _typemap(typestr) == _typemap(
|
|
721
|
-
or _typealias.get(typestr, typestr) == _typealias.get(
|
|
718
|
+
or _typemap(typestr) == _typemap(item)
|
|
719
|
+
or _typealias.get(typestr, typestr) == _typealias.get(item, item)
|
|
722
720
|
):
|
|
723
721
|
break
|
|
724
722
|
else:
|
|
@@ -1386,62 +1384,37 @@ class TestCase(_unittest.TestCase):
|
|
|
1386
1384
|
# Calculate all (interesting) names in the module. This pokes into
|
|
1387
1385
|
# the implementation details of objc.ObjCLazyModule to avoid loading
|
|
1388
1386
|
# all attributes (which is expensive for larger bindings).
|
|
1389
|
-
|
|
1387
|
+
def is_pyobjc_lazy(module):
|
|
1388
|
+
getter = getattr(module, "__getattr__", None)
|
|
1389
|
+
if getter is None:
|
|
1390
|
+
return False
|
|
1391
|
+
return hasattr(getter, "_pyobjc_parents")
|
|
1392
|
+
|
|
1393
|
+
if is_pyobjc_lazy(module):
|
|
1394
|
+
getter = getattr(module, "__getattr__", None)
|
|
1390
1395
|
module_names = []
|
|
1391
1396
|
module_names.extend(
|
|
1392
1397
|
cls.__name__
|
|
1393
1398
|
for cls in objc.getClassList(True)
|
|
1394
1399
|
if (not cls.__name__.startswith("_")) and ("." not in cls.__name__)
|
|
1395
1400
|
)
|
|
1396
|
-
module_names.extend(
|
|
1397
|
-
|
|
1398
|
-
todo = list(module._ObjCLazyModule__parents or [])
|
|
1401
|
+
module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or [])
|
|
1402
|
+
todo = list(getter._pyobjc_parents)
|
|
1399
1403
|
while todo:
|
|
1400
1404
|
parent = todo.pop()
|
|
1401
|
-
if
|
|
1402
|
-
|
|
1403
|
-
|
|
1405
|
+
if is_pyobjc_lazy(parent):
|
|
1406
|
+
getter = getattr(parent, "__getattr__", None)
|
|
1407
|
+
module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or [])
|
|
1408
|
+
todo.extend(getter._pyobjc_parents or ())
|
|
1404
1409
|
module_names.extend(parent.__dict__.keys())
|
|
1410
|
+
|
|
1405
1411
|
else:
|
|
1406
1412
|
module_names.extend(dir(parent))
|
|
1407
1413
|
|
|
1408
|
-
# The module_names list might contain duplicates
|
|
1409
1414
|
module_names = sorted(set(module_names))
|
|
1410
|
-
else:
|
|
1411
|
-
|
|
1412
|
-
def is_pyobjc_lazy(module):
|
|
1413
|
-
getter = getattr(module, "__getattr__", None)
|
|
1414
|
-
if getter is None:
|
|
1415
|
-
return False
|
|
1416
|
-
return hasattr(getter, "_pyobjc_parents")
|
|
1417
|
-
|
|
1418
|
-
if is_pyobjc_lazy(module):
|
|
1419
|
-
getter = getattr(module, "__getattr__", None)
|
|
1420
|
-
module_names = []
|
|
1421
|
-
module_names.extend(
|
|
1422
|
-
cls.__name__
|
|
1423
|
-
for cls in objc.getClassList(True)
|
|
1424
|
-
if (not cls.__name__.startswith("_")) and ("." not in cls.__name__)
|
|
1425
|
-
)
|
|
1426
|
-
module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or [])
|
|
1427
|
-
todo = list(getter._pyobjc_parents)
|
|
1428
|
-
while todo:
|
|
1429
|
-
parent = todo.pop()
|
|
1430
|
-
if is_pyobjc_lazy(parent):
|
|
1431
|
-
getter = getattr(parent, "__getattr__", None)
|
|
1432
|
-
module_names.extend(
|
|
1433
|
-
getattr(getter, "_pyobjc_funcmap", None) or []
|
|
1434
|
-
)
|
|
1435
|
-
todo.extend(getter._pyobjc_parents or ())
|
|
1436
|
-
module_names.extend(parent.__dict__.keys())
|
|
1437
|
-
|
|
1438
|
-
else:
|
|
1439
|
-
module_names.extend(dir(parent))
|
|
1440
1415
|
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
else:
|
|
1444
|
-
module_names = sorted(set(dir(module)))
|
|
1416
|
+
else:
|
|
1417
|
+
module_names = sorted(set(dir(module)))
|
|
1445
1418
|
|
|
1446
1419
|
for _idx, nm in enumerate(module_names):
|
|
1447
1420
|
# print(f"{_idx}/{len(module_names)} {nm}")
|
|
@@ -1452,18 +1425,16 @@ class TestCase(_unittest.TestCase):
|
|
|
1452
1425
|
|
|
1453
1426
|
try:
|
|
1454
1427
|
value = getattr(module, nm)
|
|
1455
|
-
except AttributeError:
|
|
1456
|
-
continue
|
|
1428
|
+
except AttributeError: # pragma: no cover
|
|
1429
|
+
continue # pragma: no cover
|
|
1457
1430
|
if isinstance(value, objc.objc_class):
|
|
1458
1431
|
with objc.autorelease_pool():
|
|
1459
1432
|
if value.__name__ == "Object":
|
|
1460
1433
|
# Root class, does not conform to the NSObject
|
|
1461
1434
|
# protocol and useless to test.
|
|
1462
1435
|
continue
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
attr,
|
|
1466
|
-
) in value.pyobjc_instanceMethods.__dict__.items():
|
|
1436
|
+
instanceMethodDict = value.pyobjc_instanceMethods.__dict__
|
|
1437
|
+
for attr_name, attr in instanceMethodDict.items():
|
|
1467
1438
|
if attr_name in exclude_method_names:
|
|
1468
1439
|
continue
|
|
1469
1440
|
if (nm, attr_name) in exclude_attrs:
|
|
@@ -1481,8 +1452,8 @@ class TestCase(_unittest.TestCase):
|
|
|
1481
1452
|
)
|
|
1482
1453
|
|
|
1483
1454
|
for attr_name, attr in value.pyobjc_classMethods.__dict__.items():
|
|
1484
|
-
if attr_name in exclude_method_names:
|
|
1485
|
-
continue
|
|
1455
|
+
if attr_name in exclude_method_names: # pragma: no branch
|
|
1456
|
+
continue # pragma: no cover
|
|
1486
1457
|
if (nm, attr_name) in exclude_attrs:
|
|
1487
1458
|
continue
|
|
1488
1459
|
if attr_name.startswith("_"):
|
|
@@ -605,9 +605,11 @@ def returns_value(func):
|
|
|
605
605
|
elif prev.opname != "LOAD_CONST":
|
|
606
606
|
return True
|
|
607
607
|
|
|
608
|
-
elif
|
|
609
|
-
|
|
610
|
-
|
|
608
|
+
elif ( # pragma: no branch
|
|
609
|
+
inst.opname == "RETURN_CONST" and consts[inst.arg] is not None
|
|
610
|
+
):
|
|
611
|
+
# New in Python 3.12, dropped in 3.14
|
|
612
|
+
return True # pragma: no cover
|
|
611
613
|
prev = inst
|
|
612
614
|
|
|
613
615
|
return False
|
|
@@ -674,6 +676,10 @@ class objc_method:
|
|
|
674
676
|
self.signature = signature
|
|
675
677
|
self.isclass = isclass
|
|
676
678
|
|
|
679
|
+
@property
|
|
680
|
+
def __name__(self):
|
|
681
|
+
return self.__wrapped__.__name__
|
|
682
|
+
|
|
677
683
|
def __call__(self, *args, **kwds):
|
|
678
684
|
if self.__wrapped__ is None:
|
|
679
685
|
if len(kwds) != 0:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-core
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.1
|
|
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...
|
|
@@ -19,7 +19,6 @@ Classifier: Operating System :: MacOS :: MacOS X
|
|
|
19
19
|
Classifier: Programming Language :: Python
|
|
20
20
|
Classifier: Programming Language :: Python :: 3
|
|
21
21
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -27,11 +26,11 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
27
26
|
Classifier: Programming Language :: Python :: 3.14
|
|
28
27
|
Classifier: Programming Language :: Python :: 3.15
|
|
29
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
30
|
-
Classifier: Programming Language :: Python :: Free Threading ::
|
|
29
|
+
Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
|
|
31
30
|
Classifier: Programming Language :: Objective C
|
|
32
31
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
33
32
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
34
|
-
Requires-Python: >=3.
|
|
33
|
+
Requires-Python: >=3.10
|
|
35
34
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
36
35
|
Dynamic: author
|
|
37
36
|
Dynamic: author-email
|
|
@@ -175,7 +175,6 @@ Modules/objc/proxy-registry.h
|
|
|
175
175
|
Modules/objc/proxy-registry.m
|
|
176
176
|
Modules/objc/pyobjc-api.h
|
|
177
177
|
Modules/objc/pyobjc-api.m
|
|
178
|
-
Modules/objc/pyobjc-assert.h
|
|
179
178
|
Modules/objc/pyobjc-compat.h
|
|
180
179
|
Modules/objc/pyobjc-compat.m
|
|
181
180
|
Modules/objc/pyobjc-unittest.h
|
|
@@ -328,6 +327,7 @@ Modules/objc/test/structargs.m
|
|
|
328
327
|
Modules/objc/test/structpointer1.m
|
|
329
328
|
Modules/objc/test/structpointer2.m
|
|
330
329
|
Modules/objc/test/structs.m
|
|
330
|
+
Modules/objc/test/supercall.m
|
|
331
331
|
Modules/objc/test/testbndl.m
|
|
332
332
|
Modules/objc/test/testbndl2.m
|
|
333
333
|
Modules/objc/test/testclassandinst.m
|
|
@@ -429,6 +429,7 @@ PyObjCTest/test_nsdate_proxy.py
|
|
|
429
429
|
PyObjCTest/test_nsdecimal.py
|
|
430
430
|
PyObjCTest/test_nsinvocation.py
|
|
431
431
|
PyObjCTest/test_nsobject.py
|
|
432
|
+
PyObjCTest/test_nsproxy.py
|
|
432
433
|
PyObjCTest/test_nsunavailable.py
|
|
433
434
|
PyObjCTest/test_nulldelimited.py
|
|
434
435
|
PyObjCTest/test_number_proxy.py
|
|
@@ -504,6 +505,7 @@ Tools/free-threading/_tools.py
|
|
|
504
505
|
Tools/free-threading/concurrent-class-list.py
|
|
505
506
|
Tools/free-threading/concurrent-dict-getting.py
|
|
506
507
|
Tools/free-threading/concurrent-iteration.py
|
|
508
|
+
Tools/free-threading/concurrent-methinfo.py
|
|
507
509
|
Tools/free-threading/concurrent-registration.py
|
|
508
510
|
Tools/free-threading/concurrent-value-getting.py
|
|
509
511
|
Tools/results/pyobjcbench-7.3.txt
|
{pyobjc_core-12.0/Modules/objc → pyobjc_core-12.1/Lib/pyobjc_core.egg-info/include}/pyobjc-compat.h
RENAMED
|
@@ -22,12 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
22
22
|
* Start of compiler definitions
|
|
23
23
|
*
|
|
24
24
|
*/
|
|
25
|
+
#if 0
|
|
25
26
|
#ifndef __has_feature
|
|
26
27
|
#define __has_feature(x) 0
|
|
27
28
|
#endif
|
|
28
29
|
#ifndef __has_extension
|
|
29
30
|
#define __has_extension(x) __has_feature(x)
|
|
30
31
|
#endif
|
|
32
|
+
#endif
|
|
31
33
|
|
|
32
34
|
#if __has_extension(c_static_assert)
|
|
33
35
|
#define STATIC_ASSERT(test, message) _Static_assert(test, message)
|
|
@@ -59,42 +61,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
59
61
|
* XXX: Are these needed?
|
|
60
62
|
*/
|
|
61
63
|
|
|
62
|
-
#ifdef __GNUC__
|
|
63
64
|
#define unlikely(x) __builtin_expect(!!(x), 0)
|
|
64
65
|
#define likely(x) __builtin_expect(!!(x), 1)
|
|
65
|
-
#else
|
|
66
|
-
#define likely(x) x
|
|
67
|
-
#define likely(x) x
|
|
68
|
-
#endif
|
|
69
|
-
|
|
70
|
-
/* On some versions of GCC <limits.h> defines LONG_LONG_MAX but not LLONG_MAX, compensate.
|
|
71
|
-
*/
|
|
72
|
-
#ifndef LLONG_MIN
|
|
73
|
-
#ifdef LONG_LONG_MIN
|
|
74
|
-
#define LLONG_MIN LONG_LONG_MIN
|
|
75
|
-
#define LLONG_MAX LONG_LONG_MAX
|
|
76
|
-
#define ULLONG_MAX ULONG_LONG_MAX
|
|
77
|
-
#endif
|
|
78
|
-
#endif
|
|
79
|
-
|
|
80
|
-
/*
|
|
81
|
-
*
|
|
82
|
-
* End of compiler support helpers
|
|
83
|
-
*
|
|
84
|
-
* XXX: These two are no longer needed, all supported platforms
|
|
85
|
-
* are 64-bit
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
#if __LP64__
|
|
89
|
-
#define Py_ARG_NSInteger "l"
|
|
90
|
-
#define Py_ARG_NSUInteger "k"
|
|
91
|
-
#else
|
|
92
|
-
#define Py_ARG_NSInteger "i"
|
|
93
|
-
#define Py_ARG_NSUInteger "I"
|
|
94
|
-
#endif
|
|
95
|
-
|
|
96
|
-
#define PyObjC__STR(x) #x
|
|
97
|
-
#define PyObjC_STR(x) PyObjC__STR(x)
|
|
98
66
|
|
|
99
67
|
/*
|
|
100
68
|
*
|
|
@@ -131,20 +99,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
131
99
|
|
|
132
100
|
extern int PyObjC_Cmp(PyObject* o1, PyObject* o2, int* result);
|
|
133
101
|
|
|
134
|
-
/*
|
|
135
|
-
* A micro optimization: when using Python 3.3 or later it
|
|
136
|
-
* is possible to access a 'char*' with an ASCII representation
|
|
137
|
-
* of a unicode object without first converting it to a bytes
|
|
138
|
-
* string (if the string can be encoded as ASCII in the first
|
|
139
|
-
* place.
|
|
140
|
-
*
|
|
141
|
-
* This slightly reduces the object allocation rate during
|
|
142
|
-
* attribute access.
|
|
143
|
-
*
|
|
144
|
-
* XXX: Use PyUnicode_AsUTF8 instead.
|
|
145
|
-
*/
|
|
146
|
-
extern const char* _Nullable PyObjC_Unicode_Fast_Bytes(PyObject* object);
|
|
147
|
-
|
|
148
102
|
#ifdef __clang__
|
|
149
103
|
|
|
150
104
|
#ifndef Py_LIMITED_API
|
|
@@ -286,6 +240,23 @@ static inline PyObject* _Nullable PyList_GetItemRef(PyObject* l, Py_ssize_t i)
|
|
|
286
240
|
Py_XINCREF(result);
|
|
287
241
|
return result;
|
|
288
242
|
}
|
|
243
|
+
|
|
244
|
+
static inline int
|
|
245
|
+
PyDict_SetDefaultRef(PyObject* p, PyObject* key, PyObject* default_value,
|
|
246
|
+
PyObject* _Nonnull* _Nullable result)
|
|
247
|
+
{
|
|
248
|
+
*result = PyDict_SetDefault(p, key, default_value);
|
|
249
|
+
if (*result == NULL) {
|
|
250
|
+
return -1;
|
|
251
|
+
}
|
|
252
|
+
Py_INCREF(*result);
|
|
253
|
+
|
|
254
|
+
/* This does not follow the spec, should return 1 when the key was already
|
|
255
|
+
* in the dict. That part of the API is not used in PyObjC though.
|
|
256
|
+
*/
|
|
257
|
+
return 0;
|
|
258
|
+
}
|
|
259
|
+
|
|
289
260
|
#endif
|
|
290
261
|
|
|
291
262
|
#if PY_VERSION_HEX < 0x030c0000
|
|
@@ -58,16 +58,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
58
58
|
|
|
59
59
|
PyObjC_BEGIN_WITH_GIL
|
|
60
60
|
|
|
61
|
-
/* XXX: This is different from other proxies
|
|
62
|
-
* to make it easier to hit a race in
|
|
63
|
-
* proxy-registry.m for testing.
|
|
64
|
-
*
|
|
65
|
-
* With the current implementation of
|
|
66
|
-
* proxy-registry (using weak refs) either
|
|
67
|
-
* order works correctly.
|
|
68
|
-
*/
|
|
69
61
|
PyObjC_UnregisterObjCProxy(value, self);
|
|
70
|
-
|
|
62
|
+
Py_CLEAR(value);
|
|
71
63
|
|
|
72
64
|
PyObjC_END_WITH_GIL
|
|
73
65
|
|
|
@@ -21,7 +21,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
21
21
|
* PyMapping_* API is not flexible enough, and most sequence also implement
|
|
22
22
|
* the generic mapping interface to deal with slices.
|
|
23
23
|
*/
|
|
24
|
-
/* XXX: Cannot be PyObjC_FINAL_CLASS */
|
|
25
24
|
@interface OC_PythonDictionary : NSMutableDictionary {
|
|
26
25
|
PyObject* _Nonnull value;
|
|
27
26
|
}
|
|
@@ -342,10 +342,16 @@ PyObjC_FINAL_CLASS @interface OC_PythonDictionaryEnumerator : NSEnumerator {
|
|
|
342
342
|
|
|
343
343
|
- (NSEnumerator*)keyEnumerator
|
|
344
344
|
{
|
|
345
|
-
if (value
|
|
345
|
+
if (value == NULL) { // LCOV_BR_EXCL_LINE
|
|
346
|
+
/* Value could be NULL during ``initWithCoder:``, but AFAIK it
|
|
347
|
+
* is not possible to invoke arbitrary methods in that state.
|
|
348
|
+
*/
|
|
349
|
+
return nil; // LCOV_EXCL_LINE
|
|
350
|
+
} else if (PyDict_CheckExact(value)) {
|
|
346
351
|
return [OC_PythonDictionaryEnumerator enumeratorWithWrappedDictionary:self];
|
|
347
352
|
|
|
348
353
|
} else {
|
|
354
|
+
NSEnumerator* result = nil;
|
|
349
355
|
PyObjC_BEGIN_WITH_GIL
|
|
350
356
|
PyObject* args[2] = {NULL, value};
|
|
351
357
|
|
|
@@ -361,10 +367,10 @@ PyObjC_FINAL_CLASS @interface OC_PythonDictionaryEnumerator : NSEnumerator {
|
|
|
361
367
|
PyObjC_GIL_FORWARD_EXC();
|
|
362
368
|
} // LCOV_EXCL_LINE
|
|
363
369
|
|
|
364
|
-
|
|
365
|
-
PyObjC_GIL_RETURN(result);
|
|
370
|
+
result = [OC_PythonEnumerator enumeratorWithPythonObject:iter];
|
|
366
371
|
|
|
367
372
|
PyObjC_END_WITH_GIL
|
|
373
|
+
return result;
|
|
368
374
|
}
|
|
369
375
|
}
|
|
370
376
|
|
|
@@ -445,8 +451,13 @@ PyObjC_FINAL_CLASS @interface OC_PythonDictionaryEnumerator : NSEnumerator {
|
|
|
445
451
|
PyObjC_BEGIN_WITH_GIL
|
|
446
452
|
PyObject* v = id_to_python(other);
|
|
447
453
|
|
|
448
|
-
|
|
449
|
-
|
|
454
|
+
/* 'other' is a serialized python mapping value
|
|
455
|
+
* (not a 'real' Cocoa instance). Those can
|
|
456
|
+
* always be converted back into the corresponding
|
|
457
|
+
* Python value.
|
|
458
|
+
*/
|
|
459
|
+
if (v != NULL) { // LCOV_BR_EXCL_LINE
|
|
460
|
+
SET_FIELD(value, v); // LCOV_EXCL_LINE
|
|
450
461
|
}
|
|
451
462
|
PyObjC_END_WITH_GIL
|
|
452
463
|
}
|
|
@@ -514,7 +525,7 @@ PyObjC_FINAL_CLASS @interface OC_PythonDictionaryEnumerator : NSEnumerator {
|
|
|
514
525
|
|
|
515
526
|
- (Class)classForCoder
|
|
516
527
|
{
|
|
517
|
-
if (value && PyDict_CheckExact(value)) {
|
|
528
|
+
if (value && PyDict_CheckExact(value)) { // LCOV_BR_EXCL_LINE
|
|
518
529
|
return [NSMutableDictionary class];
|
|
519
530
|
} else {
|
|
520
531
|
return [OC_PythonDictionary class];
|
|
@@ -77,13 +77,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
77
77
|
PyObjC_GIL_RETURN(@encode(unsigned long long));
|
|
78
78
|
} // LCOV_EXCL_LINE
|
|
79
79
|
PyErr_Clear();
|
|
80
|
-
|
|
81
|
-
/* Wrap on overflow */
|
|
82
|
-
PyObjC_GIL_RETURN(@encode(long long));
|
|
83
80
|
}
|
|
84
81
|
PyObjC_END_WITH_GIL
|
|
85
82
|
|
|
86
|
-
|
|
83
|
+
/* Wrap on overflow */
|
|
84
|
+
return @encode(long long);
|
|
87
85
|
}
|
|
88
86
|
|
|
89
87
|
- (void)getValue:(void*)buffer
|
|
@@ -207,19 +205,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
207
205
|
if (PyFloat_Check(value)) {
|
|
208
206
|
double float_result = PyFloat_AsDouble(value);
|
|
209
207
|
result = (long long)float_result;
|
|
210
|
-
PyObjC_GIL_RETURN(result);
|
|
211
208
|
} else {
|
|
212
209
|
result = PyLong_AsUnsignedLongLongMask(value);
|
|
213
|
-
PyObjC_GIL_RETURN(result);
|
|
214
210
|
}
|
|
215
211
|
PyObjC_END_WITH_GIL
|
|
216
|
-
|
|
217
|
-
// LCOV_EXCL_START
|
|
218
|
-
@throw
|
|
219
|
-
[NSException exceptionWithName:NSInvalidArgumentException
|
|
220
|
-
reason:@"Cannot determine objective-C type of this number"
|
|
221
|
-
userInfo:nil];
|
|
222
|
-
// LCOV_EXCL_STOP
|
|
212
|
+
return result;
|
|
223
213
|
}
|
|
224
214
|
|
|
225
215
|
- (unsigned long long)unsignedLongLongValue
|
|
@@ -235,7 +225,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
235
225
|
PyObjC_BEGIN_WITH_GIL
|
|
236
226
|
if (PyLong_Check(value)) {
|
|
237
227
|
result = PyLong_AsUnsignedLongLongMask(value);
|
|
238
|
-
PyObjC_GIL_RETURN(result);
|
|
239
228
|
} else if (PyFloat_Check(value)) {
|
|
240
229
|
double temp = PyFloat_AsDouble(value);
|
|
241
230
|
if (temp < 0) {
|
|
@@ -251,16 +240,17 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
251
240
|
} else {
|
|
252
241
|
result = (unsigned long long)temp;
|
|
253
242
|
}
|
|
254
|
-
|
|
255
|
-
|
|
243
|
+
} else {
|
|
244
|
+
// LCOV_EXCL_START
|
|
245
|
+
@throw [NSException
|
|
246
|
+
exceptionWithName:NSInvalidArgumentException
|
|
247
|
+
reason:@"Cannot determine objective-C type of this number"
|
|
248
|
+
userInfo:nil];
|
|
249
|
+
// LCOV_EXCL_STOP
|
|
250
|
+
}
|
|
256
251
|
PyObjC_END_WITH_GIL
|
|
257
252
|
|
|
258
|
-
|
|
259
|
-
@throw
|
|
260
|
-
[NSException exceptionWithName:NSInvalidArgumentException
|
|
261
|
-
reason:@"Cannot determine objective-C type of this number"
|
|
262
|
-
userInfo:nil];
|
|
263
|
-
// LCOV_EXCL_STOP
|
|
253
|
+
return result;
|
|
264
254
|
}
|
|
265
255
|
|
|
266
256
|
- (NSString*)description
|
|
@@ -401,6 +391,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
401
391
|
}
|
|
402
392
|
}
|
|
403
393
|
|
|
394
|
+
NSComparisonResult rv;
|
|
404
395
|
PyObjC_BEGIN_WITH_GIL
|
|
405
396
|
PyObject* other = id_to_python(number);
|
|
406
397
|
int r, ok;
|
|
@@ -416,19 +407,21 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
416
407
|
} // LCOV_EXCL_LINE
|
|
417
408
|
|
|
418
409
|
if (r < 0) {
|
|
419
|
-
|
|
410
|
+
rv = NSOrderedAscending;
|
|
420
411
|
} else if (r > 0) {
|
|
421
|
-
|
|
422
|
-
} else {
|
|
423
|
-
|
|
412
|
+
rv = NSOrderedDescending;
|
|
413
|
+
} else {
|
|
414
|
+
rv = NSOrderedSame;
|
|
424
415
|
}
|
|
425
416
|
|
|
426
417
|
PyObjC_END_WITH_GIL
|
|
418
|
+
return rv;
|
|
427
419
|
}
|
|
428
420
|
|
|
429
421
|
#define COMPARE_METHOD(NAME, OPERATOR) \
|
|
430
422
|
-(BOOL)NAME : (NSObject* _Nullable)number \
|
|
431
423
|
{ \
|
|
424
|
+
BOOL rv; \
|
|
432
425
|
PyObjC_BEGIN_WITH_GIL \
|
|
433
426
|
PyObject* other = id_to_python(number); \
|
|
434
427
|
int r; \
|
|
@@ -443,12 +436,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
443
436
|
} /* LCOV_EXCL_LINE */ \
|
|
444
437
|
\
|
|
445
438
|
if (r) { \
|
|
446
|
-
|
|
439
|
+
rv = YES; \
|
|
447
440
|
} else { /* LCOV_EXCL_LINE */ \
|
|
448
|
-
|
|
441
|
+
rv = NO; \
|
|
449
442
|
} \
|
|
450
443
|
\
|
|
451
444
|
PyObjC_END_WITH_GIL \
|
|
445
|
+
return rv; \
|
|
452
446
|
}
|
|
453
447
|
|
|
454
448
|
COMPARE_METHOD(isEqualTo, Py_EQ)
|
|
@@ -465,13 +459,14 @@ COMPARE_METHOD(isLessThanOrEqualTo, Py_LE)
|
|
|
465
459
|
|
|
466
460
|
- (Class)classForArchiver
|
|
467
461
|
{
|
|
462
|
+
Class result;
|
|
468
463
|
PyObjC_BEGIN_WITH_GIL
|
|
469
464
|
@try {
|
|
470
465
|
if (PyFloat_CheckExact(value)) {
|
|
471
466
|
/* Float is a C double and can be roundtripped using
|
|
472
467
|
* NSNumber.
|
|
473
468
|
*/
|
|
474
|
-
|
|
469
|
+
result = [NSNumber class];
|
|
475
470
|
} else if (PyLong_CheckExact(value)) {
|
|
476
471
|
/* If the value fits inside a long long or
|
|
477
472
|
* unsigned long long encode as an NSNumber,
|
|
@@ -482,21 +477,21 @@ COMPARE_METHOD(isLessThanOrEqualTo, Py_LE)
|
|
|
482
477
|
*/
|
|
483
478
|
(void)PyLong_AsLongLong(value);
|
|
484
479
|
if (!PyErr_Occurred()) {
|
|
485
|
-
|
|
480
|
+
result = [NSNumber class];
|
|
486
481
|
} else { // LCOV_EXCL_LINE
|
|
487
482
|
PyErr_Clear();
|
|
488
483
|
|
|
489
484
|
(void)PyLong_AsUnsignedLongLong(value);
|
|
490
485
|
if (!PyErr_Occurred()) {
|
|
491
|
-
|
|
486
|
+
result = [NSNumber class];
|
|
492
487
|
} else { // LCOV_EXCL_LINE
|
|
493
488
|
PyErr_Clear();
|
|
494
489
|
|
|
495
|
-
|
|
490
|
+
result = [self class];
|
|
496
491
|
}
|
|
497
492
|
}
|
|
498
493
|
} else { // LCOV_EXCL_LINE
|
|
499
|
-
|
|
494
|
+
result = [self class];
|
|
500
495
|
}
|
|
501
496
|
|
|
502
497
|
// LCOV_EXCL_START
|
|
@@ -506,7 +501,8 @@ COMPARE_METHOD(isLessThanOrEqualTo, Py_LE)
|
|
|
506
501
|
}
|
|
507
502
|
// LCOV_EXCL_STOP
|
|
508
503
|
PyObjC_END_WITH_GIL
|
|
509
|
-
|
|
504
|
+
return result;
|
|
505
|
+
} // LCOV_EXCL_LINE
|
|
510
506
|
|
|
511
507
|
- (Class _Nullable)classForKeyedArchiver
|
|
512
508
|
{
|
|
@@ -525,11 +521,32 @@ COMPARE_METHOD(isLessThanOrEqualTo, Py_LE)
|
|
|
525
521
|
|
|
526
522
|
- (id)copyWithZone:(NSZone* _Nullable)__attribute__((__unused__)) zone
|
|
527
523
|
{
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
524
|
+
id result;
|
|
525
|
+
PyObjC_BEGIN_WITH_GIL
|
|
526
|
+
if (PyLong_CheckExact(value) || PyFloat_CheckExact(value)
|
|
527
|
+
|| Py_TYPE(value) == &PyBool_Type) {
|
|
528
|
+
/* The value is immutable, no need to copy */
|
|
529
|
+
result = self;
|
|
530
|
+
} else {
|
|
531
|
+
/* The value might be mutable, perform a copy */
|
|
532
|
+
PyObject* copied = PyObjC_Copy(value);
|
|
533
|
+
if (copied == NULL) {
|
|
534
|
+
PyObjC_GIL_FORWARD_EXC();
|
|
535
|
+
} // LCOV_EXCL_LINE
|
|
536
|
+
|
|
537
|
+
if (depythonify_python_object(copied, &result) == -1) {
|
|
538
|
+
Py_CLEAR(copied);
|
|
539
|
+
PyObjC_GIL_FORWARD_EXC();
|
|
540
|
+
} // LCOV_EXCL_LINE
|
|
541
|
+
Py_CLEAR(copied);
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
/* The result of copy should have +1 retainCount */
|
|
545
|
+
[result retain];
|
|
546
|
+
|
|
547
|
+
PyObjC_END_WITH_GIL
|
|
548
|
+
|
|
549
|
+
return result;
|
|
533
550
|
}
|
|
534
551
|
|
|
535
552
|
@end
|