[pypy-svn] r4950 - pypy/branch/src-newobjectmodel/pypy/objspace/std
arigo at codespeak.net
arigo at codespeak.net
Sat Jun 5 13:44:37 CEST 2004
Author: arigo
Date: Sat Jun 5 13:44:36 2004
New Revision: 4950
Modified:
pypy/branch/src-newobjectmodel/pypy/objspace/std/default.py
pypy/branch/src-newobjectmodel/pypy/objspace/std/dictobject.py
pypy/branch/src-newobjectmodel/pypy/objspace/std/listobject.py
pypy/branch/src-newobjectmodel/pypy/objspace/std/objectobject.py
pypy/branch/src-newobjectmodel/pypy/objspace/std/objecttype.py
pypy/branch/src-newobjectmodel/pypy/objspace/std/objspace.py
Log:
__init__() was not present for built-in types.
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/default.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/default.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/default.py Sat Jun 5 13:44:36 2004
@@ -16,6 +16,12 @@
def not__ANY(space, w_obj):
return space.newbool(not space.is_true(w_obj))
+# __init__ should succeed if called internally as a multimethod
+
+def init__ANY(space, w_obj, w_args, w_kwds):
+ pass
+
+
# __nonzero__ falls back to __len__
##def is_true__ANY(space, w_obj):
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/dictobject.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/dictobject.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/dictobject.py Sat Jun 5 13:44:36 2004
@@ -85,7 +85,7 @@
result[space.unwrap(w_key)] = space.unwrap(cell.get())
return result
-def object_init__Dict(space, w_dict, w_args, w_kwds):
+def init__Dict(space, w_dict, w_args, w_kwds):
dict_clear__Dict(space, w_dict)
args = space.unpackiterable(w_args)
if len(args) == 0:
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/listobject.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/listobject.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/listobject.py Sat Jun 5 13:44:36 2004
@@ -37,7 +37,7 @@
items = [space.unwrap(w_item) for w_item in w_list.ob_item[:w_list.ob_size]]
return list(items)
-def object_init__List(space, w_list, w_args, w_kwds):
+def init__List(space, w_list, w_args, w_kwds):
if space.is_true(w_kwds):
raise OperationError(space.w_TypeError,
space.wrap("no keyword arguments expected"))
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/objectobject.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/objectobject.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/objectobject.py Sat Jun 5 13:44:36 2004
@@ -13,8 +13,7 @@
delegate__ANY.result_class = W_ObjectObject
delegate__ANY.priority = PRIORITY_PARENT_TYPE
-#def object_init__Object(space, w_object, w_args, w_kwds):
-# pass
+# ____________________________________________________________
register_all(vars())
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/objecttype.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/objecttype.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/objecttype.py Sat Jun 5 13:44:36 2004
@@ -3,14 +3,6 @@
from pypy.objspace.std.register_all import register_all
from pypy.objspace.std.objspace import StdObjSpace
-object_init = MultiMethod('__init__', 1, varargs=True, keywords=True)
-
-def object_init__ANY(space, w_obj, w_args, w_kwds):
- pass
-
-register_all(vars(), globals())
-
-# ____________________________________________________________
def descr__repr__(space, w_obj):
w = space.wrap
Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/objspace.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/objspace.py (original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/objspace.py Sat Jun 5 13:44:36 2004
@@ -315,6 +315,7 @@
is_true = MultiMethod('nonzero', 1, []) # returns an unwrapped bool
issubtype = MultiMethod('issubtype', 2, [])
id = MultiMethod('id', 1, [])
+ init = MultiMethod('__init__', 1, varargs=True, keywords=True)
unwrap = MM.unwrap
delegate = MM.delegate
More information about the Pypy-commit
mailing list