gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137)

frozenset does not support multiplication.
This commit is contained in:
Kirill Podoprigora 2023-10-20 23:37:38 +03:00 committed by GitHub
parent 124259f9b3
commit 7162c3a1e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 14 deletions

View File

@ -142,15 +142,6 @@ check_complexity(PyObject *obj, Py_ssize_t limit)
} }
return 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; return limit;
} }
@ -174,9 +165,8 @@ safe_multiply(PyObject *v, PyObject *w)
return NULL; return NULL;
} }
} }
else if (PyLong_Check(v) && (PyTuple_Check(w) || PyFrozenSet_Check(w))) { else if (PyLong_Check(v) && PyTuple_Check(w)) {
Py_ssize_t size = PyTuple_Check(w) ? PyTuple_GET_SIZE(w) : Py_ssize_t size = PyTuple_GET_SIZE(w);
PySet_GET_SIZE(w);
if (size) { if (size) {
long n = PyLong_AsLong(v); long n = PyLong_AsLong(v);
if (n < 0 || n > MAX_COLLECTION_SIZE / size) { if (n < 0 || n > MAX_COLLECTION_SIZE / size) {
@ -198,8 +188,7 @@ safe_multiply(PyObject *v, PyObject *w)
} }
} }
else if (PyLong_Check(w) && else if (PyLong_Check(w) &&
(PyTuple_Check(v) || PyFrozenSet_Check(v) || (PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v)))
PyUnicode_Check(v) || PyBytes_Check(v)))
{ {
return safe_multiply(w, v); return safe_multiply(w, v);
} }