[pypy-commit] pypy py3.5: Resync slot table with CPython 3.5

rlamy pypy.commits at gmail.com
Wed Jan 25 11:05:13 EST 2017


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: py3.5
Changeset: r89767:11c714b2a414
Date: 2017-01-25 16:04 +0000
http://bitbucket.org/pypy/pypy/changeset/11c714b2a414/

Log:	Resync slot table with CPython 3.5

diff --git a/pypy/module/cpyext/slotdefs.py b/pypy/module/cpyext/slotdefs.py
--- a/pypy/module/cpyext/slotdefs.py
+++ b/pypy/module/cpyext/slotdefs.py
@@ -789,6 +789,8 @@
 
 ETSLOT = TPSLOT
 
+def AMSLOT(NAME, SLOT, FUNCTION, WRAPPER, DOC):
+    return ETSLOT(NAME, "tp_as_async.c_" + SLOT, FUNCTION, WRAPPER, DOC)
 def SQSLOT(NAME, SLOT, FUNCTION, WRAPPER, DOC):
     return ETSLOT(NAME, "tp_as_sequence.c_" + SLOT, FUNCTION, WRAPPER, DOC)
 def MPSLOT(NAME, SLOT, FUNCTION, WRAPPER, DOC):
@@ -827,161 +829,186 @@
 # Done.
 slotdefs_str = r"""
 static slotdef slotdefs[] = {
-        SQSLOT("__len__", sq_length, slot_sq_length, wrap_lenfunc,
-               "x.__len__() <==> len(x)"),
-        SQSLOT("__add__", sq_concat, slot_sq_concat, wrap_binaryfunc,
-          "x.__add__(y) <==> x+y"),
-        SQSLOT("__mul__", sq_repeat, NULL, wrap_indexargfunc,
-          "x.__mul__(n) <==> x*n"),
-        SQSLOT("__rmul__", sq_repeat, NULL, wrap_indexargfunc,
-          "x.__rmul__(n) <==> n*x"),
-        SQSLOT("__getitem__", sq_item, slot_sq_item, wrap_sq_item,
-               "x.__getitem__(y) <==> x[y]"),
-        SQSLOT("__setitem__", sq_ass_item, slot_sq_ass_item, wrap_sq_setitem,
-               "x.__setitem__(i, y) <==> x[i]=y"),
-        SQSLOT("__delitem__", sq_ass_item, slot_sq_ass_item, wrap_sq_delitem,
-               "x.__delitem__(y) <==> del x[y]"),
-        SQSLOT("__contains__", sq_contains, slot_sq_contains, wrap_objobjproc,
-               "x.__contains__(y) <==> y in x"),
-        SQSLOT("__iadd__", sq_inplace_concat, NULL,
-          wrap_binaryfunc, "x.__iadd__(y) <==> x+=y"),
-        SQSLOT("__imul__", sq_inplace_repeat, NULL,
-          wrap_indexargfunc, "x.__imul__(y) <==> x*=y"),
+    TPSLOT("__getattribute__", tp_getattr, NULL, NULL, ""),
+    TPSLOT("__getattr__", tp_getattr, NULL, NULL, ""),
+    TPSLOT("__setattr__", tp_setattr, NULL, NULL, ""),
+    TPSLOT("__delattr__", tp_setattr, NULL, NULL, ""),
+    TPSLOT("__repr__", tp_repr, slot_tp_repr, wrap_unaryfunc,
+           "__repr__($self, /)\n--\n\nReturn repr(self)."),
+    TPSLOT("__hash__", tp_hash, slot_tp_hash, wrap_hashfunc,
+           "__hash__($self, /)\n--\n\nReturn hash(self)."),
+    FLSLOT("__call__", tp_call, slot_tp_call, (wrapperfunc)wrap_call,
+           "__call__($self, /, *args, **kwargs)\n--\n\nCall self as a function.",
+           PyWrapperFlag_KEYWORDS),
+    TPSLOT("__str__", tp_str, slot_tp_str, wrap_unaryfunc,
+           "__str__($self, /)\n--\n\nReturn str(self)."),
+    TPSLOT("__getattribute__", tp_getattro, slot_tp_getattr_hook,
+           wrap_binaryfunc,
+           "__getattribute__($self, name, /)\n--\n\nReturn getattr(self, name)."),
+    TPSLOT("__getattr__", tp_getattro, slot_tp_getattr_hook, NULL, ""),
+    TPSLOT("__setattr__", tp_setattro, slot_tp_setattro, wrap_setattr,
+           "__setattr__($self, name, value, /)\n--\n\nImplement setattr(self, name, value)."),
+    TPSLOT("__delattr__", tp_setattro, slot_tp_setattro, wrap_delattr,
+           "__delattr__($self, name, /)\n--\n\nImplement delattr(self, name)."),
+    TPSLOT("__lt__", tp_richcompare, slot_tp_richcompare, richcmp_lt,
+           "__lt__($self, value, /)\n--\n\nReturn self<value."),
+    TPSLOT("__le__", tp_richcompare, slot_tp_richcompare, richcmp_le,
+           "__le__($self, value, /)\n--\n\nReturn self<=value."),
+    TPSLOT("__eq__", tp_richcompare, slot_tp_richcompare, richcmp_eq,
+           "__eq__($self, value, /)\n--\n\nReturn self==value."),
+    TPSLOT("__ne__", tp_richcompare, slot_tp_richcompare, richcmp_ne,
+           "__ne__($self, value, /)\n--\n\nReturn self!=value."),
+    TPSLOT("__gt__", tp_richcompare, slot_tp_richcompare, richcmp_gt,
+           "__gt__($self, value, /)\n--\n\nReturn self>value."),
+    TPSLOT("__ge__", tp_richcompare, slot_tp_richcompare, richcmp_ge,
+           "__ge__($self, value, /)\n--\n\nReturn self>=value."),
+    TPSLOT("__iter__", tp_iter, slot_tp_iter, wrap_unaryfunc,
+           "__iter__($self, /)\n--\n\nImplement iter(self)."),
+    TPSLOT("__next__", tp_iternext, slot_tp_iternext, wrap_next,
+           "__next__($self, /)\n--\n\nImplement next(self)."),
+    TPSLOT("__get__", tp_descr_get, slot_tp_descr_get, wrap_descr_get,
+           "__get__($self, instance, owner, /)\n--\n\nReturn an attribute of instance, which is of type owner."),
+    TPSLOT("__set__", tp_descr_set, slot_tp_descr_set, wrap_descr_set,
+           "__set__($self, instance, value, /)\n--\n\nSet an attribute of instance to value."),
+    TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set,
+           wrap_descr_delete,
+           "__delete__($self, instance, /)\n--\n\nDelete an attribute of instance."),
+    FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
+           "__init__($self, /, *args, **kwargs)\n--\n\n"
+           "Initialize self.  See help(type(self)) for accurate signature.",
+           PyWrapperFlag_KEYWORDS),
+    TPSLOT("__new__", tp_new, slot_tp_new, NULL,
+           "__new__(type, /, *args, **kwargs)\n--\n\n"
+           "Create and return new object.  See help(type) for accurate signature."),
+    TPSLOT("__del__", tp_finalize, slot_tp_finalize, (wrapperfunc)wrap_del, ""),
 
-        MPSLOT("__len__", mp_length, slot_mp_length, wrap_lenfunc,
-               "x.__len__() <==> len(x)"),
-        MPSLOT("__getitem__", mp_subscript, slot_mp_subscript,
-               wrap_binaryfunc,
-               "x.__getitem__(y) <==> x[y]"),
-        MPSLOT("__setitem__", mp_ass_subscript, slot_mp_ass_subscript,
-               wrap_objobjargproc,
-               "x.__setitem__(i, y) <==> x[i]=y"),
-        MPSLOT("__delitem__", mp_ass_subscript, slot_mp_ass_subscript,
-               wrap_delitem,
-               "x.__delitem__(y) <==> del x[y]"),
+    AMSLOT("__await__", am_await, slot_am_await, wrap_unaryfunc,
+           "__await__($self, /)\n--\n\nReturn an iterator to be used in await expression."),
+    AMSLOT("__aiter__", am_aiter, slot_am_aiter, wrap_unaryfunc,
+           "__aiter__($self, /)\n--\n\nReturn an awaitable, that resolves in asynchronous iterator."),
+    AMSLOT("__anext__", am_anext, slot_am_anext, wrap_unaryfunc,
+           "__anext__($self, /)\n--\n\nReturn a value or raise StopAsyncIteration."),
 
-        BINSLOT("__add__", nb_add, slot_nb_add,
-                "+"),
-        RBINSLOT("__radd__", nb_add, slot_nb_add,
-                 "+"),
-        BINSLOT("__sub__", nb_subtract, slot_nb_subtract,
-                "-"),
-        RBINSLOT("__rsub__", nb_subtract, slot_nb_subtract,
-                 "-"),
-        BINSLOT("__mul__", nb_multiply, slot_nb_multiply,
-                "*"),
-        RBINSLOT("__rmul__", nb_multiply, slot_nb_multiply,
-                 "*"),
-        BINSLOT("__mod__", nb_remainder, slot_nb_remainder,
-                "%"),
-        RBINSLOT("__rmod__", nb_remainder, slot_nb_remainder,
-                 "%"),
-        BINSLOTNOTINFIX("__divmod__", nb_divmod, slot_nb_divmod,
-                        "divmod(x, y)"),
-        RBINSLOTNOTINFIX("__rdivmod__", nb_divmod, slot_nb_divmod,
-                 "divmod(y, x)"),
-        NBSLOT("__pow__", nb_power, slot_nb_power, wrap_ternaryfunc,
-               "x.__pow__(y[, z]) <==> pow(x, y[, z])"),
-        NBSLOT("__rpow__", nb_power, slot_nb_power, wrap_ternaryfunc_r,
-               "y.__rpow__(x[, z]) <==> pow(x, y[, z])"),
-        UNSLOT("__neg__", nb_negative, slot_nb_negative, wrap_unaryfunc, "-x"),
-        UNSLOT("__pos__", nb_positive, slot_nb_positive, wrap_unaryfunc, "+x"),
-        UNSLOT("__abs__", nb_absolute, slot_nb_absolute, wrap_unaryfunc,
-               "abs(x)"),
-        UNSLOT("__bool__", nb_bool, slot_nb_bool, wrap_inquirypred,
-               "x != 0"),
-        UNSLOT("__invert__", nb_invert, slot_nb_invert, wrap_unaryfunc, "~x"),
-        BINSLOT("__lshift__", nb_lshift, slot_nb_lshift, "<<"),
-        RBINSLOT("__rlshift__", nb_lshift, slot_nb_lshift, "<<"),
-        BINSLOT("__rshift__", nb_rshift, slot_nb_rshift, ">>"),
-        RBINSLOT("__rrshift__", nb_rshift, slot_nb_rshift, ">>"),
-        BINSLOT("__and__", nb_and, slot_nb_and, "&"),
-        RBINSLOT("__rand__", nb_and, slot_nb_and, "&"),
-        BINSLOT("__xor__", nb_xor, slot_nb_xor, "^"),
-        RBINSLOT("__rxor__", nb_xor, slot_nb_xor, "^"),
-        BINSLOT("__or__", nb_or, slot_nb_or, "|"),
-        RBINSLOT("__ror__", nb_or, slot_nb_or, "|"),
-        UNSLOT("__int__", nb_int, slot_nb_int, wrap_unaryfunc,
-               "int(x)"),
-        UNSLOT("__float__", nb_float, slot_nb_float, wrap_unaryfunc,
-               "float(x)"),
-        NBSLOT("__index__", nb_index, slot_nb_index, wrap_unaryfunc,
-               "x[y:z] <==> x[y.__index__():z.__index__()]"),
-        IBSLOT("__iadd__", nb_inplace_add, slot_nb_inplace_add,
-               wrap_binaryfunc, "+="),
-        IBSLOT("__isub__", nb_inplace_subtract, slot_nb_inplace_subtract,
-               wrap_binaryfunc, "-="),
-        IBSLOT("__imul__", nb_inplace_multiply, slot_nb_inplace_multiply,
-               wrap_binaryfunc, "*="),
-        IBSLOT("__imod__", nb_inplace_remainder, slot_nb_inplace_remainder,
-               wrap_binaryfunc, "%="),
-        IBSLOT("__ipow__", nb_inplace_power, slot_nb_inplace_power,
-               wrap_binaryfunc, "**="),
-        IBSLOT("__ilshift__", nb_inplace_lshift, slot_nb_inplace_lshift,
-               wrap_binaryfunc, "<<="),
-        IBSLOT("__irshift__", nb_inplace_rshift, slot_nb_inplace_rshift,
-               wrap_binaryfunc, ">>="),
-        IBSLOT("__iand__", nb_inplace_and, slot_nb_inplace_and,
-               wrap_binaryfunc, "&="),
-        IBSLOT("__ixor__", nb_inplace_xor, slot_nb_inplace_xor,
-               wrap_binaryfunc, "^="),
-        IBSLOT("__ior__", nb_inplace_or, slot_nb_inplace_or,
-               wrap_binaryfunc, "|="),
-        BINSLOT("__floordiv__", nb_floor_divide, slot_nb_floor_divide, "//"),
-        RBINSLOT("__rfloordiv__", nb_floor_divide, slot_nb_floor_divide, "//"),
-        BINSLOT("__truediv__", nb_true_divide, slot_nb_true_divide, "/"),
-        RBINSLOT("__rtruediv__", nb_true_divide, slot_nb_true_divide, "/"),
-        IBSLOT("__ifloordiv__", nb_inplace_floor_divide,
-               slot_nb_inplace_floor_divide, wrap_binaryfunc, "//"),
-        IBSLOT("__itruediv__", nb_inplace_true_divide,
-               slot_nb_inplace_true_divide, wrap_binaryfunc, "/"),
+    BINSLOT("__add__", nb_add, slot_nb_add,
+           "+"),
+    RBINSLOT("__radd__", nb_add, slot_nb_add,
+           "+"),
+    BINSLOT("__sub__", nb_subtract, slot_nb_subtract,
+           "-"),
+    RBINSLOT("__rsub__", nb_subtract, slot_nb_subtract,
+           "-"),
+    BINSLOT("__mul__", nb_multiply, slot_nb_multiply,
+           "*"),
+    RBINSLOT("__rmul__", nb_multiply, slot_nb_multiply,
+           "*"),
+    BINSLOT("__mod__", nb_remainder, slot_nb_remainder,
+           "%"),
+    RBINSLOT("__rmod__", nb_remainder, slot_nb_remainder,
+           "%"),
+    BINSLOTNOTINFIX("__divmod__", nb_divmod, slot_nb_divmod,
+           "Return divmod(self, value)."),
+    RBINSLOTNOTINFIX("__rdivmod__", nb_divmod, slot_nb_divmod,
+           "Return divmod(value, self)."),
+    NBSLOT("__pow__", nb_power, slot_nb_power, wrap_ternaryfunc,
+           "__pow__($self, value, mod=None, /)\n--\n\nReturn pow(self, value, mod)."),
+    NBSLOT("__rpow__", nb_power, slot_nb_power, wrap_ternaryfunc_r,
+           "__rpow__($self, value, mod=None, /)\n--\n\nReturn pow(value, self, mod)."),
+    UNSLOT("__neg__", nb_negative, slot_nb_negative, wrap_unaryfunc, "-self"),
+    UNSLOT("__pos__", nb_positive, slot_nb_positive, wrap_unaryfunc, "+self"),
+    UNSLOT("__abs__", nb_absolute, slot_nb_absolute, wrap_unaryfunc,
+           "abs(self)"),
+    UNSLOT("__bool__", nb_bool, slot_nb_bool, wrap_inquirypred,
+           "self != 0"),
+    UNSLOT("__invert__", nb_invert, slot_nb_invert, wrap_unaryfunc, "~self"),
+    BINSLOT("__lshift__", nb_lshift, slot_nb_lshift, "<<"),
+    RBINSLOT("__rlshift__", nb_lshift, slot_nb_lshift, "<<"),
+    BINSLOT("__rshift__", nb_rshift, slot_nb_rshift, ">>"),
+    RBINSLOT("__rrshift__", nb_rshift, slot_nb_rshift, ">>"),
+    BINSLOT("__and__", nb_and, slot_nb_and, "&"),
+    RBINSLOT("__rand__", nb_and, slot_nb_and, "&"),
+    BINSLOT("__xor__", nb_xor, slot_nb_xor, "^"),
+    RBINSLOT("__rxor__", nb_xor, slot_nb_xor, "^"),
+    BINSLOT("__or__", nb_or, slot_nb_or, "|"),
+    RBINSLOT("__ror__", nb_or, slot_nb_or, "|"),
+    UNSLOT("__int__", nb_int, slot_nb_int, wrap_unaryfunc,
+           "int(self)"),
+    UNSLOT("__float__", nb_float, slot_nb_float, wrap_unaryfunc,
+           "float(self)"),
+    IBSLOT("__iadd__", nb_inplace_add, slot_nb_inplace_add,
+           wrap_binaryfunc, "+="),
+    IBSLOT("__isub__", nb_inplace_subtract, slot_nb_inplace_subtract,
+           wrap_binaryfunc, "-="),
+    IBSLOT("__imul__", nb_inplace_multiply, slot_nb_inplace_multiply,
+           wrap_binaryfunc, "*="),
+    IBSLOT("__imod__", nb_inplace_remainder, slot_nb_inplace_remainder,
+           wrap_binaryfunc, "%="),
+    IBSLOT("__ipow__", nb_inplace_power, slot_nb_inplace_power,
+           wrap_binaryfunc, "**="),
+    IBSLOT("__ilshift__", nb_inplace_lshift, slot_nb_inplace_lshift,
+           wrap_binaryfunc, "<<="),
+    IBSLOT("__irshift__", nb_inplace_rshift, slot_nb_inplace_rshift,
+           wrap_binaryfunc, ">>="),
+    IBSLOT("__iand__", nb_inplace_and, slot_nb_inplace_and,
+           wrap_binaryfunc, "&="),
+    IBSLOT("__ixor__", nb_inplace_xor, slot_nb_inplace_xor,
+           wrap_binaryfunc, "^="),
+    IBSLOT("__ior__", nb_inplace_or, slot_nb_inplace_or,
+           wrap_binaryfunc, "|="),
+    BINSLOT("__floordiv__", nb_floor_divide, slot_nb_floor_divide, "//"),
+    RBINSLOT("__rfloordiv__", nb_floor_divide, slot_nb_floor_divide, "//"),
+    BINSLOT("__truediv__", nb_true_divide, slot_nb_true_divide, "/"),
+    RBINSLOT("__rtruediv__", nb_true_divide, slot_nb_true_divide, "/"),
+    IBSLOT("__ifloordiv__", nb_inplace_floor_divide,
+           slot_nb_inplace_floor_divide, wrap_binaryfunc, "//="),
+    IBSLOT("__itruediv__", nb_inplace_true_divide,
+           slot_nb_inplace_true_divide, wrap_binaryfunc, "/="),
+    NBSLOT("__index__", nb_index, slot_nb_index, wrap_unaryfunc,
+           "__index__($self, /)\n--\n\n"
+           "Return self converted to an integer, if self is suitable "
+           "for use as an index into a list."),
+    BINSLOT("__matmul__", nb_matrix_multiply, slot_nb_matrix_multiply,
+            "@"),
+    RBINSLOT("__rmatmul__", nb_matrix_multiply, slot_nb_matrix_multiply,
+             "@"),
+    IBSLOT("__imatmul__", nb_inplace_matrix_multiply, slot_nb_inplace_matrix_multiply,
+           wrap_binaryfunc, "@="),
+    MPSLOT("__len__", mp_length, slot_mp_length, wrap_lenfunc,
+           "__len__($self, /)\n--\n\nReturn len(self)."),
+    MPSLOT("__getitem__", mp_subscript, slot_mp_subscript,
+           wrap_binaryfunc,
+           "__getitem__($self, key, /)\n--\n\nReturn self[key]."),
+    MPSLOT("__setitem__", mp_ass_subscript, slot_mp_ass_subscript,
+           wrap_objobjargproc,
+           "__setitem__($self, key, value, /)\n--\n\nSet self[key] to value."),
+    MPSLOT("__delitem__", mp_ass_subscript, slot_mp_ass_subscript,
+           wrap_delitem,
+           "__delitem__($self, key, /)\n--\n\nDelete self[key]."),
 
-        TPSLOT("__str__", tp_str, slot_tp_str, wrap_unaryfunc,
-               "x.__str__() <==> str(x)"),
-        TPSLOT("__repr__", tp_repr, slot_tp_repr, wrap_unaryfunc,
-               "x.__repr__() <==> repr(x)"),
-        TPSLOT("__hash__", tp_hash, slot_tp_hash, wrap_hashfunc,
-               "x.__hash__() <==> hash(x)"),
-        FLSLOT("__call__", tp_call, slot_tp_call, (wrapperfunc)wrap_call,
-               "x.__call__(...) <==> x(...)", PyWrapperFlag_KEYWORDS),
-        TPSLOT("__getattribute__", tp_getattro, slot_tp_getattr_hook,
-               wrap_binaryfunc, "x.__getattribute__('name') <==> x.name"),
-        TPSLOT("__getattr__", tp_getattro, slot_tp_getattr, NULL, ""),
-        TPSLOT("__setattr__", tp_setattro, slot_tp_setattro, wrap_setattr,
-               "x.__setattr__('name', value) <==> x.name = value"),
-        TPSLOT("__setattr__", tp_setattr, NULL, NULL, ""),
-        TPSLOT("__delattr__", tp_setattro, slot_tp_setattro, wrap_delattr,
-               "x.__delattr__('name') <==> del x.name"),
-        TPSLOT("__delattr__", tp_setattr, NULL, NULL, ""),
-        TPSLOT("__lt__", tp_richcompare, slot_tp_richcompare, richcmp_lt,
-               "x.__lt__(y) <==> x<y"),
-        TPSLOT("__le__", tp_richcompare, slot_tp_richcompare, richcmp_le,
-               "x.__le__(y) <==> x<=y"),
-        TPSLOT("__eq__", tp_richcompare, slot_tp_richcompare, richcmp_eq,
-               "x.__eq__(y) <==> x==y"),
-        TPSLOT("__ne__", tp_richcompare, slot_tp_richcompare, richcmp_ne,
-               "x.__ne__(y) <==> x!=y"),
-        TPSLOT("__gt__", tp_richcompare, slot_tp_richcompare, richcmp_gt,
-               "x.__gt__(y) <==> x>y"),
-        TPSLOT("__ge__", tp_richcompare, slot_tp_richcompare, richcmp_ge,
-               "x.__ge__(y) <==> x>=y"),
-        TPSLOT("__iter__", tp_iter, slot_tp_iter, wrap_unaryfunc,
-               "x.__iter__() <==> iter(x)"),
-        TPSLOT("__next__", tp_iternext, slot_tp_iternext, wrap_next,
-               "x.__next__() <==> next(x)"),
-        TPSLOT("__get__", tp_descr_get, slot_tp_descr_get, wrap_descr_get,
-               "descr.__get__(obj[, type]) -> value"),
-        TPSLOT("__set__", tp_descr_set, slot_tp_descr_set, wrap_descr_set,
-               "descr.__set__(obj, value)"),
-        TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set,
-               wrap_descr_delete, "descr.__delete__(obj)"),
-        FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
-               "x.__init__(...) initializes x; "
-               "see help(type(x)) for signature",
-               PyWrapperFlag_KEYWORDS),
-        TPSLOT("__new__", tp_new, slot_tp_new, NULL, ""),
-        TPSLOT("__del__", tp_del, slot_tp_del, NULL, ""),
-        {NULL}
+    SQSLOT("__len__", sq_length, slot_sq_length, wrap_lenfunc,
+           "__len__($self, /)\n--\n\nReturn len(self)."),
+
+    SQSLOT("__add__", sq_concat, NULL, wrap_binaryfunc,
+           "__add__($self, value, /)\n--\n\nReturn self+value."),
+    SQSLOT("__mul__", sq_repeat, NULL, wrap_indexargfunc,
+           "__mul__($self, value, /)\n--\n\nReturn self*value.n"),
+    SQSLOT("__rmul__", sq_repeat, NULL, wrap_indexargfunc,
+           "__rmul__($self, value, /)\n--\n\nReturn self*value."),
+    SQSLOT("__getitem__", sq_item, slot_sq_item, wrap_sq_item,
+           "__getitem__($self, key, /)\n--\n\nReturn self[key]."),
+    SQSLOT("__setitem__", sq_ass_item, slot_sq_ass_item, wrap_sq_setitem,
+           "__setitem__($self, key, value, /)\n--\n\nSet self[key] to value."),
+    SQSLOT("__delitem__", sq_ass_item, slot_sq_ass_item, wrap_sq_delitem,
+           "__delitem__($self, key, /)\n--\n\nDelete self[key]."),
+    SQSLOT("__contains__", sq_contains, slot_sq_contains, wrap_objobjproc,
+           "__contains__($self, key, /)\n--\n\nReturn key in self."),
+    SQSLOT("__iadd__", sq_inplace_concat, NULL,
+           wrap_binaryfunc,
+           "__iadd__($self, value, /)\n--\n\nImplement self+=value."),
+    SQSLOT("__imul__", sq_inplace_repeat, NULL,
+           wrap_indexargfunc,
+           "__imul__($self, value, /)\n--\n\nImplement self*=value."),
+
+    {NULL}
 };
 """
 


More information about the pypy-commit mailing list