methods.h
1 CACHED_METHOD(INIT, "__init__", _init)
2 CACHED_METHOD(GET, "__getitem__", _getter)
3 CACHED_METHOD(SET, "__setitem__", _setter)
4 CACHED_METHOD(REPR, "__repr__", _reprer)
5 CACHED_METHOD(STR, "__str__", _tostr)
6 CACHED_METHOD(CALL, "__call__", _call)
7 CACHED_METHOD(EQ, "__eq__", _eq)
8 CACHED_METHOD(LEN, "__len__", _len)
9 CACHED_METHOD(ENTER, "__enter__", _enter)
10 CACHED_METHOD(EXIT, "__exit__", _exit)
11 CACHED_METHOD(DELITEM, "__delitem__", _delitem)
12 CACHED_METHOD(ITER, "__iter__", _iter)
13 CACHED_METHOD(GETATTR, "__getattr__", _getattr)
14 CACHED_METHOD(DIR, "__dir__", _dir)
15 CACHED_METHOD(CONTAINS, "__contains__", _contains)
16 CACHED_METHOD(DESCGET, "__get__", _descget)
17 CACHED_METHOD(DESCSET, "__set__", _descset)
18 CACHED_METHOD(CLASSGETITEM, "__class_getitem__", _classgetitem)
19 CACHED_METHOD(HASH, "__hash__", _hash)
20 CACHED_METHOD(BOOL, "__bool__", _bool)
21 
22 #define BINOPTRIO(name) \
23  CACHED_METHOD(name, "__" #name "__", _ ## name) \
24  CACHED_METHOD(R ## name, "__r" #name "__", _r ## name) \
25  CACHED_METHOD(I ## name, "__i" #name "__", _i ## name)
26 
27 BINOPTRIO(add)
28 BINOPTRIO(sub)
29 BINOPTRIO(mul)
30 BINOPTRIO(pow)
31 BINOPTRIO(or)
32 BINOPTRIO(xor)
33 BINOPTRIO(and)
34 BINOPTRIO(mod)
35 BINOPTRIO(lshift)
36 BINOPTRIO(rshift)
37 BINOPTRIO(floordiv)
38 BINOPTRIO(truediv)
39 BINOPTRIO(matmul)
40 
41 CACHED_METHOD(LT, "__lt__", _lt)
42 CACHED_METHOD(GT, "__gt__", _gt)
43 CACHED_METHOD(LE, "__le__", _le)
44 CACHED_METHOD(GE, "__ge__", _ge)
45 CACHED_METHOD(INVERT, "__invert__", _invert)
46 CACHED_METHOD(NEGATE, "__neg__", _negate)
47 CACHED_METHOD(SETNAME, "__set_name__", _set_name)
48 CACHED_METHOD(POS, "__pos__", _pos)
49 CACHED_METHOD(SETATTR, "__setattr__", _setattr)
50 CACHED_METHOD(FORMAT, "__format__", _format)
51 CACHED_METHOD(NEW, "__new__", _new)
52 
53 /* These are not methods */
54 SPECIAL_ATTRS(CLASS, "__class__")
55 SPECIAL_ATTRS(NAME, "__name__")
56 SPECIAL_ATTRS(DOC, "__doc__")
57 SPECIAL_ATTRS(BASE, "__base__")
58 SPECIAL_ATTRS(FILE, "__file__")
59 /* These should probably also be cached */
60 SPECIAL_ATTRS(INT, "__int__")
61 SPECIAL_ATTRS(CHR, "__chr__")
62 SPECIAL_ATTRS(ORD, "__ord__")
63 SPECIAL_ATTRS(FLOAT, "__float__")
64 SPECIAL_ATTRS(STRSTRIP, " \t\n\r")
65 SPECIAL_ATTRS(HEX, "__hex__")
66 SPECIAL_ATTRS(OCT, "__oct__")
67 SPECIAL_ATTRS(BIN, "__bin__")
68 SPECIAL_ATTRS(ABS, "__abs__")
69 SPECIAL_ATTRS(FUNC, "__func__")
70 SPECIAL_ATTRS(BLDCLS, "__build_class__")
71 SPECIAL_ATTRS(MAIN, "__main__")