bpo-39969: Remove ast.Param node class as is no longer used (GH-19020)
This commit is contained in:
parent
61ac612e78
commit
8689209e03
|
@ -664,8 +664,9 @@ Removed
|
||||||
defining ``COUNT_ALLOCS`` macro.
|
defining ``COUNT_ALLOCS`` macro.
|
||||||
(Contributed by Victor Stinner in :issue:`39489`.)
|
(Contributed by Victor Stinner in :issue:`39489`.)
|
||||||
|
|
||||||
* The ``ast.Suite`` node class has been removed due to no longer being needed.
|
* The ``ast.Suite`` and ``ast.Param`` node classes has been removed due to no
|
||||||
(Contributed by Batuhan Taskaya in :issue:`39639`.)
|
longer being needed.
|
||||||
|
(Contributed by Batuhan Taskaya in :issue:`39639` and :issue:`39969`.)
|
||||||
|
|
||||||
|
|
||||||
Porting to Python 3.9
|
Porting to Python 3.9
|
||||||
|
|
|
@ -17,8 +17,8 @@ typedef struct _stmt *stmt_ty;
|
||||||
|
|
||||||
typedef struct _expr *expr_ty;
|
typedef struct _expr *expr_ty;
|
||||||
|
|
||||||
typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
|
typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5 }
|
||||||
Param=6 } expr_context_ty;
|
expr_context_ty;
|
||||||
|
|
||||||
typedef enum _boolop { And=1, Or=2 } boolop_ty;
|
typedef enum _boolop { And=1, Or=2 } boolop_ty;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Remove ``ast.Param`` node class because it's no longer used. Patch by
|
||||||
|
Batuhan Taskaya.
|
|
@ -90,7 +90,7 @@ module Python
|
||||||
-- col_offset is the byte offset in the utf8 string the parser uses
|
-- col_offset is the byte offset in the utf8 string the parser uses
|
||||||
attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)
|
attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)
|
||||||
|
|
||||||
expr_context = Load | Store | Del | AugLoad | AugStore | Param
|
expr_context = Load | Store | Del | AugLoad | AugStore
|
||||||
|
|
||||||
boolop = And | Or
|
boolop = And | Or
|
||||||
|
|
||||||
|
|
|
@ -107,8 +107,6 @@ typedef struct {
|
||||||
PyObject *Not_type;
|
PyObject *Not_type;
|
||||||
PyObject *Or_singleton;
|
PyObject *Or_singleton;
|
||||||
PyObject *Or_type;
|
PyObject *Or_type;
|
||||||
PyObject *Param_singleton;
|
|
||||||
PyObject *Param_type;
|
|
||||||
PyObject *Pass_type;
|
PyObject *Pass_type;
|
||||||
PyObject *Pow_singleton;
|
PyObject *Pow_singleton;
|
||||||
PyObject *Pow_type;
|
PyObject *Pow_type;
|
||||||
|
@ -332,8 +330,6 @@ static int astmodule_clear(PyObject *module)
|
||||||
Py_CLEAR(astmodulestate(module)->Not_type);
|
Py_CLEAR(astmodulestate(module)->Not_type);
|
||||||
Py_CLEAR(astmodulestate(module)->Or_singleton);
|
Py_CLEAR(astmodulestate(module)->Or_singleton);
|
||||||
Py_CLEAR(astmodulestate(module)->Or_type);
|
Py_CLEAR(astmodulestate(module)->Or_type);
|
||||||
Py_CLEAR(astmodulestate(module)->Param_singleton);
|
|
||||||
Py_CLEAR(astmodulestate(module)->Param_type);
|
|
||||||
Py_CLEAR(astmodulestate(module)->Pass_type);
|
Py_CLEAR(astmodulestate(module)->Pass_type);
|
||||||
Py_CLEAR(astmodulestate(module)->Pow_singleton);
|
Py_CLEAR(astmodulestate(module)->Pow_singleton);
|
||||||
Py_CLEAR(astmodulestate(module)->Pow_type);
|
Py_CLEAR(astmodulestate(module)->Pow_type);
|
||||||
|
@ -556,8 +552,6 @@ static int astmodule_traverse(PyObject *module, visitproc visit, void* arg)
|
||||||
Py_VISIT(astmodulestate(module)->Not_type);
|
Py_VISIT(astmodulestate(module)->Not_type);
|
||||||
Py_VISIT(astmodulestate(module)->Or_singleton);
|
Py_VISIT(astmodulestate(module)->Or_singleton);
|
||||||
Py_VISIT(astmodulestate(module)->Or_type);
|
Py_VISIT(astmodulestate(module)->Or_type);
|
||||||
Py_VISIT(astmodulestate(module)->Param_singleton);
|
|
||||||
Py_VISIT(astmodulestate(module)->Param_type);
|
|
||||||
Py_VISIT(astmodulestate(module)->Pass_type);
|
Py_VISIT(astmodulestate(module)->Pass_type);
|
||||||
Py_VISIT(astmodulestate(module)->Pow_singleton);
|
Py_VISIT(astmodulestate(module)->Pow_singleton);
|
||||||
Py_VISIT(astmodulestate(module)->Pow_type);
|
Py_VISIT(astmodulestate(module)->Pow_type);
|
||||||
|
@ -1656,11 +1650,6 @@ static int init_types(void)
|
||||||
*)state->AugStore_type, NULL,
|
*)state->AugStore_type, NULL,
|
||||||
NULL);
|
NULL);
|
||||||
if (!state->AugStore_singleton) return 0;
|
if (!state->AugStore_singleton) return 0;
|
||||||
state->Param_type = make_type("Param", state->expr_context_type, NULL, 0);
|
|
||||||
if (!state->Param_type) return 0;
|
|
||||||
state->Param_singleton = PyType_GenericNew((PyTypeObject
|
|
||||||
*)state->Param_type, NULL, NULL);
|
|
||||||
if (!state->Param_singleton) return 0;
|
|
||||||
state->boolop_type = make_type("boolop", state->AST_type, NULL, 0);
|
state->boolop_type = make_type("boolop", state->AST_type, NULL, 0);
|
||||||
if (!state->boolop_type) return 0;
|
if (!state->boolop_type) return 0;
|
||||||
if (!add_attributes(state->boolop_type, NULL, 0)) return 0;
|
if (!add_attributes(state->boolop_type, NULL, 0)) return 0;
|
||||||
|
@ -4474,9 +4463,6 @@ PyObject* ast2obj_expr_context(expr_context_ty o)
|
||||||
case AugStore:
|
case AugStore:
|
||||||
Py_INCREF(astmodulestate_global->AugStore_singleton);
|
Py_INCREF(astmodulestate_global->AugStore_singleton);
|
||||||
return astmodulestate_global->AugStore_singleton;
|
return astmodulestate_global->AugStore_singleton;
|
||||||
case Param:
|
|
||||||
Py_INCREF(astmodulestate_global->Param_singleton);
|
|
||||||
return astmodulestate_global->Param_singleton;
|
|
||||||
default:
|
default:
|
||||||
/* should never happen, but just in case ... */
|
/* should never happen, but just in case ... */
|
||||||
PyErr_Format(PyExc_SystemError, "unknown expr_context found");
|
PyErr_Format(PyExc_SystemError, "unknown expr_context found");
|
||||||
|
@ -8682,14 +8668,6 @@ obj2ast_expr_context(PyObject* obj, expr_context_ty* out, PyArena* arena)
|
||||||
*out = AugStore;
|
*out = AugStore;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
isinstance = PyObject_IsInstance(obj, astmodulestate_global->Param_type);
|
|
||||||
if (isinstance == -1) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (isinstance) {
|
|
||||||
*out = Param;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
PyErr_Format(PyExc_TypeError, "expected some sort of expr_context, but got %R", obj);
|
PyErr_Format(PyExc_TypeError, "expected some sort of expr_context, but got %R", obj);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -10038,10 +10016,6 @@ PyInit__ast(void)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
Py_INCREF(astmodulestate(m)->AugStore_type);
|
Py_INCREF(astmodulestate(m)->AugStore_type);
|
||||||
if (PyModule_AddObject(m, "Param", astmodulestate_global->Param_type) < 0) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
Py_INCREF(astmodulestate(m)->Param_type);
|
|
||||||
if (PyModule_AddObject(m, "boolop", astmodulestate_global->boolop_type) <
|
if (PyModule_AddObject(m, "boolop", astmodulestate_global->boolop_type) <
|
||||||
0) {
|
0) {
|
||||||
goto error;
|
goto error;
|
||||||
|
|
|
@ -75,8 +75,6 @@ expr_context_name(expr_context_ty ctx)
|
||||||
return "AugLoad";
|
return "AugLoad";
|
||||||
case AugStore:
|
case AugStore:
|
||||||
return "AugStore";
|
return "AugStore";
|
||||||
case Param:
|
|
||||||
return "Param";
|
|
||||||
default:
|
default:
|
||||||
Py_UNREACHABLE();
|
Py_UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3579,10 +3579,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
|
||||||
case AugStore:
|
case AugStore:
|
||||||
break;
|
break;
|
||||||
case Del: op = DELETE_DEREF; break;
|
case Del: op = DELETE_DEREF; break;
|
||||||
case Param:
|
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid for deref variable");
|
"expr_context kind %d should not be possible",
|
||||||
|
ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3596,10 +3596,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
|
||||||
case AugLoad:
|
case AugLoad:
|
||||||
case AugStore:
|
case AugStore:
|
||||||
break;
|
break;
|
||||||
case Param:
|
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid for local variable");
|
"expr_context kind %d should not be possible",
|
||||||
|
ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
ADDOP_N(c, op, mangled, varnames);
|
ADDOP_N(c, op, mangled, varnames);
|
||||||
|
@ -3614,10 +3614,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
|
||||||
case AugLoad:
|
case AugLoad:
|
||||||
case AugStore:
|
case AugStore:
|
||||||
break;
|
break;
|
||||||
case Param:
|
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid for global variable");
|
"expr_context kind %d should not be possible",
|
||||||
|
ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3631,10 +3631,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
|
||||||
case AugLoad:
|
case AugLoad:
|
||||||
case AugStore:
|
case AugStore:
|
||||||
break;
|
break;
|
||||||
case Param:
|
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid for name variable");
|
"expr_context kind %d should not be possible",
|
||||||
|
ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5058,10 +5058,10 @@ compiler_visit_expr1(struct compiler *c, expr_ty e)
|
||||||
case Del:
|
case Del:
|
||||||
ADDOP_NAME(c, DELETE_ATTR, e->v.Attribute.attr, names);
|
ADDOP_NAME(c, DELETE_ATTR, e->v.Attribute.attr, names);
|
||||||
break;
|
break;
|
||||||
case Param:
|
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid in attribute expression");
|
"expr_context kind %d should not be possible",
|
||||||
|
e->v.Attribute.ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5359,9 +5359,10 @@ compiler_subscript(struct compiler *c, expr_ty e)
|
||||||
case AugStore:/* fall through to Store */
|
case AugStore:/* fall through to Store */
|
||||||
case Store: op = STORE_SUBSCR; break;
|
case Store: op = STORE_SUBSCR; break;
|
||||||
case Del: op = DELETE_SUBSCR; break;
|
case Del: op = DELETE_SUBSCR; break;
|
||||||
case Param:
|
default:
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_Format(PyExc_SystemError,
|
||||||
"param invalid in subscript expression");
|
"expr_context kind %d should not be possible",
|
||||||
|
ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (ctx == AugStore) {
|
if (ctx == AugStore) {
|
||||||
|
|
Loading…
Reference in New Issue