Commit c3e67e03 authored by gsamain's avatar gsamain

Generate acthon classes before attrs destruction method

(this way the compiler can understand the active self argument inherits from CyObject,
before trying to decref it in attr destruction handler)
parent 5e7c4cd1
...@@ -820,11 +820,12 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): ...@@ -820,11 +820,12 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
def generate_cyp_class_deferred_definitions(self, type_entries, code): def generate_cyp_class_deferred_definitions(self, type_entries, code):
for entry in type_entries: for entry in type_entries:
if entry.type.is_cyp_class: if entry.type.is_cyp_class:
# Generate cypclass attr destructor
self.generate_cyp_class_attrs_destructor_definition(entry, code)
# Generate acthon-specific classes # Generate acthon-specific classes
self.generate_cyp_class_reifying_entries(entry, code)
self.generate_cyp_class_activated_class(entry, code) self.generate_cyp_class_activated_class(entry, code)
self.generate_cyp_class_activate_function(entry, code) self.generate_cyp_class_activate_function(entry, code)
# Generate cypclass attr destructor
self.generate_cyp_class_attrs_destructor_definition(entry, code)
# Generate wrapper constructor # Generate wrapper constructor
scope = entry.type.scope scope = entry.type.scope
wrapper = scope.lookup_here("<constructor>") wrapper = scope.lookup_here("<constructor>")
......
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