Maciej Fijalkowski committed d544c05

(arigo, fijal) support static methods for mixins

Comments (0)

Files changed (1)


 from pypy.interpreter.pycode import cpython_code_signature
 from pypy.interpreter.argument import rawshape
 from pypy.interpreter.argument import ArgErr
-from pypy.tool.sourcetools import valid_identifier
+from pypy.tool.sourcetools import valid_identifier, func_with_new_name
 from pypy.tool.pairtype import extendabletype
 class CallFamily(object):
             # is of type FunctionType.  But bookkeeper.immutablevalue()
             # will do the right thing in s_get_value().
+        if isinstance(value, staticmethod) and mixin:
+            value = staticmethod(func_with_new_name(value.__func__,
+                                                    value.__func__.__name__))
         if type(value) in MemberDescriptorTypes:
             # skip __slots__, showing up in the class as 'member' objects
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.