On 6/5/2012 8:09 AM, nick.coghlan wrote:
Add PEP 422: Dynamic Class Decorators
+Iterating over decorator entries in reverse order
+-------------------------------------------------
+
+This order was chosen to match the layout of lexical decorators when
+converted to ordinary function calls. Just as the following are equivalent::
+
+ @deco2
+ @deco1
+ class C:
+ pass
+
+ class C:
+ pass
+ C = deco2(deco1(C))
+
+So too will the following be roughly equivalent (aside from inheritance)::
+
+ class C:
+ __decorators__ = [deco2, deco1]
I think you should just store the decorators in the correct order of use
+ __decorators__ = [deco1, deco2]
and avoid the nonsense (time-waste) of making an indirect copy via
list_iterator and reversing it each time the attribute is used.
If the list is constructed in reversed order, immediately reverse it.
+
+ class C:
+ pass
+ C = deco2(deco1(C))
Terry Jan Reedy
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com