decompiler: Fix bug in signals with template object

If a signal handler had the template as its object, the decompiler would
output the class name instead of the 'template' keyword.
This commit is contained in:
James Westman 2025-05-03 07:46:34 -05:00
parent a12d3f5c81
commit 2e42dc6848
No known key found for this signature in database
GPG key ID: CE2DBA0ADB654EA6
4 changed files with 31 additions and 1 deletions

View file

@ -225,8 +225,14 @@ class Signal(AstNode):
@decompiler("signal")
def decompile_signal(ctx, gir, name, handler, swapped=None, after="false", object=None):
def decompile_signal(
ctx: DecompileCtx, gir, name, handler, swapped=None, after="false", object=None
):
object_name = object or ""
if object_name == ctx.template_class:
object_name = "template"
name = name.replace("_", "-")
line = f"{name} => ${handler}({object_name})"