mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
Converted the Carbon modules to use PEP252-style objects, with
descriptors in stead of manual getattr hooks to get at attributes of the objects. For Qd I have in stead gotten rid of most of the attribute access in favor of the carbon-style accessor methods (with the exception of visRgn, to be done later), and of the Carbon.Qd.qd global object, for which accessor functions are also available. For List I have fixed the fact that various methods were incorrectly generated as functions. CF is untouched: PEP252 doesn't allow "poor-mans-inheritance" with basechain, so it will have to wait for PEP253 support.
This commit is contained in:
parent
818855939a
commit
dbd5701d73
48 changed files with 2447 additions and 2507 deletions
|
|
@ -215,7 +215,7 @@ module = MacModule('_CarbonEvt', 'CarbonEvents', includestuff, finalstuff, inits
|
|||
|
||||
|
||||
|
||||
class EventHandlerRefObjectDefinition(GlobalObjectDefinition):
|
||||
class EventHandlerRefObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
|
||||
def outputStructMembers(self):
|
||||
Output("%s ob_itself;", self.itselftype)
|
||||
Output("PyObject *ob_callback;")
|
||||
|
|
@ -227,12 +227,15 @@ class EventHandlerRefObjectDefinition(GlobalObjectDefinition):
|
|||
Output("RemoveEventHandler(self->ob_itself);")
|
||||
Output("Py_DECREF(self->ob_callback);")
|
||||
OutRbrace()
|
||||
|
||||
class MyGlobalObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
|
||||
pass
|
||||
|
||||
for typ in RefObjectTypes:
|
||||
if typ == 'EventHandlerRef':
|
||||
EventHandlerRefobject = EventHandlerRefObjectDefinition('EventHandlerRef')
|
||||
else:
|
||||
execstr = typ + 'object = GlobalObjectDefinition(typ)'
|
||||
execstr = typ + 'object = MyGlobalObjectDefinition(typ)'
|
||||
exec execstr
|
||||
module.addobject(eval(typ + 'object'))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue