Source

pypy / pypy / objspace / std / objectobject.py

Author Commit Message Labels Comments Date
Armin Rigo
Less delegation for multimethods.
Armin Rigo
Moved the branch back into the trunk.
Armin Rigo
__init__() was not present for built-in types.
Armin Rigo
First round at fixing the standard object space to adapt it to the new, descriptor-based object model.
Samuele Pedroni
fixed __init__ varargs/kwargs and arg number
holger krekel
the final merge of the builtinrefactor branch into the trunk. See http://codespeak.net/pipermail/pypy-dev/2003q3/001012.html for in-depth discussion and description of what is new.
Armin Rigo
Still some light refactoring of the multimethod mecanisms. Now we give enough static clues about the types to allow for a complete list of what-to-try-in-which-order to be built for each input argument types. This cleanly separates method selection from method call, as wished by mwh and Samuele. It should also speed up pypy a bit but not dramatically enough to notice I'm afraid.
Armin Rigo
Got the __new__ and __init__ methods (probably) right. Reorganized constructors of all object types accordingly.
holger krekel
moved register_all into objspace so we spare an import (armin's suggestion). to avoid circular imports register_all has the imports now inside instead of at module global level.
Jacob Hallén
Refactored register_all to live in its own module.
Armin Rigo
a major rewrite of the user-defined types and the delegation part of multi-methods. Now I'm starting to feel better about it. See comments in objspace.std.mm_notes.txt. --This line, and those below, will be ignored-- M /home/arigo/python/pypy/pypy/trunk/src/pypy/interpreter/test/test_interpreter.py A /home/arigo/python/pypy/pypy/trunk/src/pypy/interpreter/threadlocals.py M /home/arigo/python/pypy/pypy/trunk/src/pypy/interpreter/executioncontext.py M /home/arigo/python/pypy/pypy/trunk/src/pypy/interpreter/baseobjspace.py M /home/arigo/python/pypy/…
holger krekel
revised multimethod registration machinery - now functions whose name is of the form "X__Y1_Y2_..." are registered on the multimethod "X" on StdObjSpace or (if that doesn't exist) on an alternatively provided namespace's multimethod. The Y1, Y2, ... specify the "multimethod implementation signature" and must match the number of arguments the function takes. Otherwise a value Error is raised. For a given Y first "W_Y" is loo…
Armin Rigo
classes and inheritance, still missing __init__() support