pyobjc-core 12.1__tar.gz → 12.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-12.1 → pyobjc_core-12.2}/Lib/PyObjCTools/TestSupport.py +360 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_bridges.py +11 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_bridgesupport.py +7 -20
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience.py +6 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdata.py +30 -17
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_new.py +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_transform.py +1 -42
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/PKG-INFO +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/SOURCES.txt +5 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/include/pyobjc-compat.h +5 -2
- pyobjc_core-12.2/Lib/pyobjc_core.egg-info/pyobjc-build-info.txt +3 -0
- pyobjc_core-12.2/Modules/objc/OC_BuiltinPythonNumber.m +19 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonArray.m +28 -30
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonData.m +10 -10
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonDate.m +7 -7
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonDictionary.m +57 -20
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonEnumerator.m +2 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonNumber.m +54 -11
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonObject.m +19 -18
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonSet.m +8 -7
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonURL.m +2 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonUnicode.m +11 -11
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ObjCPointer.m +12 -33
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/block_support.h +2 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/block_support.m +31 -42
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/bundle-variables.m +23 -23
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/class-builder.m +62 -61
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/class-list.m +9 -9
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/corefoundation.m +58 -44
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ctests.m +114 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/file_wrapper.m +15 -17
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/formal-protocol.m +28 -34
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/fsref.m +8 -26
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/function.m +32 -52
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-authorization.m +15 -16
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nscoder.m +141 -136
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsdata.m +19 -17
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsdecimal.m +84 -87
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsinvocation.m +44 -44
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsobject.m +43 -36
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/instance-var.m +18 -18
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ivar-accessor.m +15 -15
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/libffi_support.h +1 -5
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/libffi_support.m +839 -716
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/memview.m +5 -27
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/meth-func.m +41 -31
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-accessor.m +38 -57
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-imp.m +48 -64
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-signature.m +800 -733
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/module.m +115 -98
- pyobjc_core-12.2/Modules/objc/objc-NULL.m +54 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-class.m +406 -420
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-object.m +149 -157
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_super.m +26 -34
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_support.h +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_support.m +128 -283
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_util.h +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_util.m +167 -149
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/opaque-pointer.m +30 -29
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/options.h +1 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/options.m +77 -73
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pointer-support.m +26 -24
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/proxy-registry.h +2 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/proxy-registry.m +96 -9
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc-api.m +6 -5
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc-compat.h +5 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc.h +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc_unicode.m +32 -65
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/python-api-used.h +8 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/registry.m +39 -24
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/selector.h +1 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/selector.m +122 -125
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/struct-sockaddr.m +14 -12
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/struct-wrapper.h +0 -18
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/struct-wrapper.m +177 -161
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/super-call.m +59 -58
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/block.m +51 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/block2.m +16 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/bufsizeinarg.m +40 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/coding.m +6 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/deprecations.m +35 -4
- pyobjc_core-12.2/Modules/objc/test/filepointer.m +160 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/genericnew.m +7 -0
- pyobjc_core-12.1/Modules/objc/test/filepointer.m → pyobjc_core-12.2/Modules/objc/test/keyvalue.m +32 -26
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/metadata.m +1146 -19
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/metadatafunction.m +1 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/objectint.m +38 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/specialtypecodes.m +15 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/testbndl.m +25 -1
- pyobjc_core-12.2/Modules/objc/test/transient.m +80 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/varlist.m +33 -44
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/weakref.m +5 -13
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PKG-INFO +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_archive_python.py +111 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_archiving_interop.py +15 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_archiving_secure_interop.py +30 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_array_interface.py +12 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_blocks.py +155 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bridged_classes.py +7 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bridges.py +4 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bufsizeinarg.py +78 -3
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_callbacks.py +58 -6
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_convenience.py +15 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_conversion.py +101 -40
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_corefoundation.py +1 -3
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_data_proxy.py +40 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_deprecations.py +23 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_dict_proxy.py +63 -4
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_filepointer.py +133 -7
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_functions.py +157 -24
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_generic_class.py +1 -3
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_generic_new.py +10 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_hidden_selector.py +88 -35
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_imp.py +60 -11
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_internals.py +29 -14
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_keyvalue.py +33 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata.py +2048 -142
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata_function.py +15 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata_imp.py +0 -3
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata_py.py +1807 -194
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methodedits.py +19 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methods.py +5 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsdata.py +57 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsdecimal.py +9 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsobject.py +80 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsproxy.py +11 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_number_proxy.py +158 -61
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_opaque.py +6 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_options.py +29 -2
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_regr.py +203 -25
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_set_interface.py +1 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_unichar.py +37 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_splitsig.py +13 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_structs.py +51 -4
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_subclass.py +189 -1
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_testsupport.py +181 -37
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_transform.py +13 -21
- pyobjc_core-12.2/PyObjCTest/test_transient.py +79 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/_tools.py +0 -1
- pyobjc_core-12.2/Tools/free-threading/concurrent-upcalls.py +24 -0
- pyobjc_core-12.2/Tools/free-threading/concurrent-upcalls2.py +43 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/setup.py +32 -14
- pyobjc_core-12.1/Lib/pyobjc_core.egg-info/pyobjc-build-info.txt +0 -3
- pyobjc_core-12.1/Modules/objc/OC_BuiltinPythonNumber.m +0 -30
- pyobjc_core-12.1/Modules/objc/objc-NULL.m +0 -72
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/00ReadMe.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/GUITests/00ReadMe.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/GUITests/test_modalsession.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/HelloWorld.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/autoreadme.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/instrumentSends.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/kvo-debugging.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/signal-demo.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/stdinreader.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/subclassing-objective-c.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Examples/Scripts/wmEnable.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/HISTORIC.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Install.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/PyObjCTools/MachSignals.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/PyObjCTools/Signals.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/__init__.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_callable_docstr.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_category.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_compat.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_context.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_mapping.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsarray.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdecimal.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdictionary.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsobject.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsset.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_nsstring.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_convenience_sequence.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_descriptors.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_dyld.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_framework.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_informal_protocol.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_lazyimport.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_locking.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_properties.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_protocols.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_pycoder.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_pythonify.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_structtype.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/_types.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/objc/simd.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/License.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/MANIFEST +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/MANIFEST.in +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Misc/announcement.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/_machsignals.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonData.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonData.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_NSBundleHack.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_NSBundleHack.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonArray.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonData.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonDate.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonDictionary.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonEnumerator.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonNumber.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonObject.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonSet.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonURL.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/OC_PythonUnicode.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ObjCPointer.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/bundle-variables.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/class-builder.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/class-list.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/closure_pool.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/closure_pool.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/corefoundation.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ctests.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/file_wrapper.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/formal-protocol.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/fsref.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/function.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers-vector.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/helpers.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/instance-var.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/ivar-accessor.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/libffi_extra.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/libffi_extra.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/memview.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/meth-func.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-accessor.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-imp.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/method-signature.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-NULL.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-class.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-object.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-runtime-compat.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc-runtime-compat.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/objc_super.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/opaque-pointer.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pointer-support.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc-api.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc-compat.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc-unittest.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/pyobjc_unicode.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/registry.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/released-buffer.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/released-buffer.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/struct-sockaddr.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/super-call.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/NULL.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/arrayint.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/arrays.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/authorizationitem.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/categories_base.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c42.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c43.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c44.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c45.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c46.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c47.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c48.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c49.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c50.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c51.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c52.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c53.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c54.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c55.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c56.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c57.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c58.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_c59.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp10.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp11.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp12.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp13.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp14.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp15.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp16.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp17.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp18.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp19.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp20.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp21.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp22.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp23.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp24.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp27.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp3.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp30.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp33.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp36.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp39.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp42.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp45.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp48.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp51.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp54.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp57.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp6.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp7.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp8.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_gp9.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p24.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p25.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p26.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p27.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p28.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p29.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p30.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p31.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p32.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p33.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p34.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p35.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p36.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p37.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p38.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p39.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p40.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/category_p41.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/cfsocket.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/classes.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/clinmeth.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/copying.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/corefoundation.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/customcallers.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/dataint.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/dateint.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/decimal.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/dictint.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/enumeration.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/exceptions.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/fsref.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/gcov.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/helpernsdata.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/helpernsobject.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/identity.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/initialize.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/initpatterns.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/instanceVariables.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/locking.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/metadataorder.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/methodaccess.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/methodlookup.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/methres1.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/methres2.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/misc.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/missing1.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/missing2.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/missing3.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/nsobjectcategory.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/nulldelimitedresult.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/opaque.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/pointersupport.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/properties.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/protected.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/protocol.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/pythonnumber.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/pythonset.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/sequence.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/sockaddr.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/stringint.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/structargs.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/structpointer1.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/structpointer2.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/structs.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/supercall.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/testbndl2.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/testclassandinst.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/testoutputinitializer.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/unavailable.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/vector.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/vectorcall.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/test/voidpointer.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/varlist.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Modules/objc/weakref.h +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/__init__.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/dump-nsarchive.m +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/fnd.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/helper_bridgesupport.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/keyvaluehelper.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/loader.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_NULL.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_allocatebuffer.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_api_import.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_array_property.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_arrays.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_assocations.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_authorizationitem.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bridgesupport.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bundleFunctions.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_bundleVariables.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_callable_docstr.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_categories.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_classandinst.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_classhooks.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_clinmeth.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_compat.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_context.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_copying.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_ctests.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_customcallers.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_date_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_default_selector.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_descriptors.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_dict_interface.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_dict_property.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_dyld.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_enumerator.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_exceptions.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_final.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_framework.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_free_threading.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_fsref.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_identity.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_initpatterns.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_inspect_signatures.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_ivar.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_keyvalue_prop.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_keyvaluecoding.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_lazy_import.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_leaks.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_list_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_locking.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_machsignals.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata_inheritance.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadata_py2py.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_metadataorder.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_method_prototypes.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methodaccess.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methodlookup.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methods2.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_methres.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nscoder.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsdate_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsinvocation.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nsunavailable.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_nulldelimited.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_objc.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_objcpointer.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_object_property.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_object_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_outputinitializer.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_pickle.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_pickling_objc.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_pointer_compat.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_propertiesforclass.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_protected.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_protocol.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_protocolNamed.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_python_method.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_set_property.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_set_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_signals.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_signatures.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_simd.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_sockaddr.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_charbyte.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_string_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_structpointer.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_super_on_regular_classes.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_synthesize.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_transform_integration.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_typecheck.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_unicode.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_urlproxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_usekvo.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_varargs.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_varlist.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_vector_proxy.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_vectorcall.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_version_support.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_voidpointer.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/PyObjCTest/test_weakref.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/README.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/MANIFEST.in +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/comparebench.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-class-list.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-dict-getting.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-iteration.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-methinfo.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-registration.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/free-threading/concurrent-value-getting.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/gen_archive.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/generate-category-tests.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/generate-helpers-vector.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/pyobjc_setup.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/pyobjcbench.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/results/pyobjcbench-7.3.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/run-free-threading-tests.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/runtests-with-nuitka.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/Tools/runtests.py +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/pyproject.toml +0 -0
- {pyobjc_core-12.1 → pyobjc_core-12.2}/setup.cfg +0 -0
|
@@ -497,6 +497,21 @@ class TestCase(_unittest.TestCase):
|
|
|
497
497
|
or "argument %d of %r is not a null-terminated array" % (argno, method)
|
|
498
498
|
)
|
|
499
499
|
|
|
500
|
+
def assertArgIsNotNullTerminated(self, method, argno, message=None):
|
|
501
|
+
if isinstance(method, objc.selector):
|
|
502
|
+
offset = 2
|
|
503
|
+
else:
|
|
504
|
+
offset = 0
|
|
505
|
+
info = method.__metadata__()
|
|
506
|
+
try:
|
|
507
|
+
if info["arguments"][argno + offset].get("c_array_delimited_by_null"):
|
|
508
|
+
self.fail(
|
|
509
|
+
message
|
|
510
|
+
or "argument %d of %r is a null-terminated array" % (argno, method)
|
|
511
|
+
)
|
|
512
|
+
except (KeyError, IndexError):
|
|
513
|
+
pass
|
|
514
|
+
|
|
500
515
|
def assertArgIsVariableSize(self, method, argno, message=None):
|
|
501
516
|
if isinstance(method, objc.selector):
|
|
502
517
|
offset = 2
|
|
@@ -540,6 +555,21 @@ class TestCase(_unittest.TestCase):
|
|
|
540
555
|
or "argument %d of %r does not have size in result" % (argno, method)
|
|
541
556
|
)
|
|
542
557
|
|
|
558
|
+
def assertArgSizeNotInResult(self, method, argno, message=None):
|
|
559
|
+
if isinstance(method, objc.selector):
|
|
560
|
+
offset = 2
|
|
561
|
+
else:
|
|
562
|
+
offset = 0
|
|
563
|
+
info = method.__metadata__()
|
|
564
|
+
try:
|
|
565
|
+
if info["arguments"][argno + offset].get("c_array_length_in_result"):
|
|
566
|
+
self.fail(
|
|
567
|
+
message
|
|
568
|
+
or "argument %d of %r does have size in result" % (argno, method)
|
|
569
|
+
)
|
|
570
|
+
except (KeyError, IndexError):
|
|
571
|
+
pass
|
|
572
|
+
|
|
543
573
|
def assertArgIsPrintf(self, method, argno, message=None):
|
|
544
574
|
if isinstance(method, objc.selector):
|
|
545
575
|
offset = 2
|
|
@@ -561,6 +591,24 @@ class TestCase(_unittest.TestCase):
|
|
|
561
591
|
or "%r argument %d is not a printf format string" % (method, argno)
|
|
562
592
|
)
|
|
563
593
|
|
|
594
|
+
def assertArgIsNotPrintf(self, method, argno, message=None):
|
|
595
|
+
if isinstance(method, objc.selector):
|
|
596
|
+
offset = 2
|
|
597
|
+
else:
|
|
598
|
+
offset = 0
|
|
599
|
+
info = method.__metadata__()
|
|
600
|
+
if not info.get("variadic"):
|
|
601
|
+
self.fail(message or f"{method!r} is not a variadic function")
|
|
602
|
+
|
|
603
|
+
try:
|
|
604
|
+
if info["arguments"][argno + offset].get("printf_format"):
|
|
605
|
+
self.fail(
|
|
606
|
+
message
|
|
607
|
+
or "%r argument %d is a printf format string" % (method, argno)
|
|
608
|
+
)
|
|
609
|
+
except (KeyError, IndexError):
|
|
610
|
+
pass
|
|
611
|
+
|
|
564
612
|
def assertArgIsCFRetained(self, method, argno, message=None):
|
|
565
613
|
if isinstance(method, objc.selector):
|
|
566
614
|
offset = 2
|
|
@@ -1300,9 +1348,14 @@ class TestCase(_unittest.TestCase):
|
|
|
1300
1348
|
|
|
1301
1349
|
if exclude_cocoa:
|
|
1302
1350
|
try:
|
|
1303
|
-
|
|
1351
|
+
if "AppKit" in _sys.modules:
|
|
1352
|
+
import AppKit
|
|
1353
|
+
|
|
1354
|
+
exclude_names = set(dir(AppKit))
|
|
1355
|
+
else:
|
|
1356
|
+
import Foundation
|
|
1304
1357
|
|
|
1305
|
-
|
|
1358
|
+
exclude_names = set(dir(Foundation))
|
|
1306
1359
|
|
|
1307
1360
|
# Don't exclude NSObject' because a number
|
|
1308
1361
|
# of frameworks define categories on this class.
|
|
@@ -1381,6 +1434,305 @@ class TestCase(_unittest.TestCase):
|
|
|
1381
1434
|
exclude_attrs.add("AudioObjectPropertiesChanged")
|
|
1382
1435
|
exclude_attrs.add("AudioObjectsPublishedAndDied")
|
|
1383
1436
|
|
|
1437
|
+
# Private classes in various frameworks
|
|
1438
|
+
exclude_attrs.add("ACTrackedXPCConnection")
|
|
1439
|
+
exclude_attrs.add("ACZeroingString")
|
|
1440
|
+
exclude_attrs.add("AFBArray")
|
|
1441
|
+
exclude_attrs.add("AFBBufferBuilder")
|
|
1442
|
+
exclude_attrs.add("AFBDictionary")
|
|
1443
|
+
exclude_attrs.add("AFConversationError")
|
|
1444
|
+
exclude_attrs.add("AFInstanceContext")
|
|
1445
|
+
exclude_attrs.add("AFInstanceContextHost")
|
|
1446
|
+
exclude_attrs.add("AFKBufferMemoryDescriptor")
|
|
1447
|
+
exclude_attrs.add("AFKEndpointInterface")
|
|
1448
|
+
exclude_attrs.add("AFKMemoryDescriptor")
|
|
1449
|
+
exclude_attrs.add("AFMyriadAccessoryMetricMessage")
|
|
1450
|
+
exclude_attrs.add("AFPreferences")
|
|
1451
|
+
exclude_attrs.add("AFSUPFunctionProvider")
|
|
1452
|
+
exclude_attrs.add("AFSpeakableUtteranceParser")
|
|
1453
|
+
exclude_attrs.add("AKAppleIDSession")
|
|
1454
|
+
exclude_attrs.add("AWDLTrafficRegistrationConfiguration")
|
|
1455
|
+
exclude_attrs.add("AXLogColorizer")
|
|
1456
|
+
exclude_attrs.add("AXValidationManager")
|
|
1457
|
+
exclude_attrs.add("BroadcomHostController")
|
|
1458
|
+
exclude_attrs.add("CBDevice")
|
|
1459
|
+
exclude_attrs.add("CKAssetDownloadStagingManager")
|
|
1460
|
+
exclude_attrs.add("CKBehaviorOptions")
|
|
1461
|
+
exclude_attrs.add("CKInternalError")
|
|
1462
|
+
exclude_attrs.add("CKObjCType")
|
|
1463
|
+
exclude_attrs.add("CKPrettyError")
|
|
1464
|
+
exclude_attrs.add("CKSQLiteCompiledStatementDecoder")
|
|
1465
|
+
exclude_attrs.add("CKSQLiteDatabaseKeyedArchiver")
|
|
1466
|
+
exclude_attrs.add("CKSQLiteDatabaseKeyedUnarchiver")
|
|
1467
|
+
exclude_attrs.add("CKSQLiteTOCImageInfoEntry")
|
|
1468
|
+
exclude_attrs.add("CKSyncEngineState")
|
|
1469
|
+
exclude_attrs.add("CKUserDefaults")
|
|
1470
|
+
exclude_attrs.add("CLAssertion")
|
|
1471
|
+
exclude_attrs.add("CLBBTimeFreqTransferCallbackAssertion")
|
|
1472
|
+
exclude_attrs.add("CLEEDMitigation")
|
|
1473
|
+
exclude_attrs.add("CLEmergencyClientEnablementAssertion")
|
|
1474
|
+
exclude_attrs.add("CLEmergencyEnablementAssertion")
|
|
1475
|
+
exclude_attrs.add("CLFindMyAccessoryManager")
|
|
1476
|
+
exclude_attrs.add("CLGNSSStateQueryAssertionResponse")
|
|
1477
|
+
exclude_attrs.add("CLGnssDisablementAssertion")
|
|
1478
|
+
exclude_attrs.add("CLGnssExtensionsClient")
|
|
1479
|
+
exclude_attrs.add("CLIntersiloProxy")
|
|
1480
|
+
exclude_attrs.add("CLIntersiloProxyToInitiator")
|
|
1481
|
+
exclude_attrs.add("CLIntersiloProxyToRecipient")
|
|
1482
|
+
exclude_attrs.add("CLLocationInternalClient")
|
|
1483
|
+
exclude_attrs.add("CLLocationManagerStateTracker")
|
|
1484
|
+
exclude_attrs.add("CLLocationUpdater")
|
|
1485
|
+
exclude_attrs.add("CLOSTransaction")
|
|
1486
|
+
exclude_attrs.add("CLStateTracker")
|
|
1487
|
+
exclude_attrs.add("CRBiDiTransform")
|
|
1488
|
+
exclude_attrs.add("CRImage")
|
|
1489
|
+
exclude_attrs.add("CRImage_PixelBuffer")
|
|
1490
|
+
exclude_attrs.add("CSUError")
|
|
1491
|
+
exclude_attrs.add("CUDashboardClient")
|
|
1492
|
+
exclude_attrs.add("CUICommonAssetStorage")
|
|
1493
|
+
exclude_attrs.add("CUIMaskedFacetLayer")
|
|
1494
|
+
exclude_attrs.add("CUIMutableCommonAssetStorage")
|
|
1495
|
+
exclude_attrs.add("CUIMutablePSDImageRef")
|
|
1496
|
+
exclude_attrs.add("CUIMutableStructuredThemeStore")
|
|
1497
|
+
exclude_attrs.add("CUIPSDImageRef")
|
|
1498
|
+
exclude_attrs.add("CUIPSDLayerRef")
|
|
1499
|
+
exclude_attrs.add("CUIPlaceholderCUICommonAssetStorage")
|
|
1500
|
+
exclude_attrs.add("CUIPlaceholderCUIMutableCommonAssetStorage")
|
|
1501
|
+
exclude_attrs.add("CUISingleNamedAssetMutableStorage")
|
|
1502
|
+
exclude_attrs.add("CUIStructuredThemeStore")
|
|
1503
|
+
exclude_attrs.add("CUISystemStore")
|
|
1504
|
+
exclude_attrs.add("CUNANEndpoint")
|
|
1505
|
+
exclude_attrs.add("CUReadRequest")
|
|
1506
|
+
exclude_attrs.add("CUSPAKECommon")
|
|
1507
|
+
exclude_attrs.add("CUSPAKEProver")
|
|
1508
|
+
exclude_attrs.add("CUSPAKEVerifier")
|
|
1509
|
+
exclude_attrs.add("CUWriteRequest")
|
|
1510
|
+
exclude_attrs.add("CWFNetworkProfile")
|
|
1511
|
+
exclude_attrs.add("CoreUtilsNSSubrangeData")
|
|
1512
|
+
exclude_attrs.add("DDScannerResult")
|
|
1513
|
+
exclude_attrs.add("DMAPFS")
|
|
1514
|
+
exclude_attrs.add("DMCoreStorage")
|
|
1515
|
+
exclude_attrs.add("DMFilesystem")
|
|
1516
|
+
exclude_attrs.add("DMManager")
|
|
1517
|
+
exclude_attrs.add("EFILWLogging")
|
|
1518
|
+
exclude_attrs.add("FLSQLitePersistence")
|
|
1519
|
+
exclude_attrs.add("FPAppLibraryCollection")
|
|
1520
|
+
exclude_attrs.add("FPCTLTermDumper")
|
|
1521
|
+
exclude_attrs.add("FPError")
|
|
1522
|
+
exclude_attrs.add("FPExtensionCollection")
|
|
1523
|
+
exclude_attrs.add("FPFlattenedPackageSandboxingURLWrapper")
|
|
1524
|
+
exclude_attrs.add("FPItemCollection")
|
|
1525
|
+
exclude_attrs.add("FPQueryCollection")
|
|
1526
|
+
exclude_attrs.add("FPSandboxingURLWrapper")
|
|
1527
|
+
exclude_attrs.add("FPSearchCollection")
|
|
1528
|
+
exclude_attrs.add("FPSearchTrashCollection")
|
|
1529
|
+
exclude_attrs.add("FPTask")
|
|
1530
|
+
exclude_attrs.add("FPTrashUnionCollection")
|
|
1531
|
+
exclude_attrs.add("FPUnarchiveOperation")
|
|
1532
|
+
exclude_attrs.add("FPUnionCollection")
|
|
1533
|
+
exclude_attrs.add("FaceCoreImage")
|
|
1534
|
+
exclude_attrs.add("GEOActiveTileGroup")
|
|
1535
|
+
exclude_attrs.add("GEOBrandInfoMapping")
|
|
1536
|
+
exclude_attrs.add("GEODaemon")
|
|
1537
|
+
exclude_attrs.add("GEOFeature")
|
|
1538
|
+
exclude_attrs.add("GEOMapItemURLExtras")
|
|
1539
|
+
exclude_attrs.add("GEOPDTransitIncident")
|
|
1540
|
+
exclude_attrs.add("GEOPerformanceEventLogger")
|
|
1541
|
+
exclude_attrs.add("GEOPurgableFile")
|
|
1542
|
+
exclude_attrs.add("GEORegionalResourceTileDecoder")
|
|
1543
|
+
exclude_attrs.add("GEOSQLiteDB")
|
|
1544
|
+
exclude_attrs.add("GEOTileEditionUpdate")
|
|
1545
|
+
exclude_attrs.add("GEOVectorTile")
|
|
1546
|
+
exclude_attrs.add("GEOVectorTileDecoder")
|
|
1547
|
+
exclude_attrs.add("HardcopyCableReplacement")
|
|
1548
|
+
exclude_attrs.add("ICREnvironment")
|
|
1549
|
+
exclude_attrs.add("IDSDatagramChannel")
|
|
1550
|
+
exclude_attrs.add("IDSDependencyProvider")
|
|
1551
|
+
exclude_attrs.add("IDSDirectMessageConnection")
|
|
1552
|
+
exclude_attrs.add("IDSGlobalLinkMessage")
|
|
1553
|
+
exclude_attrs.add("IDSInterfaceAddress")
|
|
1554
|
+
exclude_attrs.add("IDSInternalQueueController")
|
|
1555
|
+
exclude_attrs.add("IDSNWPathUtils")
|
|
1556
|
+
exclude_attrs.add("IDSRateLimiter")
|
|
1557
|
+
exclude_attrs.add("IDSStunMessage")
|
|
1558
|
+
exclude_attrs.add("IDSStunRelayInterfaceInfoController")
|
|
1559
|
+
exclude_attrs.add("IDSTCPLink")
|
|
1560
|
+
exclude_attrs.add("IMFileManager")
|
|
1561
|
+
exclude_attrs.add("INDeferredLocalizedString")
|
|
1562
|
+
exclude_attrs.add("IOBluetoothHardcopyCableReplacement")
|
|
1563
|
+
exclude_attrs.add("IOBluetoothHeadsetAudioGateway")
|
|
1564
|
+
exclude_attrs.add("IOBluetoothLocalSDPServiceRecord")
|
|
1565
|
+
exclude_attrs.add("IOBluetoothOBEXSession")
|
|
1566
|
+
exclude_attrs.add("IOBluetoothSDPDataElement")
|
|
1567
|
+
exclude_attrs.add("IOBluetoothSDPServiceRecord")
|
|
1568
|
+
exclude_attrs.add("IOBluetoothSDPUUID")
|
|
1569
|
+
exclude_attrs.add("IOBluetoothSerialPortManager")
|
|
1570
|
+
exclude_attrs.add("ISCompositor")
|
|
1571
|
+
exclude_attrs.add("ISIcns")
|
|
1572
|
+
exclude_attrs.add("ISMutableIcns")
|
|
1573
|
+
exclude_attrs.add("KCAESGCMDuplexSession")
|
|
1574
|
+
exclude_attrs.add("KCPairingChannel")
|
|
1575
|
+
exclude_attrs.add("KCSRPClientContext")
|
|
1576
|
+
exclude_attrs.add("KCSRPContext")
|
|
1577
|
+
exclude_attrs.add("KCSRPServerContext")
|
|
1578
|
+
exclude_attrs.add("LACACMHelper")
|
|
1579
|
+
exclude_attrs.add("LACBiometryHelper")
|
|
1580
|
+
exclude_attrs.add("LACDeviceTreeReader")
|
|
1581
|
+
exclude_attrs.add("LACLocalizationUtils")
|
|
1582
|
+
exclude_attrs.add("LAErrorHelper")
|
|
1583
|
+
exclude_attrs.add("MLE5InputPort")
|
|
1584
|
+
exclude_attrs.add("MLE5InputPortBinder")
|
|
1585
|
+
exclude_attrs.add("MLE5OutputPort")
|
|
1586
|
+
exclude_attrs.add("MLE5OutputPortBinder")
|
|
1587
|
+
exclude_attrs.add("MLItemSimilarityRecommender")
|
|
1588
|
+
exclude_attrs.add("MLLoaderEvent")
|
|
1589
|
+
exclude_attrs.add("MLModelAsset")
|
|
1590
|
+
exclude_attrs.add("MLMultiArrayAsNSArrayWrapper")
|
|
1591
|
+
exclude_attrs.add("MLNeuralNetworkEngine")
|
|
1592
|
+
exclude_attrs.add("MLNeuralNetworkMLComputeUpdateEngine")
|
|
1593
|
+
exclude_attrs.add("MLNeuralNetworkUpdateEngine")
|
|
1594
|
+
exclude_attrs.add("MLNeuralNetworkV1Engine")
|
|
1595
|
+
exclude_attrs.add("MLProbabilityDictionary")
|
|
1596
|
+
exclude_attrs.add("MLProgramEngine")
|
|
1597
|
+
exclude_attrs.add("MLSequnceAsFeatureValueArray")
|
|
1598
|
+
exclude_attrs.add("MLTreeEnsembleClassifier")
|
|
1599
|
+
exclude_attrs.add("MLTreeEnsembleRegressor")
|
|
1600
|
+
exclude_attrs.add("MSVDefaultDictionary")
|
|
1601
|
+
exclude_attrs.add("MSVOPACKDecoder")
|
|
1602
|
+
exclude_attrs.add("MSVOPACKEncoder")
|
|
1603
|
+
exclude_attrs.add("MSVSegmentedDecoder")
|
|
1604
|
+
exclude_attrs.add("MSVSegmentedEncoder")
|
|
1605
|
+
exclude_attrs.add("MSVXPCConnection")
|
|
1606
|
+
exclude_attrs.add("NSAttributeDictionary")
|
|
1607
|
+
exclude_attrs.add("NSCTFont")
|
|
1608
|
+
exclude_attrs.add("NSCoreTypesetter")
|
|
1609
|
+
exclude_attrs.add("NSDocFormatReader")
|
|
1610
|
+
exclude_attrs.add("NSSingleLineTypesetter")
|
|
1611
|
+
exclude_attrs.add("NSTempAttributeDictionary")
|
|
1612
|
+
exclude_attrs.add("OBEXFilePut")
|
|
1613
|
+
exclude_attrs.add("OBEXSession")
|
|
1614
|
+
exclude_attrs.add("OTInheritanceKey")
|
|
1615
|
+
exclude_attrs.add("PCLog")
|
|
1616
|
+
exclude_attrs.add("SASampleStore")
|
|
1617
|
+
exclude_attrs.add("SATask")
|
|
1618
|
+
exclude_attrs.add("SCDAAccessoryMetricMessage")
|
|
1619
|
+
exclude_attrs.add("SFBLEScanner")
|
|
1620
|
+
exclude_attrs.add("SFCollaborationUtilities")
|
|
1621
|
+
exclude_attrs.add("SFFeatureFlagAdaptor")
|
|
1622
|
+
exclude_attrs.add("SFService")
|
|
1623
|
+
exclude_attrs.add("SFServiceSession")
|
|
1624
|
+
exclude_attrs.add("SFSession")
|
|
1625
|
+
exclude_attrs.add("SSInflightCAMetalLayerIntervalStats")
|
|
1626
|
+
exclude_attrs.add("SignpostIntervalBuilder")
|
|
1627
|
+
exclude_attrs.add("SiriAnalyticsError")
|
|
1628
|
+
exclude_attrs.add("TIHardwareKeyboardLayout")
|
|
1629
|
+
exclude_attrs.add("TIKeyboardCandidateResultSetCoder")
|
|
1630
|
+
exclude_attrs.add("TIKeyboardLayout")
|
|
1631
|
+
exclude_attrs.add("TIKeyedArchiver")
|
|
1632
|
+
exclude_attrs.add("TIKeyedUnarchiver")
|
|
1633
|
+
exclude_attrs.add("TKBERTLVRecord")
|
|
1634
|
+
exclude_attrs.add("TKDataSource")
|
|
1635
|
+
exclude_attrs.add("TKSmartCardATRInterfaceGroup")
|
|
1636
|
+
exclude_attrs.add("TKSmartCardWithError")
|
|
1637
|
+
exclude_attrs.add("TKTokenID")
|
|
1638
|
+
exclude_attrs.add("TRICCommandRunner")
|
|
1639
|
+
exclude_attrs.add("TRICEnvironmentManager")
|
|
1640
|
+
exclude_attrs.add("TRIFBCloudKitTreatmentRecordAsset")
|
|
1641
|
+
exclude_attrs.add("TRIFBFactorLevel")
|
|
1642
|
+
exclude_attrs.add("TRIFBFactorMetadataKeyValue")
|
|
1643
|
+
exclude_attrs.add("TRIFBFastFactorLevels")
|
|
1644
|
+
exclude_attrs.add("TRIFBMobileAssetReference")
|
|
1645
|
+
exclude_attrs.add("TRIFBTrialManagedAsset")
|
|
1646
|
+
exclude_attrs.add("TRILevel")
|
|
1647
|
+
exclude_attrs.add("TRINamespaceResolver")
|
|
1648
|
+
exclude_attrs.add("TRIPBAutocreatedArray")
|
|
1649
|
+
exclude_attrs.add("TRIPBAutocreatedDictionary")
|
|
1650
|
+
exclude_attrs.add("TRIPBBoolArray")
|
|
1651
|
+
exclude_attrs.add("TRIPBBoolBoolDictionary")
|
|
1652
|
+
exclude_attrs.add("TRIPBBoolDoubleDictionary")
|
|
1653
|
+
exclude_attrs.add("TRIPBBoolEnumDictionary")
|
|
1654
|
+
exclude_attrs.add("TRIPBBoolFloatDictionary")
|
|
1655
|
+
exclude_attrs.add("TRIPBBoolInt32Dictionary")
|
|
1656
|
+
exclude_attrs.add("TRIPBBoolInt64Dictionary")
|
|
1657
|
+
exclude_attrs.add("TRIPBBoolObjectDictionary")
|
|
1658
|
+
exclude_attrs.add("TRIPBBoolUInt32Dictionary")
|
|
1659
|
+
exclude_attrs.add("TRIPBBoolUInt64Dictionary")
|
|
1660
|
+
exclude_attrs.add("TRIPBDescriptor")
|
|
1661
|
+
exclude_attrs.add("TRIPBEnumDescriptor")
|
|
1662
|
+
exclude_attrs.add("TRIPBExtensionDescriptor")
|
|
1663
|
+
exclude_attrs.add("TRIPBInt32BoolDictionary")
|
|
1664
|
+
exclude_attrs.add("TRIPBInt64BoolDictionary")
|
|
1665
|
+
exclude_attrs.add("TRIPBOneofDescriptor")
|
|
1666
|
+
exclude_attrs.add("TRIPBStringBoolDictionary")
|
|
1667
|
+
exclude_attrs.add("TRIPBUInt32BoolDictionary")
|
|
1668
|
+
exclude_attrs.add("TRIPBUInt64BoolDictionary")
|
|
1669
|
+
exclude_attrs.add("TSPSaveMeasurements")
|
|
1670
|
+
exclude_attrs.add("TTSRegex")
|
|
1671
|
+
exclude_attrs.add("TTSUnicodeUtils")
|
|
1672
|
+
exclude_attrs.add("UAFAssetExpansion")
|
|
1673
|
+
exclude_attrs.add("UAFAssetSetManager")
|
|
1674
|
+
exclude_attrs.add("UAFAutoAssetManager")
|
|
1675
|
+
exclude_attrs.add("UAFAutoAssetSet")
|
|
1676
|
+
exclude_attrs.add("UAFCommonUtilities")
|
|
1677
|
+
exclude_attrs.add("UAFSubscriptionStoreManager")
|
|
1678
|
+
exclude_attrs.add("UIFont")
|
|
1679
|
+
exclude_attrs.add("UINibDecoder")
|
|
1680
|
+
exclude_attrs.add("UINibEncoder")
|
|
1681
|
+
exclude_attrs.add("UNLocalizedString")
|
|
1682
|
+
exclude_attrs.add("UNSecurityScopedURL")
|
|
1683
|
+
exclude_attrs.add("UserRegistryDB")
|
|
1684
|
+
exclude_attrs.add("VNCCCharBoxContext")
|
|
1685
|
+
exclude_attrs.add("VNCCTextDetector")
|
|
1686
|
+
exclude_attrs.add("VNDisallowedList")
|
|
1687
|
+
exclude_attrs.add("VNEspressoModelClassifier")
|
|
1688
|
+
exclude_attrs.add("VNFingerprintHash")
|
|
1689
|
+
exclude_attrs.add("VNPersonSegmentationGeneratorFast")
|
|
1690
|
+
exclude_attrs.add("VNPersonSegmentationGeneratorInstanceBased4People")
|
|
1691
|
+
exclude_attrs.add("VNPersonSegmentationGeneratorLearnedMatting")
|
|
1692
|
+
exclude_attrs.add("VNPersonSegmentationGeneratorLearnedMattingTiled")
|
|
1693
|
+
exclude_attrs.add("VNPersonSegmentationGeneratorSemantics")
|
|
1694
|
+
exclude_attrs.add("VNSegmentationGenerator")
|
|
1695
|
+
exclude_attrs.add("VNSmartCamClassifier")
|
|
1696
|
+
exclude_attrs.add("VNValidationUtilities")
|
|
1697
|
+
exclude_attrs.add("VisionCoreMetalContext")
|
|
1698
|
+
exclude_attrs.add("WiFiAwareDiscoveryResult")
|
|
1699
|
+
exclude_attrs.add("WiFiP2PXPCConnection")
|
|
1700
|
+
exclude_attrs.add("geo_isolater")
|
|
1701
|
+
exclude_attrs.add("geo_reentrant_isolater")
|
|
1702
|
+
exclude_attrs.add(
|
|
1703
|
+
("CWInterface", "twoGHzChainDisabledAndReturnReassocRequired_error_")
|
|
1704
|
+
)
|
|
1705
|
+
exclude_attrs.add(
|
|
1706
|
+
("IOBluetoothDevice", "getRemoteVersionInfo_lmpVersion_lmpSubversion_")
|
|
1707
|
+
)
|
|
1708
|
+
exclude_attrs.add(("IOBluetoothHandsFree", "processIncomingData_length_"))
|
|
1709
|
+
exclude_attrs.add(
|
|
1710
|
+
("IOBluetoothHandsFreeAudioGateway", "processIncomingData_length_")
|
|
1711
|
+
)
|
|
1712
|
+
exclude_attrs.add(("IOBluetoothHandsFreeDevice", "processIncomingData_length_"))
|
|
1713
|
+
exclude_attrs.add(("IOBluetoothHandsFreeDevice", "saveToFile_bufferSize_"))
|
|
1714
|
+
exclude_attrs.add(
|
|
1715
|
+
("IOBluetoothHostController", "getPropertyObjectFromIOServiceNamed_forKey_")
|
|
1716
|
+
)
|
|
1717
|
+
exclude_attrs.add(
|
|
1718
|
+
(
|
|
1719
|
+
"IOBluetoothHostController",
|
|
1720
|
+
"readVerboseConfigVersionInfo_outTargetID_outBaseline_outBuild_",
|
|
1721
|
+
)
|
|
1722
|
+
)
|
|
1723
|
+
exclude_attrs.add(
|
|
1724
|
+
(
|
|
1725
|
+
"NSFileProviderManager",
|
|
1726
|
+
"checkDomainsCanBeStored_onVolumeAtURL_unsupportedReason_error_",
|
|
1727
|
+
)
|
|
1728
|
+
)
|
|
1729
|
+
exclude_attrs.add(
|
|
1730
|
+
(
|
|
1731
|
+
"TKSmartCard",
|
|
1732
|
+
"buildIns_p1_p2_data_range_le_protocol_chained_extended_realLe_",
|
|
1733
|
+
)
|
|
1734
|
+
)
|
|
1735
|
+
|
|
1384
1736
|
# Calculate all (interesting) names in the module. This pokes into
|
|
1385
1737
|
# the implementation details of objc.ObjCLazyModule to avoid loading
|
|
1386
1738
|
# all attributes (which is expensive for larger bindings).
|
|
@@ -1443,6 +1795,12 @@ class TestCase(_unittest.TestCase):
|
|
|
1443
1795
|
# Skip private names
|
|
1444
1796
|
continue
|
|
1445
1797
|
|
|
1798
|
+
if value.__name__ == "IOBluetoothHostController" and any(
|
|
1799
|
+
attr_name.startswith(pfx)
|
|
1800
|
+
for pfx in ("Bluetooth", "Broadcom")
|
|
1801
|
+
):
|
|
1802
|
+
continue
|
|
1803
|
+
|
|
1446
1804
|
with self.subTest(classname=nm, instance_method=attr_name):
|
|
1447
1805
|
if isinstance(attr, objc.selector): # pragma: no branch
|
|
1448
1806
|
self._validateCallableMetadata(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import collections.abc
|
|
2
2
|
import datetime
|
|
3
3
|
import pathlib
|
|
4
|
+
import numbers
|
|
4
5
|
|
|
5
6
|
from objc import _objc
|
|
6
7
|
|
|
@@ -10,6 +11,7 @@ __all__ = [
|
|
|
10
11
|
"registerSetType",
|
|
11
12
|
"registerDateType",
|
|
12
13
|
"registerPathType",
|
|
14
|
+
"registerNumberType",
|
|
13
15
|
]
|
|
14
16
|
|
|
15
17
|
_objc.options._datetime_date_type = datetime.date
|
|
@@ -56,6 +58,14 @@ def registerPathType(type_object):
|
|
|
56
58
|
_objc.options._path_types += (type_object,)
|
|
57
59
|
|
|
58
60
|
|
|
61
|
+
def registerNumberType(type_object):
|
|
62
|
+
"""
|
|
63
|
+
Register 'type' as a date-like type that will be proxied
|
|
64
|
+
as an NSDate subclass.
|
|
65
|
+
"""
|
|
66
|
+
_objc.options._number_types += (type_object,)
|
|
67
|
+
|
|
68
|
+
|
|
59
69
|
registerListType(collections.abc.Sequence)
|
|
60
70
|
registerListType(range)
|
|
61
71
|
registerMappingType(collections.abc.Mapping)
|
|
@@ -66,3 +76,4 @@ registerSetType(collections.abc.Set)
|
|
|
66
76
|
registerDateType(datetime.date)
|
|
67
77
|
registerDateType(datetime.datetime)
|
|
68
78
|
registerPathType(pathlib.Path)
|
|
79
|
+
registerNumberType(numbers.Number)
|
|
@@ -669,29 +669,16 @@ def _parseBridgeSupport(data, globals, frameworkName, *args, **kwds): # noqa: A
|
|
|
669
669
|
)
|
|
670
670
|
|
|
671
671
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
try:
|
|
676
|
-
return resources.files(package).joinpath(resource).is_file()
|
|
677
|
-
|
|
678
|
-
except ImportError:
|
|
679
|
-
return False
|
|
680
|
-
|
|
681
|
-
def resource_string(package, resource):
|
|
682
|
-
return resources.files(package).joinpath(resource).read_text()
|
|
683
|
-
|
|
684
|
-
else: # pragma: no cover
|
|
672
|
+
def resource_exists(package, resource):
|
|
673
|
+
try:
|
|
674
|
+
return resources.files(package).joinpath(resource).is_file()
|
|
685
675
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
return resources.is_resource(package, resource)
|
|
676
|
+
except ImportError:
|
|
677
|
+
return False
|
|
689
678
|
|
|
690
|
-
except ImportError:
|
|
691
|
-
return False
|
|
692
679
|
|
|
693
|
-
|
|
694
|
-
|
|
680
|
+
def resource_string(package, resource):
|
|
681
|
+
return resources.files(package).joinpath(resource).read_text()
|
|
695
682
|
|
|
696
683
|
|
|
697
684
|
def initFrameworkWrapper(
|
|
@@ -139,7 +139,9 @@ def registerNewKeywordsFromSelector(classname, selector):
|
|
|
139
139
|
raise TypeError("selector should by a bytes object")
|
|
140
140
|
selname = selector.decode()
|
|
141
141
|
kw = _selectorToKeywords(selname)
|
|
142
|
-
NEW_MAP.setdefault(classname, {})
|
|
142
|
+
map_dict = NEW_MAP.setdefault(classname, {})
|
|
143
|
+
if kw not in map_dict:
|
|
144
|
+
map_dict[kw] = selname.replace(":", "_")
|
|
143
145
|
|
|
144
146
|
|
|
145
147
|
def registerNewKeywords(classname, keywords, methodname):
|
|
@@ -152,7 +154,9 @@ def registerNewKeywords(classname, keywords, methodname):
|
|
|
152
154
|
"""
|
|
153
155
|
if not isinstance(keywords, tuple) or not all(isinstance(x, str) for x in keywords):
|
|
154
156
|
raise TypeError("keywords must be tuple of strings")
|
|
155
|
-
NEW_MAP.setdefault(classname, {})
|
|
157
|
+
map_dict = NEW_MAP.setdefault(classname, {})
|
|
158
|
+
if keywords not in map_dict:
|
|
159
|
+
map_dict[keywords] = methodname
|
|
156
160
|
|
|
157
161
|
|
|
158
162
|
def registerABCForClass(classname, *abc_class):
|
|
@@ -9,8 +9,8 @@ framework wrappers.
|
|
|
9
9
|
from objc._convenience import addConvenienceForClass
|
|
10
10
|
from objc._objc import registerMetaDataForSelector
|
|
11
11
|
from ._new import NEW_MAP
|
|
12
|
-
import sys
|
|
13
12
|
import operator
|
|
13
|
+
import sys
|
|
14
14
|
|
|
15
15
|
registerMetaDataForSelector(
|
|
16
16
|
b"NSData",
|
|
@@ -251,6 +251,14 @@ def nsdata_isascii(self, *args, **kwds):
|
|
|
251
251
|
return bytes(self.bytes()).isascii(*args, **kwds)
|
|
252
252
|
|
|
253
253
|
|
|
254
|
+
def nsdata_removeprefix(self, *args, **kwds):
|
|
255
|
+
return bytes(self.bytes()).removeprefix(*args, **kwds)
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
def nsdata_removesuffix(self, *args, **kwds):
|
|
259
|
+
return bytes(self.bytes()).removesuffix(*args, **kwds)
|
|
260
|
+
|
|
261
|
+
|
|
254
262
|
addConvenienceForClass(
|
|
255
263
|
"NSData",
|
|
256
264
|
(
|
|
@@ -302,25 +310,11 @@ addConvenienceForClass(
|
|
|
302
310
|
("translate", nsdata_translate),
|
|
303
311
|
("upper", nsdata_upper),
|
|
304
312
|
("zfill", nsdata_zfill),
|
|
313
|
+
("removeprefix", nsdata_removeprefix),
|
|
314
|
+
("removesuffix", nsdata_removesuffix),
|
|
305
315
|
),
|
|
306
316
|
)
|
|
307
317
|
|
|
308
|
-
if sys.version_info[:2] >= (3, 9): # pragma: no branch
|
|
309
|
-
|
|
310
|
-
def nsdata_removeprefix(self, *args, **kwds):
|
|
311
|
-
return bytes(self.bytes()).removeprefix(*args, **kwds)
|
|
312
|
-
|
|
313
|
-
def nsdata_removesuffix(self, *args, **kwds):
|
|
314
|
-
return bytes(self.bytes()).removesuffix(*args, **kwds)
|
|
315
|
-
|
|
316
|
-
addConvenienceForClass(
|
|
317
|
-
"NSData",
|
|
318
|
-
(
|
|
319
|
-
("removeprefix", nsdata_removeprefix),
|
|
320
|
-
("removesuffix", nsdata_removesuffix),
|
|
321
|
-
),
|
|
322
|
-
)
|
|
323
|
-
|
|
324
318
|
|
|
325
319
|
def nsmutabledata__setitem__(self, item, value):
|
|
326
320
|
self.mutableBytes()[item] = value
|
|
@@ -430,6 +424,25 @@ def nsmutabledata_resize(self, size):
|
|
|
430
424
|
self.replaceBytesInRange_withBytes_length_((size, cursize - size), b"", 0)
|
|
431
425
|
|
|
432
426
|
|
|
427
|
+
if sys.version_info[:2] >= (3, 15): # pragma: no branch
|
|
428
|
+
|
|
429
|
+
def nsmutabledata_take_bytes(self, n=None, /):
|
|
430
|
+
if n is None:
|
|
431
|
+
result = bytes(self)
|
|
432
|
+
self.setData_(b"")
|
|
433
|
+
return result
|
|
434
|
+
else:
|
|
435
|
+
if n < 0:
|
|
436
|
+
n += len(self)
|
|
437
|
+
if n < 0 or n >= len(self):
|
|
438
|
+
raise IndexError(n)
|
|
439
|
+
|
|
440
|
+
result = bytes(self.bytes()[:n])
|
|
441
|
+
self.replaceBytesInRange_withBytes_length_((0, n), b"", 0)
|
|
442
|
+
return result
|
|
443
|
+
|
|
444
|
+
addConvenienceForClass("NSMutableData", (("take_bytes", nsmutabledata_take_bytes),))
|
|
445
|
+
|
|
433
446
|
addConvenienceForClass(
|
|
434
447
|
"NSMutableData",
|
|
435
448
|
(
|
|
@@ -143,7 +143,7 @@ def new_func(cls, *args, **kwds):
|
|
|
143
143
|
raise TypeError(f"{cls.__name__}() does not accept positional arguments")
|
|
144
144
|
|
|
145
145
|
args = [kwds[n] for n in key]
|
|
146
|
-
if name.startswith("init") and len(name) == 4 or name[4].isupper():
|
|
146
|
+
if name.startswith("init") and (len(name) == 4 or name[4].isupper()):
|
|
147
147
|
return getattr(cls.alloc(), name)(*args)
|
|
148
148
|
|
|
149
149
|
else:
|
|
@@ -10,7 +10,6 @@ performs checks that are needed to avoid crashes.
|
|
|
10
10
|
import objc
|
|
11
11
|
import types
|
|
12
12
|
import inspect
|
|
13
|
-
import dis
|
|
14
13
|
import keyword
|
|
15
14
|
import warnings
|
|
16
15
|
import sys
|
|
@@ -449,7 +448,7 @@ def transformAttribute(name, value, class_object, protocols):
|
|
|
449
448
|
if signature is None:
|
|
450
449
|
# Calculate a default signature based on the selector shape
|
|
451
450
|
if isinstance(value, (types.FunctionType, types.MethodType)):
|
|
452
|
-
returns_object =
|
|
451
|
+
returns_object = objc._returns_value(value)
|
|
453
452
|
else:
|
|
454
453
|
returns_object = True
|
|
455
454
|
|
|
@@ -575,46 +574,6 @@ def is_generator_or_async(value):
|
|
|
575
574
|
return False
|
|
576
575
|
|
|
577
576
|
|
|
578
|
-
def returns_value(func):
|
|
579
|
-
"""
|
|
580
|
-
Return True if 'func' explicitly returns a value
|
|
581
|
-
|
|
582
|
-
"""
|
|
583
|
-
# This will return False for functions where all explicit
|
|
584
|
-
# returns are of the form "return" or "return None". The
|
|
585
|
-
# latter is a false negative, but cannot be avoided with
|
|
586
|
-
# bytecode inspection.
|
|
587
|
-
# XXX: This will give a false positive for functions
|
|
588
|
-
# that only contain "return None" paths for
|
|
589
|
-
# returning a value.
|
|
590
|
-
#
|
|
591
|
-
# Until Python 3.14 constant 0 was always None, due to
|
|
592
|
-
# changes in the bytecode compiler that's no longer true.
|
|
593
|
-
|
|
594
|
-
if not isinstance(func.__code__, types.CodeType):
|
|
595
|
-
return True
|
|
596
|
-
|
|
597
|
-
prev = None
|
|
598
|
-
consts = func.__code__.co_consts
|
|
599
|
-
|
|
600
|
-
for inst in dis.get_instructions(func):
|
|
601
|
-
if inst.opname == "RETURN_VALUE":
|
|
602
|
-
assert prev is not None
|
|
603
|
-
if prev.opname == "LOAD_CONST" and consts[prev.arg] is not None:
|
|
604
|
-
return True
|
|
605
|
-
elif prev.opname != "LOAD_CONST":
|
|
606
|
-
return True
|
|
607
|
-
|
|
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
|
|
613
|
-
prev = inst
|
|
614
|
-
|
|
615
|
-
return False
|
|
616
|
-
|
|
617
|
-
|
|
618
577
|
def default_selector(name):
|
|
619
578
|
"""
|
|
620
579
|
Returns a byte string with the selector for 'name',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-core
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.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...
|