gh-115756: make PyCode_GetFirstFree an unstable API (GH-115781)

This commit is contained in:
Bogdan Romanyuk 2024-03-19 12:20:38 +03:00 committed by GitHub
parent a3cf0fada0
commit a8e93d3dca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 23 additions and 6 deletions

View file

@ -2903,7 +2903,7 @@ _PyEval_FormatExcUnbound(PyThreadState *tstate, PyCodeObject *co, int oparg)
if (_PyErr_Occurred(tstate))
return;
name = PyTuple_GET_ITEM(co->co_localsplusnames, oparg);
if (oparg < PyCode_GetFirstFree(co)) {
if (oparg < PyUnstable_Code_GetFirstFree(co)) {
_PyEval_FormatExcCheckArg(tstate, PyExc_UnboundLocalError,
UNBOUNDLOCAL_ERROR_MSG, name);
} else {

View file

@ -1830,7 +1830,7 @@ compiler_make_closure(struct compiler *c, location loc,
PyCodeObject *co, Py_ssize_t flags)
{
if (co->co_nfreevars) {
int i = PyCode_GetFirstFree(co);
int i = PyUnstable_Code_GetFirstFree(co);
for (; i < co->co_nlocalsplus; ++i) {
/* Bypass com_addop_varname because it will generate
LOAD_DEREF but LOAD_CLOSURE is needed.