Commit 05eaf035 authored by gsamain's avatar gsamain

cypclass attr destructor handler: only care about not-inherited attrs, as C++ will chain dtor calls

parent a85ae76e
...@@ -934,7 +934,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): ...@@ -934,7 +934,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
self.generate_cyp_class_deferred_definitions(scope.sue_entries, code) self.generate_cyp_class_deferred_definitions(scope.sue_entries, code)
py_attrs = [e for e in scope.entries.values() py_attrs = [e for e in scope.entries.values()
if e.type.is_pyobject and not e.is_inherited] if e.type.is_pyobject and not e.is_inherited]
cypclass_attrs = [e for e in scope.var_entries + scope.inherited_var_entries cypclass_attrs = [e for e in scope.var_entries
if e.type.is_cyp_class and not e.name == "this" if e.type.is_cyp_class and not e.name == "this"
and not e.is_type] and not e.is_type]
has_virtual_methods = False has_virtual_methods = False
...@@ -1064,7 +1064,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): ...@@ -1064,7 +1064,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
def generate_cyp_class_attrs_destructor_definition(self, entry, code): def generate_cyp_class_attrs_destructor_definition(self, entry, code):
scope = entry.type.scope scope = entry.type.scope
cypclass_attrs = [e for e in scope.var_entries + scope.inherited_var_entries cypclass_attrs = [e for e in scope.var_entries
if e.type.is_cyp_class and not e.name == "this" if e.type.is_cyp_class and not e.name == "this"
and not e.is_type] and not e.is_type]
if cypclass_attrs: if cypclass_attrs:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment