mirror of
https://github.com/python/cpython.git
synced 2025-07-19 01:05:26 +00:00
Fix arigo's funky LOAD_NAME bug: implicit globals inside classes have
historically been looked up using LOAD_NAME, not LOAD_GLOBAL. looked up by LOAD_NAME, not
This commit is contained in:
parent
ac699efad8
commit
d403c45386
2 changed files with 11 additions and 1 deletions
|
@ -2731,7 +2731,8 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
|
|||
optype = OP_FAST;
|
||||
break;
|
||||
case GLOBAL_IMPLICIT:
|
||||
if (!c->u->u_ste->ste_unoptimized)
|
||||
if (c->u->u_ste->ste_type == FunctionBlock &&
|
||||
!c->u->u_ste->ste_unoptimized)
|
||||
optype = OP_GLOBAL;
|
||||
break;
|
||||
case GLOBAL_EXPLICIT:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue