py: Fix bug in compiler for empty class bases.
Eg class A(): pass would fail an assertion.
This commit is contained in:
parent
0997af932f
commit
804760bfca
|
@ -955,8 +955,13 @@ qstr compile_classdef_helper(compiler_t *comp, mp_parse_node_struct_t *pns, uint
|
||||||
EMIT_ARG(load_const_id, cscope->simple_name);
|
EMIT_ARG(load_const_id, cscope->simple_name);
|
||||||
|
|
||||||
// nodes[1] has parent classes, if any
|
// nodes[1] has parent classes, if any
|
||||||
|
// empty parenthesis (eg class C():) gets here as an empty PN_classdef_2 and needs special handling
|
||||||
|
mp_parse_node_t parents = pns->nodes[1];
|
||||||
|
if (MP_PARSE_NODE_IS_STRUCT_KIND(parents, PN_classdef_2)) {
|
||||||
|
parents = MP_PARSE_NODE_NULL;
|
||||||
|
}
|
||||||
comp->func_arg_is_super = false;
|
comp->func_arg_is_super = false;
|
||||||
compile_trailer_paren_helper(comp, pns->nodes[1], false, 2);
|
compile_trailer_paren_helper(comp, parents, false, 2);
|
||||||
|
|
||||||
// return its name (the 'C' in class C(...):")
|
// return its name (the 'C' in class C(...):")
|
||||||
return cscope->simple_name;
|
return cscope->simple_name;
|
||||||
|
|
Loading…
Reference in New Issue