1
from pypy.interpreter.baseobjspace import ObjSpace, Wrappable, W_Root
2
from pypy.rlib.nonconst import NonConstant
3
from pypy.rlib.rarithmetic import r_uint
8
class W_Object(W_Root):
10
W_Object.typedef = W_Type()
12
def make_dummy(a=W_Object(), b=W_Object()):
20
int_dummy = make_dummy(42, 43)
21
float_dummy = make_dummy(42.0, 42.1)
22
uint_dummy = make_dummy(r_uint(42), r_uint(43))
23
str_dummy = make_dummy('foo', 'bar')
24
bool_dummy = make_dummy(True, False)
26
class FakeObjSpace(ObjSpace):
30
w_Ellipsis = W_Object()
31
w_NotImplemented = W_Object()
38
w_unicode = W_Object()
40
w_instance = W_Object()
46
self.config.objspace.geninterp = False
54
if isinstance(x, Wrappable):
55
w_result = x.__spacebind__(self)
58
wrap._annspecialcase_ = "specialize:argtype(1)"
60
def unwrap(self, w_obj):
61
assert isinstance(w_obj, W_Object)
65
allocate_instance = make_dummy()
66
getattr = make_dummy()
67
setattr = make_dummy()
68
getitem = make_dummy()
69
setitem = make_dummy()
70
delitem = make_dummy()
81
call_args = make_dummy()
82
new_interned_str = make_dummy()
83
newstring = make_dummy()
84
newunicode = make_dummy()
86
newlong = make_dummy()
87
newfloat = make_dummy()
88
def newdict(self, track_builtin_shadowing=False):
89
return self.newfloat()
90
newlist = make_dummy()
91
emptylist = make_dummy()
92
newtuple = make_dummy()
93
newslice = make_dummy()
110
nonzero = make_dummy()
111
issubtype = make_dummy()
114
delattr = make_dummy() # should return None?
115
contains = make_dummy()
119
inplace_pow = make_dummy()
122
# XXsX missing operations
123
def coerce(self, *args): raise NotImplementedError("space.coerce()")
124
def get(self, *args): raise NotImplementedError("space.get()")
125
def set(self, *args): raise NotImplementedError("space.set()")
126
def delete(self, *args): raise NotImplementedError("space.delete()")
127
def userdel(self, *args): raise NotImplementedError("space.userdel()")
128
def marshal_w(self, *args):raise NotImplementedError("space.marshal_w()")
129
def log(self, *args): raise NotImplementedError("space.log()")
131
gettypefor = make_dummy()
132
gettypeobject = make_dummy()
133
unpackiterable = make_dummy([W_Object()], [W_Object()])
136
## Register all exceptions
138
for name in ObjSpace.ExceptionTable:
139
exc = getattr(exceptions, name)
140
setattr(FakeObjSpace, 'w_' + name, W_Object())