|
8 | 8 | ) |
9 | 9 |
|
10 | 10 | from mypyc.primitives.registry import ( |
11 | | - c_custom_op, c_method_op, c_function_op, c_binary_op, load_address_op, ERR_NEG_INT |
| 11 | + custom_op, method_op, function_op, binary_op, load_address_op, ERR_NEG_INT |
12 | 12 | ) |
13 | 13 |
|
14 | 14 | # Get the 'dict' type object. |
|
18 | 18 | src='PyDict_Type') |
19 | 19 |
|
20 | 20 | # dict[key] |
21 | | -dict_get_item_op = c_method_op( |
| 21 | +dict_get_item_op = method_op( |
22 | 22 | name='__getitem__', |
23 | 23 | arg_types=[dict_rprimitive, object_rprimitive], |
24 | 24 | return_type=object_rprimitive, |
25 | 25 | c_function_name='CPyDict_GetItem', |
26 | 26 | error_kind=ERR_MAGIC) |
27 | 27 |
|
28 | 28 | # dict[key] = value |
29 | | -dict_set_item_op = c_method_op( |
| 29 | +dict_set_item_op = method_op( |
30 | 30 | name='__setitem__', |
31 | 31 | arg_types=[dict_rprimitive, object_rprimitive, object_rprimitive], |
32 | 32 | return_type=c_int_rprimitive, |
33 | 33 | c_function_name='CPyDict_SetItem', |
34 | 34 | error_kind=ERR_NEG_INT) |
35 | 35 |
|
36 | 36 | # key in dict |
37 | | -c_binary_op( |
| 37 | +binary_op( |
38 | 38 | name='in', |
39 | 39 | arg_types=[object_rprimitive, dict_rprimitive], |
40 | 40 | return_type=c_int_rprimitive, |
|
44 | 44 | ordering=[1, 0]) |
45 | 45 |
|
46 | 46 | # dict1.update(dict2) |
47 | | -dict_update_op = c_method_op( |
| 47 | +dict_update_op = method_op( |
48 | 48 | name='update', |
49 | 49 | arg_types=[dict_rprimitive, dict_rprimitive], |
50 | 50 | return_type=c_int_rprimitive, |
|
54 | 54 |
|
55 | 55 | # Operation used for **value in dict displays. |
56 | 56 | # This is mostly like dict.update(obj), but has customized error handling. |
57 | | -dict_update_in_display_op = c_custom_op( |
| 57 | +dict_update_in_display_op = custom_op( |
58 | 58 | arg_types=[dict_rprimitive, dict_rprimitive], |
59 | 59 | return_type=c_int_rprimitive, |
60 | 60 | c_function_name='CPyDict_UpdateInDisplay', |
61 | 61 | error_kind=ERR_NEG_INT) |
62 | 62 |
|
63 | 63 | # dict.update(obj) |
64 | | -c_method_op( |
| 64 | +method_op( |
65 | 65 | name='update', |
66 | 66 | arg_types=[dict_rprimitive, object_rprimitive], |
67 | 67 | return_type=c_int_rprimitive, |
68 | 68 | c_function_name='CPyDict_UpdateFromAny', |
69 | 69 | error_kind=ERR_NEG_INT) |
70 | 70 |
|
71 | 71 | # dict.get(key, default) |
72 | | -c_method_op( |
| 72 | +method_op( |
73 | 73 | name='get', |
74 | 74 | arg_types=[dict_rprimitive, object_rprimitive, object_rprimitive], |
75 | 75 | return_type=object_rprimitive, |
76 | 76 | c_function_name='CPyDict_Get', |
77 | 77 | error_kind=ERR_MAGIC) |
78 | 78 |
|
79 | 79 | # dict.get(key) |
80 | | -c_method_op( |
| 80 | +method_op( |
81 | 81 | name='get', |
82 | 82 | arg_types=[dict_rprimitive, object_rprimitive], |
83 | 83 | return_type=object_rprimitive, |
84 | 84 | c_function_name='CPyDict_GetWithNone', |
85 | 85 | error_kind=ERR_MAGIC) |
86 | 86 |
|
87 | 87 | # Construct an empty dictionary. |
88 | | -dict_new_op = c_custom_op( |
| 88 | +dict_new_op = custom_op( |
89 | 89 | arg_types=[], |
90 | 90 | return_type=dict_rprimitive, |
91 | 91 | c_function_name='PyDict_New', |
|
94 | 94 | # Construct a dictionary from keys and values. |
95 | 95 | # Positional argument is the number of key-value pairs |
96 | 96 | # Variable arguments are (key1, value1, ..., keyN, valueN). |
97 | | -dict_build_op = c_custom_op( |
| 97 | +dict_build_op = custom_op( |
98 | 98 | arg_types=[c_pyssize_t_rprimitive], |
99 | 99 | return_type=dict_rprimitive, |
100 | 100 | c_function_name='CPyDict_Build', |
101 | 101 | error_kind=ERR_MAGIC, |
102 | 102 | var_arg_type=object_rprimitive) |
103 | 103 |
|
104 | 104 | # Construct a dictionary from another dictionary. |
105 | | -c_function_op( |
| 105 | +function_op( |
106 | 106 | name='builtins.dict', |
107 | 107 | arg_types=[dict_rprimitive], |
108 | 108 | return_type=dict_rprimitive, |
|
111 | 111 | priority=2) |
112 | 112 |
|
113 | 113 | # Generic one-argument dict constructor: dict(obj) |
114 | | -c_function_op( |
| 114 | +function_op( |
115 | 115 | name='builtins.dict', |
116 | 116 | arg_types=[object_rprimitive], |
117 | 117 | return_type=dict_rprimitive, |
118 | 118 | c_function_name='CPyDict_FromAny', |
119 | 119 | error_kind=ERR_MAGIC) |
120 | 120 |
|
121 | 121 | # dict.keys() |
122 | | -c_method_op( |
| 122 | +method_op( |
123 | 123 | name='keys', |
124 | 124 | arg_types=[dict_rprimitive], |
125 | 125 | return_type=object_rprimitive, |
126 | 126 | c_function_name='CPyDict_KeysView', |
127 | 127 | error_kind=ERR_MAGIC) |
128 | 128 |
|
129 | 129 | # dict.values() |
130 | | -c_method_op( |
| 130 | +method_op( |
131 | 131 | name='values', |
132 | 132 | arg_types=[dict_rprimitive], |
133 | 133 | return_type=object_rprimitive, |
134 | 134 | c_function_name='CPyDict_ValuesView', |
135 | 135 | error_kind=ERR_MAGIC) |
136 | 136 |
|
137 | 137 | # dict.items() |
138 | | -c_method_op( |
| 138 | +method_op( |
139 | 139 | name='items', |
140 | 140 | arg_types=[dict_rprimitive], |
141 | 141 | return_type=object_rprimitive, |
142 | 142 | c_function_name='CPyDict_ItemsView', |
143 | 143 | error_kind=ERR_MAGIC) |
144 | 144 |
|
145 | 145 | # list(dict.keys()) |
146 | | -dict_keys_op = c_custom_op( |
| 146 | +dict_keys_op = custom_op( |
147 | 147 | arg_types=[dict_rprimitive], |
148 | 148 | return_type=list_rprimitive, |
149 | 149 | c_function_name='CPyDict_Keys', |
150 | 150 | error_kind=ERR_MAGIC) |
151 | 151 |
|
152 | 152 | # list(dict.values()) |
153 | | -dict_values_op = c_custom_op( |
| 153 | +dict_values_op = custom_op( |
154 | 154 | arg_types=[dict_rprimitive], |
155 | 155 | return_type=list_rprimitive, |
156 | 156 | c_function_name='CPyDict_Values', |
157 | 157 | error_kind=ERR_MAGIC) |
158 | 158 |
|
159 | 159 | # list(dict.items()) |
160 | | -dict_items_op = c_custom_op( |
| 160 | +dict_items_op = custom_op( |
161 | 161 | arg_types=[dict_rprimitive], |
162 | 162 | return_type=list_rprimitive, |
163 | 163 | c_function_name='CPyDict_Items', |
164 | 164 | error_kind=ERR_MAGIC) |
165 | 165 |
|
166 | 166 | # PyDict_Next() fast iteration |
167 | | -dict_key_iter_op = c_custom_op( |
| 167 | +dict_key_iter_op = custom_op( |
168 | 168 | arg_types=[dict_rprimitive], |
169 | 169 | return_type=object_rprimitive, |
170 | 170 | c_function_name='CPyDict_GetKeysIter', |
171 | 171 | error_kind=ERR_MAGIC) |
172 | 172 |
|
173 | | -dict_value_iter_op = c_custom_op( |
| 173 | +dict_value_iter_op = custom_op( |
174 | 174 | arg_types=[dict_rprimitive], |
175 | 175 | return_type=object_rprimitive, |
176 | 176 | c_function_name='CPyDict_GetValuesIter', |
177 | 177 | error_kind=ERR_MAGIC) |
178 | 178 |
|
179 | | -dict_item_iter_op = c_custom_op( |
| 179 | +dict_item_iter_op = custom_op( |
180 | 180 | arg_types=[dict_rprimitive], |
181 | 181 | return_type=object_rprimitive, |
182 | 182 | c_function_name='CPyDict_GetItemsIter', |
183 | 183 | error_kind=ERR_MAGIC) |
184 | 184 |
|
185 | | -dict_next_key_op = c_custom_op( |
| 185 | +dict_next_key_op = custom_op( |
186 | 186 | arg_types=[object_rprimitive, int_rprimitive], |
187 | 187 | return_type=dict_next_rtuple_single, |
188 | 188 | c_function_name='CPyDict_NextKey', |
189 | 189 | error_kind=ERR_NEVER) |
190 | 190 |
|
191 | | -dict_next_value_op = c_custom_op( |
| 191 | +dict_next_value_op = custom_op( |
192 | 192 | arg_types=[object_rprimitive, int_rprimitive], |
193 | 193 | return_type=dict_next_rtuple_single, |
194 | 194 | c_function_name='CPyDict_NextValue', |
195 | 195 | error_kind=ERR_NEVER) |
196 | 196 |
|
197 | | -dict_next_item_op = c_custom_op( |
| 197 | +dict_next_item_op = custom_op( |
198 | 198 | arg_types=[object_rprimitive, int_rprimitive], |
199 | 199 | return_type=dict_next_rtuple_pair, |
200 | 200 | c_function_name='CPyDict_NextItem', |
201 | 201 | error_kind=ERR_NEVER) |
202 | 202 |
|
203 | 203 | # check that len(dict) == const during iteration |
204 | | -dict_check_size_op = c_custom_op( |
| 204 | +dict_check_size_op = custom_op( |
205 | 205 | arg_types=[dict_rprimitive, int_rprimitive], |
206 | 206 | return_type=bit_rprimitive, |
207 | 207 | c_function_name='CPyDict_CheckSize', |
208 | 208 | error_kind=ERR_FALSE) |
209 | 209 |
|
210 | | -dict_size_op = c_custom_op( |
| 210 | +dict_size_op = custom_op( |
211 | 211 | arg_types=[dict_rprimitive], |
212 | 212 | return_type=c_pyssize_t_rprimitive, |
213 | 213 | c_function_name='PyDict_Size', |
|
0 commit comments