pyobjc-core 10.3__tar.gz → 10.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_new.py +3 -0
  2. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/PKG-INFO +1 -1
  3. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-class.m +35 -1
  4. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_util.h +1 -0
  5. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_util.m +2 -0
  6. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/options.h +1 -0
  7. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/options.m +3 -0
  8. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc.h +1 -1
  9. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PKG-INFO +1 -1
  10. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_subclass.py +50 -0
  11. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/00ReadMe.txt +0 -0
  12. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/GUITests/00ReadMe.txt +0 -0
  13. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/GUITests/test_modalsession.py +0 -0
  14. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/AsyncPythonInterpreter.py +0 -0
  15. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/ConsoleReactor.py +0 -0
  16. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/classes.nib +0 -0
  17. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/info.nib +0 -0
  18. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/MainMenu.nib/keyedobjects.nib +0 -0
  19. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/classes.nib +0 -0
  20. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/info.nib +0 -0
  21. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/English.lproj/RemotePyInterpreterDocument.nib/keyedobjects.nib +0 -0
  22. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/README.txt +0 -0
  23. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/RemotePyInterpreter.py +0 -0
  24. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/netrepr.py +0 -0
  25. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/remote_bootstrap.py +0 -0
  26. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/remote_console.py +0 -0
  27. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/remote_pipe.py +0 -0
  28. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/setup.py +0 -0
  29. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/tcpinterpreter.py +0 -0
  30. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/NonFunctional/RemotePyInterpreter/test_client.py +0 -0
  31. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/HelloWorld.py +0 -0
  32. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/autoreadme.py +0 -0
  33. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/instrumentSends.py +0 -0
  34. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/kvo-debugging.py +0 -0
  35. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/signal-demo.py +0 -0
  36. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/stdinreader.py +0 -0
  37. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/subclassing-objective-c.py +0 -0
  38. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Examples/Scripts/wmEnable.py +0 -0
  39. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/HISTORIC.txt +0 -0
  40. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Install.txt +0 -0
  41. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/PyObjCTools/KeyValueCoding.py +0 -0
  42. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/PyObjCTools/MachSignals.py +0 -0
  43. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/PyObjCTools/Signals.py +0 -0
  44. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/PyObjCTools/TestSupport.py +0 -0
  45. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/__init__.py +0 -0
  46. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_bridges.py +0 -0
  47. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_bridgesupport.py +0 -0
  48. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_callable_docstr.py +0 -0
  49. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_category.py +0 -0
  50. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_compat.py +0 -0
  51. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_context.py +0 -0
  52. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience.py +0 -0
  53. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_mapping.py +0 -0
  54. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsarray.py +0 -0
  55. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsdata.py +0 -0
  56. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsdecimal.py +0 -0
  57. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsdictionary.py +0 -0
  58. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsobject.py +0 -0
  59. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsset.py +0 -0
  60. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_nsstring.py +0 -0
  61. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_convenience_sequence.py +0 -0
  62. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_descriptors.py +0 -0
  63. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_dyld.py +0 -0
  64. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_framework.py +0 -0
  65. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_informal_protocol.py +0 -0
  66. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_lazyimport.py +0 -0
  67. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_locking.py +0 -0
  68. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_properties.py +0 -0
  69. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_protocols.py +0 -0
  70. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_pycoder.py +0 -0
  71. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_pythonify.py +0 -0
  72. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_structtype.py +0 -0
  73. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/_transform.py +0 -0
  74. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/objc/simd.py +0 -0
  75. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/SOURCES.txt +0 -0
  76. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/dependency_links.txt +0 -0
  77. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/include/pyobjc-api.h +0 -0
  78. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/include/pyobjc-compat.h +0 -0
  79. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/not-zip-safe +0 -0
  80. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Lib/pyobjc_core.egg-info/top_level.txt +0 -0
  81. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/License.txt +0 -0
  82. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/MANIFEST +0 -0
  83. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/MANIFEST.in +0 -0
  84. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Misc/announcement.txt +0 -0
  85. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/_machsignals.m +0 -0
  86. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonArray.h +0 -0
  87. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonArray.m +0 -0
  88. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonData.h +0 -0
  89. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonData.m +0 -0
  90. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonDate.h +0 -0
  91. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonDate.m +0 -0
  92. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonDictionary.h +0 -0
  93. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonDictionary.m +0 -0
  94. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonNumber.h +0 -0
  95. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonNumber.m +0 -0
  96. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonSet.h +0 -0
  97. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonSet.m +0 -0
  98. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonUnicode.h +0 -0
  99. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_BuiltinPythonUnicode.m +0 -0
  100. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_NSBundleHack.h +0 -0
  101. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_NSBundleHack.m +0 -0
  102. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonArray.h +0 -0
  103. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonArray.m +0 -0
  104. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonData.h +0 -0
  105. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonData.m +0 -0
  106. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonDate.h +0 -0
  107. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonDate.m +0 -0
  108. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonDictionary.h +0 -0
  109. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonDictionary.m +0 -0
  110. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonEnumerator.h +0 -0
  111. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonEnumerator.m +0 -0
  112. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonNumber.h +0 -0
  113. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonNumber.m +0 -0
  114. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonObject.h +0 -0
  115. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonObject.m +0 -0
  116. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonSet.h +0 -0
  117. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonSet.m +0 -0
  118. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonURL.h +0 -0
  119. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonURL.m +0 -0
  120. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonUnicode.h +0 -0
  121. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/OC_PythonUnicode.m +0 -0
  122. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ObjCPointer.h +0 -0
  123. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ObjCPointer.m +0 -0
  124. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/block_support.h +0 -0
  125. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/block_support.m +0 -0
  126. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/bundle-variables.h +0 -0
  127. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/bundle-variables.m +0 -0
  128. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/class-builder.h +0 -0
  129. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/class-builder.m +0 -0
  130. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/class-list.h +0 -0
  131. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/class-list.m +0 -0
  132. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/closure_pool.h +0 -0
  133. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/closure_pool.m +0 -0
  134. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/corefoundation.h +0 -0
  135. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/corefoundation.m +0 -0
  136. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ctests.h +0 -0
  137. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ctests.m +0 -0
  138. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/file_wrapper.h +0 -0
  139. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/file_wrapper.m +0 -0
  140. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/formal-protocol.h +0 -0
  141. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/formal-protocol.m +0 -0
  142. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/fsref.h +0 -0
  143. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/fsref.m +0 -0
  144. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/function.h +0 -0
  145. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/function.m +0 -0
  146. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-authorization.m +0 -0
  147. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-foundation-nscoder.m +0 -0
  148. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-foundation-nsdata.m +0 -0
  149. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-foundation-nsdecimal.m +0 -0
  150. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-foundation-nsinvocation.m +0 -0
  151. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-foundation-nsobject.m +0 -0
  152. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers-vector.m +0 -0
  153. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/helpers.h +0 -0
  154. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/instance-var.h +0 -0
  155. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/instance-var.m +0 -0
  156. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ivar-accessor.h +0 -0
  157. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/ivar-accessor.m +0 -0
  158. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/libffi_extra.h +0 -0
  159. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/libffi_extra.m +0 -0
  160. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/libffi_support.h +0 -0
  161. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/libffi_support.m +0 -0
  162. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/memview.h +0 -0
  163. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/memview.m +0 -0
  164. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/meth-func.h +0 -0
  165. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/meth-func.m +0 -0
  166. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-accessor.h +0 -0
  167. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-accessor.m +0 -0
  168. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-imp.h +0 -0
  169. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-imp.m +0 -0
  170. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-signature.h +0 -0
  171. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/method-signature.m +0 -0
  172. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/module.m +0 -0
  173. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-NULL.h +0 -0
  174. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-NULL.m +0 -0
  175. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-class.h +0 -0
  176. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-object.h +0 -0
  177. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-object.m +0 -0
  178. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-runtime-compat.h +0 -0
  179. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc-runtime-compat.m +0 -0
  180. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_super.h +0 -0
  181. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_super.m +0 -0
  182. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_support.h +0 -0
  183. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/objc_support.m +0 -0
  184. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/opaque-pointer.h +0 -0
  185. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/opaque-pointer.m +0 -0
  186. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pointer-support.h +0 -0
  187. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pointer-support.m +0 -0
  188. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/proxy-registry.h +0 -0
  189. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/proxy-registry.m +0 -0
  190. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-api.h +0 -0
  191. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-api.m +0 -0
  192. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-assert.h +0 -0
  193. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-compat.h +0 -0
  194. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-compat.m +0 -0
  195. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc-unittest.h +0 -0
  196. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc_unicode.h +0 -0
  197. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/pyobjc_unicode.m +0 -0
  198. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/python-api-used.h +0 -0
  199. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/registry.h +0 -0
  200. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/registry.m +0 -0
  201. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/released-buffer.h +0 -0
  202. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/released-buffer.m +0 -0
  203. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/selector.h +0 -0
  204. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/selector.m +0 -0
  205. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/struct-sockaddr.h +0 -0
  206. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/struct-sockaddr.m +0 -0
  207. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/struct-wrapper.h +0 -0
  208. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/struct-wrapper.m +0 -0
  209. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/super-call.h +0 -0
  210. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/super-call.m +0 -0
  211. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/NULL.m +0 -0
  212. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/arrayint.m +0 -0
  213. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/arrays.m +0 -0
  214. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/block.m +0 -0
  215. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/bufsizeinarg.m +0 -0
  216. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/categories_base.m +0 -0
  217. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c42.m +0 -0
  218. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c43.m +0 -0
  219. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c44.m +0 -0
  220. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c45.m +0 -0
  221. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c46.m +0 -0
  222. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c47.m +0 -0
  223. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c48.m +0 -0
  224. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c49.m +0 -0
  225. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c50.m +0 -0
  226. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c51.m +0 -0
  227. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c52.m +0 -0
  228. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c53.m +0 -0
  229. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c54.m +0 -0
  230. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c55.m +0 -0
  231. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c56.m +0 -0
  232. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c57.m +0 -0
  233. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c58.m +0 -0
  234. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_c59.m +0 -0
  235. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp10.m +0 -0
  236. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp11.m +0 -0
  237. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp12.m +0 -0
  238. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp13.m +0 -0
  239. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp14.m +0 -0
  240. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp15.m +0 -0
  241. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp16.m +0 -0
  242. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp17.m +0 -0
  243. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp18.m +0 -0
  244. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp19.m +0 -0
  245. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp20.m +0 -0
  246. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp21.m +0 -0
  247. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp22.m +0 -0
  248. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp23.m +0 -0
  249. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp24.m +0 -0
  250. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp27.m +0 -0
  251. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp3.m +0 -0
  252. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp30.m +0 -0
  253. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp33.m +0 -0
  254. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp36.m +0 -0
  255. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp39.m +0 -0
  256. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp42.m +0 -0
  257. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp45.m +0 -0
  258. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp48.m +0 -0
  259. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp51.m +0 -0
  260. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp54.m +0 -0
  261. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp57.m +0 -0
  262. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp6.m +0 -0
  263. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp7.m +0 -0
  264. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp8.m +0 -0
  265. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_gp9.m +0 -0
  266. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p24.m +0 -0
  267. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p25.m +0 -0
  268. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p26.m +0 -0
  269. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p27.m +0 -0
  270. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p28.m +0 -0
  271. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p29.m +0 -0
  272. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p30.m +0 -0
  273. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p31.m +0 -0
  274. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p32.m +0 -0
  275. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p33.m +0 -0
  276. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p34.m +0 -0
  277. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p35.m +0 -0
  278. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p36.m +0 -0
  279. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p37.m +0 -0
  280. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p38.m +0 -0
  281. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p39.m +0 -0
  282. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p40.m +0 -0
  283. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/category_p41.m +0 -0
  284. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/cfsocket.m +0 -0
  285. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/classes.m +0 -0
  286. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/clinmeth.m +0 -0
  287. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/coding.m +0 -0
  288. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/copying.m +0 -0
  289. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/corefoundation.m +0 -0
  290. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/dataint.m +0 -0
  291. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/dateint.m +0 -0
  292. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/decimal.m +0 -0
  293. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/deprecations.m +0 -0
  294. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/dictint.m +0 -0
  295. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/enumeration.m +0 -0
  296. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/exceptions.m +0 -0
  297. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/filepointer.m +0 -0
  298. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/fsref.m +0 -0
  299. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/gcov.m +0 -0
  300. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/genericnew.m +0 -0
  301. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/helpernsdata.m +0 -0
  302. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/helpernsobject.m +0 -0
  303. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/identity.m +0 -0
  304. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/initialize.m +0 -0
  305. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/instanceVariables.m +0 -0
  306. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/locking.m +0 -0
  307. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/metadata.m +0 -0
  308. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/metadatafunction.m +0 -0
  309. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/methodaccess.m +0 -0
  310. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/methodlookup.m +0 -0
  311. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/methres1.m +0 -0
  312. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/methres2.m +0 -0
  313. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/misc.m +0 -0
  314. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/missing1.m +0 -0
  315. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/missing2.m +0 -0
  316. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/missing3.m +0 -0
  317. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/nsobjectcategory.m +0 -0
  318. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/nulldelimitedresult.m +0 -0
  319. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/objectint.m +0 -0
  320. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/opaque.m +0 -0
  321. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/pointersupport.m +0 -0
  322. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/properties.m +0 -0
  323. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/protected.m +0 -0
  324. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/protocol.m +0 -0
  325. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/pythonnumber.m +0 -0
  326. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/pythonset.m +0 -0
  327. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/sequence.m +0 -0
  328. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/sockaddr.m +0 -0
  329. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/specialtypecodes.m +0 -0
  330. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/stringint.m +0 -0
  331. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/structargs.m +0 -0
  332. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/structpointer1.m +0 -0
  333. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/structpointer2.m +0 -0
  334. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/structs.m +0 -0
  335. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/testbndl.m +0 -0
  336. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/testbndl2.m +0 -0
  337. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/testclassandinst.m +0 -0
  338. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/testoutputinitializer.m +0 -0
  339. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/unavailable.m +0 -0
  340. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/vector.m +0 -0
  341. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/vectorcall.m +0 -0
  342. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/test/voidpointer.m +0 -0
  343. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/varlist.h +0 -0
  344. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/varlist.m +0 -0
  345. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/weakref.h +0 -0
  346. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Modules/objc/weakref.m +0 -0
  347. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/__init__.py +0 -0
  348. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/archives/py2-oc2.3.keyed +0 -0
  349. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/archives/py2-oc2.3.plain +0 -0
  350. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/archives/py3-oc3.0.keyed +0 -0
  351. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/archives/py3-oc3.0.plain +0 -0
  352. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/data_bridgesupport/bundle_data/Test.bridgesupport +0 -0
  353. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/data_bridgesupport/with_data/Test.bridgesupport +0 -0
  354. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.bridgesupport +0 -0
  355. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/data_bridgesupport/with_data_dylib/Test.dylib +0 -0
  356. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/dump-nsarchive-securecoding.m +0 -0
  357. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/dump-nsarchive.m +0 -0
  358. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/fnd.py +0 -0
  359. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/helper_bridgesupport.py +0 -0
  360. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/keyvaluehelper.py +0 -0
  361. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/loader.py +0 -0
  362. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_NULL.py +0 -0
  363. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_allocatebuffer.py +0 -0
  364. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_api_import.py +0 -0
  365. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_archive_python.py +0 -0
  366. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_archiving_interop.py +0 -0
  367. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_archiving_secure_interop.py +0 -0
  368. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_array_interface.py +0 -0
  369. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_array_property.py +0 -0
  370. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_arrays.py +0 -0
  371. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_assocations.py +0 -0
  372. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_blocks.py +0 -0
  373. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bridged_classes.py +0 -0
  374. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bridges.py +0 -0
  375. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bridgesupport.py +0 -0
  376. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bufsizeinarg.py +0 -0
  377. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bundleFunctions.py +0 -0
  378. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_bundleVariables.py +0 -0
  379. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_callable_docstr.py +0 -0
  380. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_callbacks.py +0 -0
  381. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_categories.py +0 -0
  382. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_classandinst.py +0 -0
  383. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_classhooks.py +0 -0
  384. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_clinmeth.py +0 -0
  385. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_compat.py +0 -0
  386. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_context.py +0 -0
  387. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_convenience.py +0 -0
  388. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_conversion.py +0 -0
  389. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_copying.py +0 -0
  390. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_corefoundation.py +0 -0
  391. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_ctests.py +0 -0
  392. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_data_proxy.py +0 -0
  393. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_date_proxy.py +0 -0
  394. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_default_selector.py +0 -0
  395. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_deprecations.py +0 -0
  396. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_descriptors.py +0 -0
  397. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_dict_interface.py +0 -0
  398. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_dict_property.py +0 -0
  399. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_dict_proxy.py +0 -0
  400. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_dyld.py +0 -0
  401. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_enumerator.py +0 -0
  402. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_exceptions.py +0 -0
  403. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_filepointer.py +0 -0
  404. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_final.py +0 -0
  405. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_framework.py +0 -0
  406. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_fsref.py +0 -0
  407. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_functions.py +0 -0
  408. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_generic_class.py +0 -0
  409. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_generic_new.py +0 -0
  410. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_hidden_selector.py +0 -0
  411. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_identity.py +0 -0
  412. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_imp.py +0 -0
  413. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_initialized.py +0 -0
  414. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_inspect_signatures.py +0 -0
  415. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_internals.py +0 -0
  416. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_ivar.py +0 -0
  417. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_keyvalue.py +0 -0
  418. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_keyvalue_prop.py +0 -0
  419. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_keyvaluecoding.py +0 -0
  420. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_lazy_import.py +0 -0
  421. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_leaks.py +0 -0
  422. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_list_proxy.py +0 -0
  423. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_locking.py +0 -0
  424. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_machsignals.py +0 -0
  425. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata.py +0 -0
  426. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata_function.py +0 -0
  427. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata_imp.py +0 -0
  428. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata_inheritance.py +0 -0
  429. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata_py.py +0 -0
  430. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_metadata_py2py.py +0 -0
  431. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_method_prototypes.py +0 -0
  432. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methodaccess.py +0 -0
  433. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methodedits.py +0 -0
  434. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methodlookup.py +0 -0
  435. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methods.py +0 -0
  436. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methods2.py +0 -0
  437. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_methres.py +0 -0
  438. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nscoder.py +0 -0
  439. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsdata.py +0 -0
  440. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsdate_proxy.py +0 -0
  441. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsdecimal.py +0 -0
  442. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsinvocation.py +0 -0
  443. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsobject.py +0 -0
  444. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nsunavailable.py +0 -0
  445. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_nulldelimited.py +0 -0
  446. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_number_proxy.py +0 -0
  447. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_objc.py +0 -0
  448. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_objcpointer.py +0 -0
  449. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_object_property.py +0 -0
  450. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_object_proxy.py +0 -0
  451. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_opaque.py +0 -0
  452. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_options.py +0 -0
  453. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_outputinitializer.py +0 -0
  454. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_pickle.py +0 -0
  455. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_pickling_objc.py +0 -0
  456. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_pointer_compat.py +0 -0
  457. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_propertiesforclass.py +0 -0
  458. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_protected.py +0 -0
  459. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_protocol.py +0 -0
  460. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_protocolNamed.py +0 -0
  461. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_python_method.py +0 -0
  462. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_regr.py +0 -0
  463. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_set_interface.py +0 -0
  464. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_set_property.py +0 -0
  465. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_set_proxy.py +0 -0
  466. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_signals.py +0 -0
  467. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_signatures.py +0 -0
  468. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_simd.py +0 -0
  469. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_sockaddr.py +0 -0
  470. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_charbyte.py +0 -0
  471. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_charint.py +0 -0
  472. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_methdef.py +0 -0
  473. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_nsbool.py +0 -0
  474. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_struct.py +0 -0
  475. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_specialtypecodes_unichar.py +0 -0
  476. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_splitsig.py +0 -0
  477. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_string_proxy.py +0 -0
  478. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_structpointer.py +0 -0
  479. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_structs.py +0 -0
  480. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_synthesize.py +0 -0
  481. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_testsupport.py +0 -0
  482. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_transform.py +0 -0
  483. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_transform_integration.py +0 -0
  484. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_typecheck.py +0 -0
  485. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_unicode.py +0 -0
  486. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_urlproxy.py +0 -0
  487. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_usekvo.py +0 -0
  488. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_varargs.py +0 -0
  489. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_varlist.py +0 -0
  490. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_vector_proxy.py +0 -0
  491. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_vectorcall.py +0 -0
  492. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_version_support.py +0 -0
  493. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_voidpointer.py +0 -0
  494. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/PyObjCTest/test_weakref.py +0 -0
  495. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/README.txt +0 -0
  496. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/MANIFEST.in +0 -0
  497. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/comparebench.py +0 -0
  498. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/gen_archive.py +0 -0
  499. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/generate-category-tests.py +0 -0
  500. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/generate-helpers-vector.py +0 -0
  501. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/pyobjc_setup.py +0 -0
  502. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/pyobjcbench.py +0 -0
  503. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/results/pyobjcbench-7.3.txt +0 -0
  504. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/results/pyobjcbench-8.0b1.txt +0 -0
  505. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/results/pyobjcbench-8.0b2.txt +0 -0
  506. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/runtests-with-nuitka.py +0 -0
  507. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/Tools/runtests.py +0 -0
  508. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/pyproject.toml +0 -0
  509. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/setup.cfg +0 -0
  510. {pyobjc_core-10.3 → pyobjc_core-10.3.1}/setup.py +0 -0
