Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions Include/internal/pycore_compile.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
5 changes: 2 additions & 3 deletions Python/codegen.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
Expand Down
11 changes: 3 additions & 8 deletions Python/compile.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading