|
2 | 2 | #include "frozendictobject.h" |
3 | 3 | static int frozendict_next(PyObject *op, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue); |
4 | 4 | static PyObject* frozendict_iter(PyDictObject *dict); |
5 | | -PyTypeObject PyFrozenDictIterItem_Type; |
6 | 5 | static int frozendict_equal(PyDictObject* a, PyDictObject* b); |
7 | 6 | #include "other.c" |
8 | 7 | #include "dictobject.c" |
@@ -168,17 +167,17 @@ static int frozendict_setitem(PyObject *op, |
168 | 167 | return frozendict_insert((PyDictObject*) op, key, hash, value, empty); |
169 | 168 | } |
170 | 169 |
|
171 | | -int _PyFrozendict_SetItem(PyObject *op, |
172 | | - PyObject *key, |
173 | | - PyObject *value, |
174 | | - int empty) { |
175 | | - if (! PyAnyFrozenDict_Check(op)) { |
176 | | - PyErr_BadInternalCall(); |
177 | | - return -1; |
178 | | - } |
| 170 | +// int _PyFrozendict_SetItem(PyObject *op, |
| 171 | +// PyObject *key, |
| 172 | +// PyObject *value, |
| 173 | +// int empty) { |
| 174 | +// if (! PyAnyFrozenDict_Check(op)) { |
| 175 | +// PyErr_BadInternalCall(); |
| 176 | +// return -1; |
| 177 | +// } |
179 | 178 |
|
180 | | - return frozendict_setitem(op, key, value, empty); |
181 | | -} |
| 179 | +// return frozendict_setitem(op, key, value, empty); |
| 180 | +// } |
182 | 181 |
|
183 | 182 | /* Internal version of frozendict_next that returns a hash value in addition |
184 | 183 | * to the key and value. |
@@ -1346,7 +1345,7 @@ COOLD_CLASS_NAME "(iterable) -> returns an immutable dictionary, equivalent to:\ |
1346 | 1345 | COOLD_CLASS_NAME "(**kwargs) -> returns an immutable dictionary initialized with the name=value pairs\n" |
1347 | 1346 | " in the keyword argument list. For example: " COOLD_CLASS_NAME "(one=1, two=2)"); |
1348 | 1347 |
|
1349 | | -PyTypeObject PyFrozenDict_Type = { |
| 1348 | +static PyTypeObject PyFrozenDict_Type = { |
1350 | 1349 | PyVarObject_HEAD_INIT(NULL, 0) |
1351 | 1350 | "frozendict." FROZENDICT_CLASS_NAME, /* tp_name */ |
1352 | 1351 | sizeof(PyFrozenDictObject), /* tp_basicsize */ |
@@ -1390,7 +1389,7 @@ PyTypeObject PyFrozenDict_Type = { |
1390 | 1389 | .tp_vectorcall = frozendict_vectorcall, |
1391 | 1390 | }; |
1392 | 1391 |
|
1393 | | -PyTypeObject PyCoold_Type = { |
| 1392 | +static PyTypeObject PyCoold_Type = { |
1394 | 1393 | PyVarObject_HEAD_INIT(NULL, 0) |
1395 | 1394 | "frozendict." COOLD_CLASS_NAME, /* tp_name */ |
1396 | 1395 | sizeof(PyFrozenDictObject), /* tp_basicsize */ |
@@ -1459,10 +1458,10 @@ static PyObject* frozendictiter_iternextkey(dictiterobject* di) { |
1459 | 1458 | return key; |
1460 | 1459 | } |
1461 | 1460 |
|
1462 | | -PyTypeObject PyFrozenDictIterKey_Type = { |
| 1461 | +static PyTypeObject PyFrozenDictIterKey_Type = { |
1463 | 1462 | PyVarObject_HEAD_INIT(NULL, 0) |
1464 | | - "frozendict_keyiterator", /* tp_name */ |
1465 | | - sizeof(dictiterobject), /* tp_basicsize */ |
| 1463 | + "frozendict.keyiterator", /* tp_name */ |
| 1464 | + sizeof(dictiterobject), /* tp_basicsize */ |
1466 | 1465 | 0, /* tp_itemsize */ |
1467 | 1466 | /* methods */ |
1468 | 1467 | (destructor)dictiter_dealloc, /* tp_dealloc */ |
@@ -1511,9 +1510,9 @@ static PyObject* frozendictiter_iternextvalue(dictiterobject* di) { |
1511 | 1510 | return val; |
1512 | 1511 | } |
1513 | 1512 |
|
1514 | | -PyTypeObject PyFrozenDictIterValue_Type = { |
| 1513 | +static PyTypeObject PyFrozenDictIterValue_Type = { |
1515 | 1514 | PyVarObject_HEAD_INIT(NULL, 0) |
1516 | | - "frozendict_valueiterator", /* tp_name */ |
| 1515 | + "frozendict.valueiterator", /* tp_name */ |
1517 | 1516 | sizeof(dictiterobject), /* tp_basicsize */ |
1518 | 1517 | 0, /* tp_itemsize */ |
1519 | 1518 | /* methods */ |
@@ -1588,9 +1587,9 @@ static PyObject* frozendictiter_iternextitem(dictiterobject* di) { |
1588 | 1587 | return result; |
1589 | 1588 | } |
1590 | 1589 |
|
1591 | | -PyTypeObject PyFrozenDictIterItem_Type = { |
| 1590 | +static PyTypeObject PyFrozenDictIterItem_Type = { |
1592 | 1591 | PyVarObject_HEAD_INIT(NULL, 0) |
1593 | | - "frozendict_itemiterator", /* tp_name */ |
| 1592 | + "frozendict.itemiterator", /* tp_name */ |
1594 | 1593 | sizeof(dictiterobject), /* tp_basicsize */ |
1595 | 1594 | 0, /* tp_itemsize */ |
1596 | 1595 | /* methods */ |
@@ -1632,9 +1631,9 @@ frozendictkeys_iter(_PyDictViewObject *dv) |
1632 | 1631 | return dictiter_new(dv->dv_dict, &PyFrozenDictIterKey_Type); |
1633 | 1632 | } |
1634 | 1633 |
|
1635 | | -PyTypeObject PyFrozenDictKeys_Type = { |
| 1634 | +static PyTypeObject PyFrozenDictKeys_Type = { |
1636 | 1635 | PyVarObject_HEAD_INIT(NULL, 0) |
1637 | | - "frozendict_keys", /* tp_name */ |
| 1636 | + "frozendict.keys", /* tp_name */ |
1638 | 1637 | sizeof(_PyDictViewObject), /* tp_basicsize */ |
1639 | 1638 | 0, /* tp_itemsize */ |
1640 | 1639 | /* methods */ |
@@ -1682,9 +1681,9 @@ frozendictitems_iter(_PyDictViewObject *dv) |
1682 | 1681 | return dictiter_new(dv->dv_dict, &PyFrozenDictIterItem_Type); |
1683 | 1682 | } |
1684 | 1683 |
|
1685 | | -PyTypeObject PyFrozenDictItems_Type = { |
| 1684 | +static PyTypeObject PyFrozenDictItems_Type = { |
1686 | 1685 | PyVarObject_HEAD_INIT(NULL, 0) |
1687 | | - "frozendict_items", /* tp_name */ |
| 1686 | + "frozendict.items", /* tp_name */ |
1688 | 1687 | sizeof(_PyDictViewObject), /* tp_basicsize */ |
1689 | 1688 | 0, /* tp_itemsize */ |
1690 | 1689 | /* methods */ |
@@ -1732,9 +1731,9 @@ frozendictvalues_iter(_PyDictViewObject *dv) |
1732 | 1731 | return dictiter_new(dv->dv_dict, &PyFrozenDictIterValue_Type); |
1733 | 1732 | } |
1734 | 1733 |
|
1735 | | -PyTypeObject PyFrozenDictValues_Type = { |
| 1734 | +static PyTypeObject PyFrozenDictValues_Type = { |
1736 | 1735 | PyVarObject_HEAD_INIT(NULL, 0) |
1737 | | - "frozendict_values", /* tp_name */ |
| 1736 | + "frozendict.values", /* tp_name */ |
1738 | 1737 | sizeof(_PyDictViewObject), /* tp_basicsize */ |
1739 | 1738 | 0, /* tp_itemsize */ |
1740 | 1739 | /* methods */ |
@@ -1776,11 +1775,37 @@ frozendict_exec(PyObject *m) |
1776 | 1775 | { |
1777 | 1776 | /* Finalize the type object including setting type of the new type |
1778 | 1777 | * object; doing it here is required for portability, too. */ |
1779 | | - if (PyType_Ready(&PyFrozenDict_Type) < 0) |
| 1778 | + if (PyType_Ready(&PyFrozenDict_Type) < 0) { |
1780 | 1779 | goto fail; |
| 1780 | + } |
1781 | 1781 |
|
1782 | | - if (PyType_Ready(&PyCoold_Type) < 0) |
| 1782 | + if (PyType_Ready(&PyCoold_Type) < 0) { |
| 1783 | + goto fail; |
| 1784 | + } |
| 1785 | + |
| 1786 | + if (PyType_Ready(&PyFrozenDictIterKey_Type) < 0) { |
| 1787 | + goto fail; |
| 1788 | + } |
| 1789 | + |
| 1790 | + if (PyType_Ready(&PyFrozenDictIterValue_Type) < 0) { |
| 1791 | + goto fail; |
| 1792 | + } |
| 1793 | + |
| 1794 | + if (PyType_Ready(&PyFrozenDictIterItem_Type) < 0) { |
| 1795 | + goto fail; |
| 1796 | + } |
| 1797 | + |
| 1798 | + if (PyType_Ready(&PyFrozenDictKeys_Type) < 0) { |
| 1799 | + goto fail; |
| 1800 | + } |
| 1801 | + |
| 1802 | + if (PyType_Ready(&PyFrozenDictItems_Type) < 0) { |
| 1803 | + goto fail; |
| 1804 | + } |
| 1805 | + |
| 1806 | + if (PyType_Ready(&PyFrozenDictValues_Type) < 0) { |
1783 | 1807 | goto fail; |
| 1808 | + } |
1784 | 1809 |
|
1785 | 1810 | PyModule_AddObject(m, "frozendict", (PyObject *)&PyFrozenDict_Type); |
1786 | 1811 | PyModule_AddObject(m, "coold", (PyObject *)&PyCoold_Type); |
|
0 commit comments