[pypy-svn] pypy improve-unwrap_spec: Simpler unwrap_spec in exception, fcntl
amauryfa
commits-noreply at bitbucket.org
Wed Feb 16 19:19:55 CET 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: improve-unwrap_spec
Changeset: r42074:567dbdc42138
Date: 2011-02-16 16:55 +0100
http://bitbucket.org/pypy/pypy/changeset/567dbdc42138/
Log: Simpler unwrap_spec in exception, fcntl
diff --git a/pypy/module/exceptions/interp_exceptions.py b/pypy/module/exceptions/interp_exceptions.py
--- a/pypy/module/exceptions/interp_exceptions.py
+++ b/pypy/module/exceptions/interp_exceptions.py
@@ -72,11 +72,11 @@
+-- BytesWarning
"""
-from pypy.interpreter.baseobjspace import ObjSpace, Wrappable, W_Root
+from pypy.interpreter.baseobjspace import Wrappable
from pypy.interpreter.typedef import TypeDef, interp_attrproperty_w,\
GetSetProperty, interp_attrproperty, descr_get_dict, descr_set_dict,\
descr_del_dict
-from pypy.interpreter.gateway import interp2app, Arguments
+from pypy.interpreter.gateway import interp2app
from pypy.interpreter.error import OperationError
from pypy.rlib import rwin32
@@ -106,7 +106,6 @@
self.w_message = args_w[0]
else:
self.w_message = space.wrap("")
- descr_init.unwrap_spec = ['self', ObjSpace, 'args_w']
def descr_str(self, space):
lgt = len(self.args_w)
@@ -116,7 +115,6 @@
return space.str(self.args_w[0])
else:
return space.str(space.newtuple(self.args_w))
- descr_str.unwrap_spec = ['self', ObjSpace]
def descr_unicode(self, space):
w_str = space.lookup(self, "__str__")
@@ -133,7 +131,6 @@
else:
w_tup = space.newtuple(self.args_w)
return space.call_function(space.w_unicode, w_tup)
- descr_unicode.unwrap_spec = ['self', ObjSpace]
def descr_repr(self, space):
if self.args_w:
@@ -142,7 +139,6 @@
args_repr = "()"
clsname = self.getclass(space).getname(space, '?')
return space.wrap(clsname + args_repr)
- descr_repr.unwrap_spec = ['self', ObjSpace]
def descr_getargs(space, self):
return space.newtuple(self.args_w)
@@ -152,7 +148,6 @@
def descr_getitem(self, space, w_index):
return space.getitem(space.newtuple(self.args_w), w_index)
- descr_getitem.unwrap_spec = ['self', ObjSpace, W_Root]
def getdict(self):
if self.w_dict is None:
@@ -169,12 +164,10 @@
if self.w_dict is not None and space.is_true(self.w_dict):
lst = lst + [self.w_dict]
return space.newtuple(lst)
- descr_reduce.unwrap_spec = ['self', ObjSpace]
def descr_setstate(self, space, w_dict):
w_olddict = self.getdict()
space.call_method(w_olddict, 'update', w_dict)
- descr_setstate.unwrap_spec = ['self', ObjSpace, W_Root]
def descr_message_get(space, self):
w_dict = self.w_dict
@@ -209,7 +202,6 @@
exc = space.allocate_instance(cls, w_subtype)
basecls.__init__(exc, space)
return space.wrap(exc)
- descr_new_base_exception.unwrap_spec = [ObjSpace, W_Root, Arguments]
descr_new_base_exception.func_name = 'descr_new_' + cls.__name__
return interp2app(descr_new_base_exception)
@@ -305,8 +297,6 @@
self.w_reason = w_reason
W_BaseException.descr_init(self, space, [w_object, w_start,
w_end, w_reason])
- descr_init.unwrap_spec = ['self', ObjSpace, W_Root, W_Root, W_Root,
- W_Root]
def descr_str(self, space):
return space.appexec([space.wrap(self)], r"""(self):
@@ -319,7 +309,6 @@
return "can't translate character u'\\U%08x' in position %d: %s"%(badchar, self.start, self.reason)
return "can't translate characters in position %d-%d: %s" % (self.start, self.end - 1, self.reason)
""")
- descr_str.unwrap_spec = ['self', ObjSpace]
W_UnicodeTranslateError.typedef = TypeDef(
'UnicodeTranslateError',
@@ -345,7 +334,6 @@
return space.repr(self.args_w[0])
else:
return space.str(space.newtuple(self.args_w))
-key_error_str.unwrap_spec = ['self', ObjSpace]
W_KeyError = _new_exception('KeyError', W_LookupError,
"""Mapping key not found.""",
@@ -378,7 +366,6 @@
if len(args_w) == 3:
self.w_filename = args_w[2]
self.args_w = [args_w[0], args_w[1]]
- descr_init.unwrap_spec = ['self', ObjSpace, 'args_w']
# since we rebind args_w, we need special reduce, grump
def descr_reduce(self, space):
@@ -390,7 +377,6 @@
if self.w_dict is not None and space.is_true(self.w_dict):
lst = lst + [self.w_dict]
return space.newtuple(lst)
- descr_reduce.unwrap_spec = ['self', ObjSpace]
def descr_str(self, space):
if (not space.is_w(self.w_errno, space.w_None) and
@@ -404,7 +390,6 @@
(space.str_w(space.str(self.w_errno)),
space.str_w(self.w_strerror)))
return W_BaseException.descr_str(self, space)
- descr_str.unwrap_spec = ['self', ObjSpace]
W_EnvironmentError.typedef = TypeDef(
'EnvironmentError',
@@ -442,7 +427,6 @@
errno = self._winerror_to_errno.get(errno, self._default_errno)
self.w_winerror = self.w_errno
self.w_errno = space.wrap(errno)
- descr_init.unwrap_spec = ['self', ObjSpace, 'args_w']
def descr_str(self, space):
if (not space.is_w(self.w_winerror, space.w_None) and
@@ -455,7 +439,6 @@
return space.wrap("[Error %d] %s" % (space.int_w(self.w_winerror),
space.str_w(self.w_strerror)))
return W_BaseException.descr_str(self, space)
- descr_str.unwrap_spec = ['self', ObjSpace]
if hasattr(rwin32, 'build_winerror_to_errno'):
_winerror_to_errno, _default_errno = rwin32.build_winerror_to_errno()
@@ -524,7 +507,6 @@
args_w = args_w[:]
args_w[1] = space.newtuple(values_w[:4])
W_BaseException.descr_init(self, space, args_w)
- descr_init.unwrap_spec = ['self', ObjSpace, 'args_w']
def descr_str(self, space):
return space.appexec([self], """(self):
@@ -552,8 +534,6 @@
return buffer
""")
- descr_str.unwrap_spec = ['self', ObjSpace]
-
def descr_repr(self, space):
if (len(self.args_w) == 2
and not space.is_w(self.w_lastlineno, space.w_None)
@@ -568,7 +548,6 @@
return space.wrap(clsname + args_repr)
else:
return W_StandardError.descr_repr(self, space)
- descr_repr.unwrap_spec = ['self', ObjSpace]
W_SyntaxError.typedef = TypeDef(
'SyntaxError',
@@ -605,7 +584,6 @@
elif len(args_w) > 1:
self.w_code = space.newtuple(args_w)
W_BaseException.descr_init(self, space, args_w)
- descr_init.unwrap_spec = ['self', ObjSpace, 'args_w']
W_SystemExit.typedef = TypeDef(
'SystemExit',
@@ -661,8 +639,6 @@
self.w_reason = w_reason
W_BaseException.descr_init(self, space, [w_encoding, w_object,
w_start, w_end, w_reason])
- descr_init.unwrap_spec = ['self', ObjSpace, W_Root, W_Root, W_Root, W_Root,
- W_Root]
def descr_str(self, space):
return space.appexec([self], """(self):
@@ -673,7 +649,6 @@
return "'%s' codec can't decode bytes in position %d-%d: %s" % (
self.encoding, self.start, self.end - 1, self.reason)
""")
- descr_str.unwrap_spec = ['self', ObjSpace]
W_UnicodeDecodeError.typedef = TypeDef(
'UnicodeDecodeError',
@@ -753,8 +728,6 @@
self.w_reason = w_reason
W_BaseException.descr_init(self, space, [w_encoding, w_object,
w_start, w_end, w_reason])
- descr_init.unwrap_spec = ['self', ObjSpace, W_Root, W_Root, W_Root, W_Root,
- W_Root]
def descr_str(self, space):
return space.appexec([self], r"""(self):
@@ -771,7 +744,6 @@
return "'%s' codec can't encode characters in position %d-%d: %s" % (
self.encoding, self.start, self.end - 1, self.reason)
""")
- descr_str.unwrap_spec = ['self', ObjSpace]
W_UnicodeEncodeError.typedef = TypeDef(
'UnicodeEncodeError',
diff --git a/pypy/module/fcntl/interp_fcntl.py b/pypy/module/fcntl/interp_fcntl.py
--- a/pypy/module/fcntl/interp_fcntl.py
+++ b/pypy/module/fcntl/interp_fcntl.py
@@ -1,7 +1,7 @@
from pypy.rpython.tool import rffi_platform as platform
from pypy.rpython.lltypesystem import rffi, lltype
from pypy.interpreter.error import OperationError, wrap_oserror
-from pypy.interpreter.baseobjspace import W_Root, ObjSpace
+from pypy.interpreter.gateway import unwrap_spec
from pypy.rlib import rposix
from pypy.translator.tool.cbuild import ExternalCompilationInfo
import sys
@@ -100,6 +100,7 @@
l.c_l_type = rffi.cast(rffi.SHORT, l_type)
return l
+ at unwrap_spec(op=int)
def fcntl(space, w_fd, op, w_arg=0):
"""fcntl(fd, op, [arg])
@@ -144,8 +145,8 @@
raise OperationError(space.w_TypeError,
space.wrap("int or string or buffer required"))
-fcntl.unwrap_spec = [ObjSpace, W_Root, int, W_Root]
+ at unwrap_spec(op=int)
def flock(space, w_fd, op):
"""flock(fd, operation)
@@ -168,8 +169,8 @@
op = rffi.cast(rffi.INT, op) # C long => C int
fcntl_flock(fd, op, l)
lltype.free(l, flavor='raw')
-flock.unwrap_spec = [ObjSpace, W_Root, int]
+ at unwrap_spec(op=int, length=int, start=int, whence=int)
def lockf(space, w_fd, op, length=0, start=0, whence=0):
"""lockf (fd, operation, length=0, start=0, whence=0)
@@ -215,8 +216,8 @@
fcntl_flock(fd, op, l)
finally:
lltype.free(l, flavor='raw')
-lockf.unwrap_spec = [ObjSpace, W_Root, int, int, int, int]
+ at unwrap_spec(op=int, mutate_flag=int)
def ioctl(space, w_fd, op, w_arg=0, mutate_flag=-1):
"""ioctl(fd, opt[, arg[, mutate_flag]])
@@ -277,4 +278,3 @@
raise OperationError(space.w_TypeError,
space.wrap("int or string or buffer required"))
-ioctl.unwrap_spec = [ObjSpace, W_Root, int, W_Root, int]
More information about the Pypy-commit
mailing list