gh-124058: remove _PyCompile_IsNestedScope, roll it into _PyCompile_IsInteractive (#124061)

This commit is contained in:
Irit Katriel 2024-09-16 14:58:18 +01:00 committed by GitHub
parent 453da532fe
commit 9aa1f60e2d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 13 deletions

View File

@ -133,8 +133,7 @@ int _PyCompile_LookupCellvar(struct _PyCompiler *c, PyObject *name);
int _PyCompile_ResolveNameop(struct _PyCompiler *c, PyObject *mangled, int scope,
_PyCompile_optype *optype, Py_ssize_t *arg);
int _PyCompile_IsInteractive(struct _PyCompiler *c);
int _PyCompile_IsNestedScope(struct _PyCompiler *c);
int _PyCompile_IsInteractiveTopLevel(struct _PyCompiler *c);
int _PyCompile_IsInInlinedComp(struct _PyCompiler *c);
int _PyCompile_ScopeType(struct _PyCompiler *c);
int _PyCompile_OptimizationLevel(struct _PyCompiler *c);

View File

@ -70,8 +70,7 @@ typedef struct _PyCompiler compiler;
#define SYMTABLE(C) _PyCompile_Symtable(C)
#define SYMTABLE_ENTRY(C) _PyCompile_SymtableEntry(C)
#define OPTIMIZATION_LEVEL(C) _PyCompile_OptimizationLevel(C)
#define IS_INTERACTIVE(C) _PyCompile_IsInteractive(C)
#define IS_NESTED_SCOPE(C) _PyCompile_IsNestedScope(C)
#define IS_INTERACTIVE_TOP_LEVEL(C) _PyCompile_IsInteractiveTopLevel(C)
#define SCOPE_TYPE(C) _PyCompile_ScopeType(C)
#define QUALNAME(C) _PyCompile_Qualname(C)
#define METADATA(C) _PyCompile_Metadata(C)
@ -2823,7 +2822,7 @@ codegen_assert(compiler *c, stmt_ty s)
static int
codegen_stmt_expr(compiler *c, location loc, expr_ty value)
{
if (IS_INTERACTIVE(c) && !IS_NESTED_SCOPE(c)) {
if (IS_INTERACTIVE_TOP_LEVEL(c)) {
VISIT(c, expr, value);
ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_PRINT);
ADDOP(c, NO_LOCATION, POP_TOP);

View File

@ -1204,17 +1204,12 @@ _PyCompile_OptimizationLevel(compiler *c)
}
int
_PyCompile_IsInteractive(compiler *c)
{
return c->c_interactive;
}
int
_PyCompile_IsNestedScope(compiler *c)
_PyCompile_IsInteractiveTopLevel(compiler *c)
{
assert(c->c_stack != NULL);
assert(PyList_CheckExact(c->c_stack));
return PyList_GET_SIZE(c->c_stack) > 0;
bool is_nested_scope = PyList_GET_SIZE(c->c_stack) > 0;
return c->c_interactive && !is_nested_scope;
}
int