pyobjc-core 12.0__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.0 → pyobjc_core-12.2}/Lib/PyObjCTools/TestSupport.py +388 -59
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_bridges.py +11 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_bridgesupport.py +7 -20
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience.py +6 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdata.py +30 -17
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_new.py +1 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_transform.py +5 -40
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/PKG-INFO +3 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/SOURCES.txt +8 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/include/pyobjc-compat.h +24 -50
- 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.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonArray.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonArray.m +29 -39
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonData.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonData.m +10 -10
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonDate.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonDate.m +7 -7
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonDictionary.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonDictionary.m +69 -21
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonEnumerator.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonNumber.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonNumber.m +110 -50
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonObject.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonObject.m +57 -60
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonSet.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonSet.m +8 -7
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonURL.m +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonUnicode.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonUnicode.m +15 -17
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ObjCPointer.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ObjCPointer.m +12 -33
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/block_support.h +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/block_support.m +80 -93
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/bundle-variables.m +27 -30
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/class-builder.h +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/class-builder.m +97 -202
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/class-list.m +9 -9
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/corefoundation.m +61 -47
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ctests.m +199 -8
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/file_wrapper.m +19 -20
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/formal-protocol.m +32 -37
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/fsref.m +8 -26
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/function.m +45 -69
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-authorization.m +17 -18
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nscoder.m +142 -139
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsdata.m +19 -17
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsdecimal.m +84 -87
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsinvocation.m +44 -44
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-foundation-nsobject.m +55 -28
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/instance-var.m +20 -22
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ivar-accessor.m +15 -15
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/libffi_support.h +3 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/libffi_support.m +1106 -1052
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/memview.m +13 -37
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/meth-func.m +47 -34
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-accessor.m +82 -103
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-imp.h +1 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-imp.m +56 -73
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-signature.h +25 -24
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-signature.m +893 -785
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/module.m +122 -107
- pyobjc_core-12.2/Modules/objc/objc-NULL.m +54 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-class.m +574 -537
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-object.h +7 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-object.m +171 -170
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-runtime-compat.h +2 -2
- pyobjc_core-12.2/Modules/objc/objc-runtime-compat.m +45 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_super.m +28 -36
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_support.h +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_support.m +243 -385
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_util.h +2 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_util.m +197 -174
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/opaque-pointer.m +31 -31
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/options.h +1 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/options.m +79 -75
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pointer-support.m +26 -24
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/proxy-registry.h +8 -18
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/proxy-registry.m +98 -13
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc-api.m +6 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc-compat.h +24 -50
- pyobjc_core-12.2/Modules/objc/pyobjc-compat.m +38 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc-unittest.h +0 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc.h +1 -9
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc_unicode.m +32 -65
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/python-api-used.h +19 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/registry.m +60 -64
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/selector.h +3 -2
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/selector.m +190 -278
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/struct-sockaddr.m +19 -17
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/struct-wrapper.h +0 -18
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/struct-wrapper.m +185 -168
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/super-call.h +1 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/super-call.m +123 -80
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/block.m +51 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/block2.m +16 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/bufsizeinarg.m +40 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/coding.m +10 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/customcallers.m +13 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/deprecations.m +82 -4
- pyobjc_core-12.2/Modules/objc/test/filepointer.m +160 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/genericnew.m +7 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/helpernsobject.m +102 -0
- pyobjc_core-12.0/Modules/objc/test/filepointer.m → pyobjc_core-12.2/Modules/objc/test/keyvalue.m +32 -26
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/metadata.m +1222 -23
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/metadatafunction.m +22 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/methodaccess.m +10 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/nulldelimitedresult.m +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/objectint.m +44 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/specialtypecodes.m +20 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/structargs.m +28 -0
- pyobjc_core-12.2/Modules/objc/test/supercall.m +383 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/testbndl.m +27 -3
- pyobjc_core-12.2/Modules/objc/test/transient.m +80 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/varlist.m +38 -50
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/weakref.m +5 -13
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PKG-INFO +3 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_archive_python.py +111 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_archiving_interop.py +15 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_archiving_secure_interop.py +30 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_array_interface.py +12 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_authorizationitem.py +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_blocks.py +179 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bridged_classes.py +7 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bridges.py +4 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bufsizeinarg.py +78 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_callbacks.py +58 -6
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_convenience.py +15 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_conversion.py +143 -39
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_corefoundation.py +19 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_customcallers.py +37 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_data_proxy.py +40 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_deprecations.py +88 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_dict_proxy.py +63 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_filepointer.py +133 -7
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_final.py +8 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_functions.py +234 -24
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_generic_class.py +1 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_generic_new.py +16 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_hidden_selector.py +117 -28
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_imp.py +80 -10
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_initpatterns.py +2 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_internals.py +119 -14
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_keyvalue.py +33 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_lazy_import.py +2 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata.py +2423 -148
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata_function.py +15 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata_imp.py +0 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata_py.py +1808 -195
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methodaccess.py +65 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methodedits.py +121 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methods.py +11 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsdata.py +65 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsdecimal.py +10 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsobject.py +116 -1
- pyobjc_core-12.2/PyObjCTest/test_nsproxy.py +75 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_number_proxy.py +196 -64
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_opaque.py +6 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_options.py +54 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_propertiesforclass.py +18 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_regr.py +576 -17
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_set_interface.py +1 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_charbyte.py +16 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_unichar.py +76 -4
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_splitsig.py +75 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_structs.py +52 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_subclass.py +332 -21
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_testsupport.py +353 -40
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_transform.py +15 -21
- pyobjc_core-12.2/PyObjCTest/test_transient.py +79 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_usekvo.py +17 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_vector_proxy.py +7 -1
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/_tools.py +0 -1
- pyobjc_core-12.2/Tools/free-threading/concurrent-methinfo.py +20 -0
- 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.0 → pyobjc_core-12.2}/Tools/pyobjc_setup.py +4 -5
- {pyobjc_core-12.0 → pyobjc_core-12.2}/setup.cfg +2 -3
- {pyobjc_core-12.0 → pyobjc_core-12.2}/setup.py +37 -15
- pyobjc_core-12.0/Lib/pyobjc_core.egg-info/pyobjc-build-info.txt +0 -3
- pyobjc_core-12.0/Modules/objc/OC_BuiltinPythonNumber.m +0 -30
- pyobjc_core-12.0/Modules/objc/objc-NULL.m +0 -72
- 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.2}/Examples/00ReadMe.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/GUITests/00ReadMe.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/GUITests/test_modalsession.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/HelloWorld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/autoreadme.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/instrumentSends.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/kvo-debugging.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/signal-demo.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/stdinreader.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/subclassing-objective-c.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Examples/Scripts/wmEnable.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/HISTORIC.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Install.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/PyObjCTools/MachSignals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/PyObjCTools/Signals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/__init__.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_callable_docstr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_category.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_context.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_mapping.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsarray.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdecimal.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsdictionary.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsobject.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsset.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_nsstring.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_convenience_sequence.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_descriptors.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_dyld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_framework.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_informal_protocol.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_lazyimport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_locking.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_properties.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_protocols.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_pycoder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_pythonify.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_structtype.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/_types.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/objc/simd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/License.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/MANIFEST +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/MANIFEST.in +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Misc/announcement.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/_machsignals.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonData.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonData.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_NSBundleHack.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_NSBundleHack.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonEnumerator.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/OC_PythonURL.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/bundle-variables.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/class-list.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/closure_pool.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/closure_pool.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/corefoundation.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ctests.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/file_wrapper.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/formal-protocol.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/fsref.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/function.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers-vector.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/helpers.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/instance-var.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/ivar-accessor.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/libffi_extra.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/libffi_extra.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/memview.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/meth-func.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/method-accessor.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-NULL.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc-class.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/objc_super.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/opaque-pointer.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pointer-support.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc-api.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/pyobjc_unicode.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/registry.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/released-buffer.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/released-buffer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/struct-sockaddr.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/NULL.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/arrayint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/arrays.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/authorizationitem.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/categories_base.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c42.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c43.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c44.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c45.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c46.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c47.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c48.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c49.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c50.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c51.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c52.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c53.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c54.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c55.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c56.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c57.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c58.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_c59.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp10.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp11.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp12.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp13.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp14.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp15.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp16.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp17.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp18.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp19.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp20.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp21.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp22.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp23.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp24.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp27.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp3.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp30.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp33.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp36.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp39.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp42.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp45.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp48.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp51.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp54.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp57.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp6.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp7.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp8.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_gp9.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p24.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p25.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p26.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p27.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p28.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p29.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p30.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p31.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p32.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p33.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p34.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p35.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p36.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p37.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p38.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p39.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p40.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/category_p41.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/cfsocket.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/classes.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/clinmeth.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/copying.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/corefoundation.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/dataint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/dateint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/decimal.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/dictint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/enumeration.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/exceptions.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/fsref.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/gcov.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/helpernsdata.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/identity.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/initialize.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/initpatterns.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/instanceVariables.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/locking.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/metadataorder.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/methodlookup.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/methres1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/methres2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/misc.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/missing1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/missing2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/missing3.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/nsobjectcategory.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/opaque.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/pointersupport.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/properties.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/protected.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/protocol.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/pythonnumber.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/pythonset.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/sequence.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/sockaddr.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/stringint.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/structpointer1.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/structpointer2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/structs.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/testbndl2.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/testclassandinst.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/testoutputinitializer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/unavailable.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/vector.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/vectorcall.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/test/voidpointer.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/varlist.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Modules/objc/weakref.h +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/__init__.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/dump-nsarchive.m +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/fnd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/helper_bridgesupport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/keyvaluehelper.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/loader.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_NULL.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_allocatebuffer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_api_import.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_array_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_arrays.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_assocations.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bridgesupport.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bundleFunctions.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_bundleVariables.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_callable_docstr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_categories.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_classandinst.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_classhooks.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_clinmeth.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_context.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_copying.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_ctests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_date_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_default_selector.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_descriptors.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_dict_interface.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_dict_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_dyld.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_enumerator.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_exceptions.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_framework.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_free_threading.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_fsref.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_identity.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_inspect_signatures.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_ivar.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_keyvalue_prop.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_keyvaluecoding.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_leaks.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_list_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_locking.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_machsignals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata_inheritance.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadata_py2py.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_metadataorder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_method_prototypes.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methodlookup.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methods2.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_methres.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nscoder.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsdate_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsinvocation.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nsunavailable.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_nulldelimited.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_objc.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_objcpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_object_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_object_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_outputinitializer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_pickle.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_pickling_objc.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_pointer_compat.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_protected.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_protocol.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_protocolNamed.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_python_method.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_set_property.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_set_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_signals.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_signatures.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_simd.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_sockaddr.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_string_proxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_structpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_super_on_regular_classes.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_synthesize.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_transform_integration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_typecheck.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_unicode.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_urlproxy.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_varargs.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_varlist.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_vectorcall.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_version_support.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_voidpointer.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/PyObjCTest/test_weakref.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/README.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/MANIFEST.in +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/comparebench.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/concurrent-class-list.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/concurrent-dict-getting.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/concurrent-iteration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/concurrent-registration.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/free-threading/concurrent-value-getting.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/gen_archive.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/generate-category-tests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/generate-helpers-vector.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/pyobjcbench.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/results/pyobjcbench-7.3.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/run-free-threading-tests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/runtests-with-nuitka.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/Tools/runtests.py +0 -0
- {pyobjc_core-12.0 → pyobjc_core-12.2}/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")
|
|
@@ -499,6 +497,21 @@ class TestCase(_unittest.TestCase):
|
|
|
499
497
|
or "argument %d of %r is not a null-terminated array" % (argno, method)
|
|
500
498
|
)
|
|
501
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
|
+
|
|
502
515
|
def assertArgIsVariableSize(self, method, argno, message=None):
|
|
503
516
|
if isinstance(method, objc.selector):
|
|
504
517
|
offset = 2
|
|
@@ -542,6 +555,21 @@ class TestCase(_unittest.TestCase):
|
|
|
542
555
|
or "argument %d of %r does not have size in result" % (argno, method)
|
|
543
556
|
)
|
|
544
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
|
+
|
|
545
573
|
def assertArgIsPrintf(self, method, argno, message=None):
|
|
546
574
|
if isinstance(method, objc.selector):
|
|
547
575
|
offset = 2
|
|
@@ -563,6 +591,24 @@ class TestCase(_unittest.TestCase):
|
|
|
563
591
|
or "%r argument %d is not a printf format string" % (method, argno)
|
|
564
592
|
)
|
|
565
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
|
+
|
|
566
612
|
def assertArgIsCFRetained(self, method, argno, message=None):
|
|
567
613
|
if isinstance(method, objc.selector):
|
|
568
614
|
offset = 2
|
|
@@ -675,8 +721,8 @@ class TestCase(_unittest.TestCase):
|
|
|
675
721
|
for item in tp:
|
|
676
722
|
if (
|
|
677
723
|
typestr == item
|
|
678
|
-
or _typemap(typestr) == _typemap(
|
|
679
|
-
or _typealias.get(typestr, typestr) == _typealias.get(
|
|
724
|
+
or _typemap(typestr) == _typemap(item)
|
|
725
|
+
or _typealias.get(typestr, typestr) == _typealias.get(item, item)
|
|
680
726
|
):
|
|
681
727
|
break
|
|
682
728
|
else:
|
|
@@ -717,8 +763,8 @@ class TestCase(_unittest.TestCase):
|
|
|
717
763
|
for item in tp:
|
|
718
764
|
if (
|
|
719
765
|
typestr == item
|
|
720
|
-
or _typemap(typestr) == _typemap(
|
|
721
|
-
or _typealias.get(typestr, typestr) == _typealias.get(
|
|
766
|
+
or _typemap(typestr) == _typemap(item)
|
|
767
|
+
or _typealias.get(typestr, typestr) == _typealias.get(item, item)
|
|
722
768
|
):
|
|
723
769
|
break
|
|
724
770
|
else:
|
|
@@ -1302,9 +1348,14 @@ class TestCase(_unittest.TestCase):
|
|
|
1302
1348
|
|
|
1303
1349
|
if exclude_cocoa:
|
|
1304
1350
|
try:
|
|
1305
|
-
|
|
1351
|
+
if "AppKit" in _sys.modules:
|
|
1352
|
+
import AppKit
|
|
1306
1353
|
|
|
1307
|
-
|
|
1354
|
+
exclude_names = set(dir(AppKit))
|
|
1355
|
+
else:
|
|
1356
|
+
import Foundation
|
|
1357
|
+
|
|
1358
|
+
exclude_names = set(dir(Foundation))
|
|
1308
1359
|
|
|
1309
1360
|
# Don't exclude NSObject' because a number
|
|
1310
1361
|
# of frameworks define categories on this class.
|
|
@@ -1383,65 +1434,339 @@ class TestCase(_unittest.TestCase):
|
|
|
1383
1434
|
exclude_attrs.add("AudioObjectPropertiesChanged")
|
|
1384
1435
|
exclude_attrs.add("AudioObjectsPublishedAndDied")
|
|
1385
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
|
+
|
|
1386
1736
|
# Calculate all (interesting) names in the module. This pokes into
|
|
1387
1737
|
# the implementation details of objc.ObjCLazyModule to avoid loading
|
|
1388
1738
|
# all attributes (which is expensive for larger bindings).
|
|
1389
|
-
|
|
1739
|
+
def is_pyobjc_lazy(module):
|
|
1740
|
+
getter = getattr(module, "__getattr__", None)
|
|
1741
|
+
if getter is None:
|
|
1742
|
+
return False
|
|
1743
|
+
return hasattr(getter, "_pyobjc_parents")
|
|
1744
|
+
|
|
1745
|
+
if is_pyobjc_lazy(module):
|
|
1746
|
+
getter = getattr(module, "__getattr__", None)
|
|
1390
1747
|
module_names = []
|
|
1391
1748
|
module_names.extend(
|
|
1392
1749
|
cls.__name__
|
|
1393
1750
|
for cls in objc.getClassList(True)
|
|
1394
1751
|
if (not cls.__name__.startswith("_")) and ("." not in cls.__name__)
|
|
1395
1752
|
)
|
|
1396
|
-
module_names.extend(
|
|
1397
|
-
|
|
1398
|
-
todo = list(module._ObjCLazyModule__parents or [])
|
|
1753
|
+
module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or [])
|
|
1754
|
+
todo = list(getter._pyobjc_parents)
|
|
1399
1755
|
while todo:
|
|
1400
1756
|
parent = todo.pop()
|
|
1401
|
-
if
|
|
1402
|
-
|
|
1403
|
-
|
|
1757
|
+
if is_pyobjc_lazy(parent):
|
|
1758
|
+
getter = getattr(parent, "__getattr__", None)
|
|
1759
|
+
module_names.extend(getattr(getter, "_pyobjc_funcmap", None) or [])
|
|
1760
|
+
todo.extend(getter._pyobjc_parents or ())
|
|
1404
1761
|
module_names.extend(parent.__dict__.keys())
|
|
1762
|
+
|
|
1405
1763
|
else:
|
|
1406
1764
|
module_names.extend(dir(parent))
|
|
1407
1765
|
|
|
1408
|
-
# The module_names list might contain duplicates
|
|
1409
1766
|
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
1767
|
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
else:
|
|
1444
|
-
module_names = sorted(set(dir(module)))
|
|
1768
|
+
else:
|
|
1769
|
+
module_names = sorted(set(dir(module)))
|
|
1445
1770
|
|
|
1446
1771
|
for _idx, nm in enumerate(module_names):
|
|
1447
1772
|
# print(f"{_idx}/{len(module_names)} {nm}")
|
|
@@ -1452,18 +1777,16 @@ class TestCase(_unittest.TestCase):
|
|
|
1452
1777
|
|
|
1453
1778
|
try:
|
|
1454
1779
|
value = getattr(module, nm)
|
|
1455
|
-
except AttributeError:
|
|
1456
|
-
continue
|
|
1780
|
+
except AttributeError: # pragma: no cover
|
|
1781
|
+
continue # pragma: no cover
|
|
1457
1782
|
if isinstance(value, objc.objc_class):
|
|
1458
1783
|
with objc.autorelease_pool():
|
|
1459
1784
|
if value.__name__ == "Object":
|
|
1460
1785
|
# Root class, does not conform to the NSObject
|
|
1461
1786
|
# protocol and useless to test.
|
|
1462
1787
|
continue
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
attr,
|
|
1466
|
-
) in value.pyobjc_instanceMethods.__dict__.items():
|
|
1788
|
+
instanceMethodDict = value.pyobjc_instanceMethods.__dict__
|
|
1789
|
+
for attr_name, attr in instanceMethodDict.items():
|
|
1467
1790
|
if attr_name in exclude_method_names:
|
|
1468
1791
|
continue
|
|
1469
1792
|
if (nm, attr_name) in exclude_attrs:
|
|
@@ -1472,6 +1795,12 @@ class TestCase(_unittest.TestCase):
|
|
|
1472
1795
|
# Skip private names
|
|
1473
1796
|
continue
|
|
1474
1797
|
|
|
1798
|
+
if value.__name__ == "IOBluetoothHostController" and any(
|
|
1799
|
+
attr_name.startswith(pfx)
|
|
1800
|
+
for pfx in ("Bluetooth", "Broadcom")
|
|
1801
|
+
):
|
|
1802
|
+
continue
|
|
1803
|
+
|
|
1475
1804
|
with self.subTest(classname=nm, instance_method=attr_name):
|
|
1476
1805
|
if isinstance(attr, objc.selector): # pragma: no branch
|
|
1477
1806
|
self._validateCallableMetadata(
|
|
@@ -1481,8 +1810,8 @@ class TestCase(_unittest.TestCase):
|
|
|
1481
1810
|
)
|
|
1482
1811
|
|
|
1483
1812
|
for attr_name, attr in value.pyobjc_classMethods.__dict__.items():
|
|
1484
|
-
if attr_name in exclude_method_names:
|
|
1485
|
-
continue
|
|
1813
|
+
if attr_name in exclude_method_names: # pragma: no branch
|
|
1814
|
+
continue # pragma: no cover
|
|
1486
1815
|
if (nm, attr_name) in exclude_attrs:
|
|
1487
1816
|
continue
|
|
1488
1817
|
if attr_name.startswith("_"):
|
|
@@ -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):
|