File tree 1 file changed +7
-47
lines changed 1 file changed +7
-47
lines changed Original file line number Diff line number Diff line change 3
3
"""Shared logic between our three mypy parser files."""
4
4
5
5
6
- MAGIC_METHODS = {
6
+ _NON_BINARY_MAGIC_METHODS = {
7
7
"__abs__" ,
8
- "__add__" ,
9
- "__and__" ,
10
8
"__call__" ,
11
- "__cmp__" ,
12
9
"__complex__" ,
13
10
"__contains__" ,
14
11
"__del__" ,
15
12
"__delattr__" ,
16
13
"__delitem__" ,
17
- "__divmod__" ,
18
- "__div__" ,
19
14
"__enter__" ,
20
15
"__exit__" ,
21
- "__eq__" ,
22
- "__floordiv__" ,
23
16
"__float__" ,
24
- "__ge__" ,
25
17
"__getattr__" ,
26
18
"__getattribute__" ,
27
19
"__getitem__" ,
28
- "__gt__" ,
29
20
"__hex__" ,
30
- "__iadd__" ,
31
- "__iand__" ,
32
- "__idiv__" ,
33
- "__ifloordiv__" ,
34
- "__ilshift__" ,
35
- "__imod__" ,
36
- "__imul__" ,
37
21
"__init__" ,
38
22
"__init_subclass__" ,
39
23
"__int__" ,
40
24
"__invert__" ,
41
- "__ior__" ,
42
- "__ipow__" ,
43
- "__irshift__" ,
44
- "__isub__" ,
45
25
"__iter__" ,
46
- "__ixor__" ,
47
- "__le__" ,
48
26
"__len__" ,
49
27
"__long__" ,
50
- "__lshift__" ,
51
- "__lt__" ,
52
- "__mod__" ,
53
- "__mul__" ,
54
- "__ne__" ,
55
28
"__neg__" ,
56
29
"__new__" ,
57
30
"__nonzero__" ,
58
31
"__oct__" ,
59
- "__or__" ,
60
32
"__pos__" ,
61
- "__pow__" ,
62
- "__radd__" ,
63
- "__rand__" ,
64
- "__rdiv__" ,
65
33
"__repr__" ,
66
34
"__reversed__" ,
67
- "__rfloordiv__" ,
68
- "__rlshift__" ,
69
- "__rmod__" ,
70
- "__rmul__" ,
71
- "__ror__" ,
72
- "__rpow__" ,
73
- "__rrshift__" ,
74
- "__rshift__" ,
75
- "__rsub__" ,
76
- "__rxor__" ,
77
35
"__setattr__" ,
78
36
"__setitem__" ,
79
37
"__str__" ,
80
- "__sub__" ,
81
38
"__unicode__" ,
82
- "__xor__" ,
83
39
}
84
40
85
41
MAGIC_METHODS_ALLOWING_KWARGS = {
89
45
"__call__" ,
90
46
}
91
47
92
- MAGIC_METHODS_POS_ARGS_ONLY = MAGIC_METHODS - MAGIC_METHODS_ALLOWING_KWARGS
93
-
94
48
BINARY_MAGIC_METHODS = {
95
49
"__add__" ,
96
50
"__and__" ,
138
92
"__xor__" ,
139
93
}
140
94
95
+ assert not (_NON_BINARY_MAGIC_METHODS & BINARY_MAGIC_METHODS )
96
+
97
+ MAGIC_METHODS = _NON_BINARY_MAGIC_METHODS | BINARY_MAGIC_METHODS
98
+
99
+ MAGIC_METHODS_POS_ARGS_ONLY = MAGIC_METHODS - MAGIC_METHODS_ALLOWING_KWARGS
100
+
141
101
142
102
def special_function_elide_names (name : str ) -> bool :
143
103
return name in MAGIC_METHODS_POS_ARGS_ONLY
You can’t perform that action at this time.
0 commit comments