Author: Manuel Jacob <[email protected]>
Branch: py3.3
Changeset: r78498:1c0541a5be95
Date: 2015-07-08 16:50 +0200
http://bitbucket.org/pypy/pypy/changeset/1c0541a5be95/
Log: Fix __qualname__ of built-in class methods.
diff --git a/pypy/objspace/std/typeobject.py b/pypy/objspace/std/typeobject.py
--- a/pypy/objspace/std/typeobject.py
+++ b/pypy/objspace/std/typeobject.py
@@ -2,7 +2,7 @@
from pypy.interpreter.baseobjspace import W_Root, SpaceCache
from pypy.interpreter.error import oefmt, OperationError
from pypy.interpreter.function import (
- Function, StaticMethod, FunctionWithFixedCode)
+ Function, StaticMethod, ClassMethod, FunctionWithFixedCode)
from pypy.interpreter.typedef import weakref_descr, GetSetProperty,\
descr_get_dict, dict_descr, Member, TypeDef
from pypy.interpreter.astcompiler.misc import mangle
@@ -1313,10 +1313,12 @@
# Set the __qualname__ of member functions
for name in rawdict:
w_obj = dict_w[name]
+ if isinstance(w_obj, ClassMethod):
+ w_obj = w_obj.w_function
if isinstance(w_obj, FunctionWithFixedCode):
qualname = w_type.getqualname(space) + '.' + name
w_obj.fset_func_qualname(space, space.wrap(qualname))
-
+
if hasattr(typedef, 'flag_sequence_bug_compat'):
w_type.flag_sequence_bug_compat = typedef.flag_sequence_bug_compat
w_type.lazyloaders = lazyloaders
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit