summaryrefslogtreecommitdiffstatshomepage
path: root/py/emitcommon.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/emitcommon.c')
-rw-r--r--py/emitcommon.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/py/emitcommon.c b/py/emitcommon.c
index 7eda5e05fd..1fd2bd1dc1 100644
--- a/py/emitcommon.c
+++ b/py/emitcommon.c
@@ -33,28 +33,12 @@ void mp_emit_common_get_id_for_load(scope_t *scope, qstr qst) {
bool added;
id_info_t *id = scope_find_or_add_id(scope, qst, &added);
if (added) {
-#if MICROPY_EMIT_CPYTHON
- if (qst == MP_QSTR_super && scope->kind == SCOPE_FUNCTION) {
- // special case, super is a global, and also counts as use of __class__
- id->kind = ID_INFO_KIND_GLOBAL_EXPLICIT;
- id_info_t *id2 = scope_find_local_in_parent(scope, MP_QSTR___class__);
- if (id2 != NULL) {
- id2 = scope_find_or_add_id(scope, MP_QSTR___class__, &added);
- if (added) {
- id2->kind = ID_INFO_KIND_FREE;
- scope_close_over_in_parents(scope, MP_QSTR___class__);
- }
- }
- } else
-#endif
- {
- id_info_t *id2 = scope_find_local_in_parent(scope, qst);
- if (id2 != NULL && (id2->kind == ID_INFO_KIND_LOCAL || id2->kind == ID_INFO_KIND_CELL || id2->kind == ID_INFO_KIND_FREE)) {
- id->kind = ID_INFO_KIND_FREE;
- scope_close_over_in_parents(scope, qst);
- } else {
- id->kind = ID_INFO_KIND_GLOBAL_IMPLICIT;
- }
+ id_info_t *id2 = scope_find_local_in_parent(scope, qst);
+ if (id2 != NULL && (id2->kind == ID_INFO_KIND_LOCAL || id2->kind == ID_INFO_KIND_CELL || id2->kind == ID_INFO_KIND_FREE)) {
+ id->kind = ID_INFO_KIND_FREE;
+ scope_close_over_in_parents(scope, qst);
+ } else {
+ id->kind = ID_INFO_KIND_GLOBAL_IMPLICIT;
}
}
}