mirror of https://github.com/python/cpython
gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137)
frozenset does not support multiplication.
This commit is contained in:
parent
124259f9b3
commit
7162c3a1e8
|
@ -142,15 +142,6 @@ check_complexity(PyObject *obj, Py_ssize_t limit)
|
|||
}
|
||||
return limit;
|
||||
}
|
||||
else if (PyFrozenSet_Check(obj)) {
|
||||
Py_ssize_t i = 0;
|
||||
PyObject *item;
|
||||
Py_hash_t hash;
|
||||
limit -= PySet_GET_SIZE(obj);
|
||||
while (limit >= 0 && _PySet_NextEntry(obj, &i, &item, &hash)) {
|
||||
limit = check_complexity(item, limit);
|
||||
}
|
||||
}
|
||||
return limit;
|
||||
}
|
||||
|
||||
|
@ -174,9 +165,8 @@ safe_multiply(PyObject *v, PyObject *w)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
else if (PyLong_Check(v) && (PyTuple_Check(w) || PyFrozenSet_Check(w))) {
|
||||
Py_ssize_t size = PyTuple_Check(w) ? PyTuple_GET_SIZE(w) :
|
||||
PySet_GET_SIZE(w);
|
||||
else if (PyLong_Check(v) && PyTuple_Check(w)) {
|
||||
Py_ssize_t size = PyTuple_GET_SIZE(w);
|
||||
if (size) {
|
||||
long n = PyLong_AsLong(v);
|
||||
if (n < 0 || n > MAX_COLLECTION_SIZE / size) {
|
||||
|
@ -198,8 +188,7 @@ safe_multiply(PyObject *v, PyObject *w)
|
|||
}
|
||||
}
|
||||
else if (PyLong_Check(w) &&
|
||||
(PyTuple_Check(v) || PyFrozenSet_Check(v) ||
|
||||
PyUnicode_Check(v) || PyBytes_Check(v)))
|
||||
(PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v)))
|
||||
{
|
||||
return safe_multiply(w, v);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue