On 19 September 2013 10:32, Ronald Oussoren <ronaldousso...@mac.com> wrote:
> The first time a method is called the bridge looks for an Objective-C selector
> with the same name and adds that to the class dictionary. This works fine for 
> normal
> method lookups, by overriding __getattribute__, but causes problems with 
> super:
> super happily ignores __getattribute__ and peeks in the class __dict__ which 
> may
> not yet contain the name we're looking for and that can result in incorrect 
> results
> (both incorrect AttributeErrors and totally incorrect results when the name is
> not yet present in the parent class' __dict__ but is in the grandparent's 
> __dict__).

As an alternative approach, could you use a custom dict subclass as
the class __dict__, and catch the peeking in the class __dict__ that
way? Or is this one of those places where only a real dict will do?

Paul
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to