@@ -159,3 +159,6 @@ def make_generic_new(cls):
159
159
  __new__.__qualname__ = cls.__name__ + ".__new__"
160
160
  __new__.__module__ = cls.__module__
161
161
  return function_wrapper(__new__, cls)
162
+
163
+
164
+ objc.options._genericNewClass = function_wrapper
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyobjc-core
3
- Version: 10.3
3
+ Version: 10.3.1
4
4
  Summary: Python<->ObjC Interoperability Module
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren, bbum, SteveM, LeleG, many others stretching back through the reaches of time...
@@ -348,6 +348,7 @@ static PyTypeObject* _Nullable PyObjCClass_NewMetaClass(Class objc_class)
348
348
  static PyObject* _Nullable class_call(PyObject* self, PyObject* _Nullable args, PyObject* _Nullable kwds)
349
349
  {
350
350
  PyTypeObject* type = (PyTypeObject*)self;
351
+ PyObject* result;
351
352
 
352
353
  if (type->tp_new == NULL) {
353
354
  PyErr_Format( PyExc_TypeError,
@@ -355,7 +356,40 @@ static PyObject* _Nullable class_call(PyObject* self, PyObject* _Nullable args,
355
356
  return NULL;
356
357
  }
357
358
 
358
- return type->tp_new(type, args, kwds);
359
+
360
+ result = type->tp_new(type, args, kwds);
361
+ if (result == NULL) {
362
+ return result;
363
+ }
364
+
365
+ if (PyObject_TypeCheck(result, type) == 0) {
366
+ return result;
367
+ }
368
+
369
+ if (PyObjC_genericNewClass != NULL && PyObjC_genericNewClass != Py_None) {
370
+ PyObject* new = PyObject_GetAttr((PyObject*)type, PyObjCNM___new__);
371
+ if (new == NULL) { /* Shouldn't happen */
372
+ Py_DECREF(result);
373
+ return NULL;
374
+ }
375
+
376
+ int r = PyObject_TypeCheck(new, (PyTypeObject*)PyObjC_genericNewClass);
377
+ Py_DECREF(new);
378
+ if (r != 0) {
379
+ return result;
380
+ }
381
+ }
382
+
383
+ /* Only call __init__ when the generic new implementation is not used */
384
+
385
+ type = Py_TYPE(result);
386
+ if (type->tp_init != NULL) {
387
+ int res = type->tp_init(result, args, kwds);
388
+ if (res == -1) {
389
+ Py_SETREF(result, NULL);
390
+ }
391
+ }
392
+ return result;
359
393
  }
360
394
 
361
395
 
@@ -123,6 +123,7 @@ extern PyObject* PyObjCNM___get__;
123
123
  extern PyObject* PyObjCNM_date_format_string;
124
124
  extern PyObject* PyObjCNM_objc_memview_object;
125
125
  extern PyObject* PyObjCNM_objc_NULL;
126
+ extern PyObject* PyObjCNM___new__;
126
127
 
127
128
  extern PyObject* _Nullable PyObjC_CallCopyFunc(PyObject* arg);
128
129
  extern PyObject* _Nullable PyObjC_CallDecoder(PyObject* cdr, PyObject* setValue);
@@ -34,6 +34,7 @@ PyObject* PyObjCNM___get__;
34
34
  PyObject* PyObjCNM_date_format_string;
35
35
  PyObject* PyObjCNM_objc_memview_object;
36
36
  PyObject* PyObjCNM_objc_NULL;
37
+ PyObject* PyObjCNM___new__;
37
38
 
38
39
  int
39
40
  PyObjCUtil_Init(PyObject* module)
@@ -84,6 +85,7 @@ PyObjCUtil_Init(PyObject* module)
84
85
  NEW_STR(PyObjCNM_date_format_string, "%s");
85
86
  NEW_STR(PyObjCNM_objc_memview_object, "objc.memview object");
86
87
  NEW_STR(PyObjCNM_objc_NULL, "objc.NULL");
88
+ NEW_STR(PyObjCNM___new__, "__new__");
87
89
 
88
90
  #undef NEW_STR
89
91
 
@@ -27,6 +27,7 @@ extern PyObject* _Nullable PyObjC_setKeyPath;
27
27
  extern PyObject* _Nullable PyObjC_transformAttribute;
28
28
  extern PyObject* _Nullable PyObjC_processClassDict;
29
29
  extern PyObject* _Nullable PyObjC_setDunderNew;
30
+ extern PyObject* _Nullable PyObjC_genericNewClass;
30
31
 
31
32
  extern PyObject* _Nullable PyObjC_DictLikeTypes;
32
33
  extern PyObject* _Nullable PyObjC_ListLikeTypes;
@@ -164,6 +164,7 @@ OBJECT_PROP(_setKeyPath, PyObjC_setKeyPath, NULL)
164
164
  OBJECT_PROP(_transformAttribute, PyObjC_transformAttribute, NULL)
165
165
  OBJECT_PROP(_processClassDict, PyObjC_processClassDict, NULL)
166
166
  OBJECT_PROP(_setDunderNew, PyObjC_setDunderNew, NULL)
167
+ OBJECT_PROP(_genericNewClass, PyObjC_genericNewClass, NULL)
167
168
 
168
169
  static PyObject*
169
170
  bundle_hack_get(PyObject* s __attribute__((__unused__)),
@@ -303,6 +304,8 @@ static PyGetSetDef options_getset[] = {
303
304
  "Private helper used for splitting a class dict into parts"),
304
305
  GETSET(_setDunderNew,
305
306
  "Private helper used for setting __new__ of a new Python subclass"),
307
+ GETSET(_genericNewClass,
308
+ "Class of the generic __new__ implementation"),
306
309
  {
307
310
  .name = "deprecation_warnings",
308
311
  .get = deprecation_warnings_get,
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- #define OBJC_VERSION "10.3"
9
+ #define OBJC_VERSION "10.3.1"
10
10
 
11
11
  #define PY_SSIZE_T_CLEAN
12
12
  #include <Python.h>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyobjc-core
3
- Version: 10.3
3
+ Version: 10.3.1
4
4
  Summary: Python<->ObjC Interoperability Module
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren, bbum, SteveM, LeleG, many others stretching back through the reaches of time...
@@ -1155,3 +1155,53 @@ class TestSuperUsage(TestCase):
1155
1155
  def init(self):
1156
1156
  self = super().init()
1157
1157
  return self
1158
+
1159
+
1160
+ class OC_DunderInitBase(NSObject):
1161
+ # Helper for ``TestUsingDunderInit``
1162
+ def __new__(cls, *args, **kwds):
1163
+ return cls.alloc().init()
1164
+
1165
+
1166
+ class TestUsingDunderInit(TestCase):
1167
+ # Some users have an intermediate class
1168
+ # which implements ``__new__`` to be able
1169
+ # to create Cocoa sublcasses using a similar
1170
+ # interface as normal Python subclasses, e.g.
1171
+ # with ``__init__`` for initializing the instance.
1172
+ #
1173
+ # This should continue to work.
1174
+
1175
+ def test_using_dunder_init(self):
1176
+ class OC_DunderInitSub1(OC_DunderInitBase):
1177
+ def __init__(self, x, y=2):
1178
+ self.x = x
1179
+ self.y = y
1180
+
1181
+ o = OC_DunderInitSub1(x=1)
1182
+ self.assertIsInstance(o, OC_DunderInitSub1)
1183
+ self.assertEqual(o.x, 1)
1184
+ self.assertEqual(o.y, 2)
1185
+
1186
+ with self.assertRaises(TypeError):
1187
+ OC_DunderInitSub1()
1188
+
1189
+ with self.assertRaises(TypeError):
1190
+ OC_DunderInitSub1(9, z=4)
1191
+
1192
+ def test_multipe_generations(self):
1193
+ class OC_DunderInitSub2(OC_DunderInitBase):
1194
+ def __init__(self, x, y):
1195
+ self.x = x
1196
+ self.y = y
1197
+
1198
+ class OC_DunderInitSub3(OC_DunderInitSub2):
1199
+ def __init__(self, x, y, z):
1200
+ super().__init__(x, y)
1201
+ self.z = z
1202
+
1203
+ o = OC_DunderInitSub3(1, 2, 3)
1204
+ self.assertIsInstance(o, OC_DunderInitSub3)
1205
+ self.assertEqual(o.x, 1)
1206
+ self.assertEqual(o.y, 2)
1207
+ self.assertEqual(o.z, 3)
File without changes
File without changes
File without changes
File without changes
File without changes