signals: Support after keyword

This commit is contained in:
Gregor Niehl 2024-05-30 22:34:05 +00:00 committed by James Westman
parent 07e824d8e7
commit 25d08e56cb
4 changed files with 14 additions and 6 deletions

View file

@ -166,11 +166,18 @@ class Signal(AstNode):
@decompiler("signal")
def decompile_signal(ctx, gir, name, handler, swapped="false", object=None):
def decompile_signal(
ctx, gir, name, handler, swapped="false", after="false", object=None
):
object_name = object or ""
name = name.replace("_", "-")
line = f"{name} => ${handler}({object_name})"
if decompile.truthy(swapped):
ctx.print(f"{name} => ${handler}({object_name}) swapped;")
else:
ctx.print(f"{name} => ${handler}({object_name});")
line += " swapped"
if decompile.truthy(after):
line += " after"
line += ";"
ctx.print(line)
return gir

View file

@ -161,6 +161,7 @@ class XmlOutput(OutputFormat):
name=name,
handler=signal.handler,
swapped=signal.is_swapped or None,
after=signal.is_after or None,
object=(
self._object_id(signal, signal.object_id) if signal.object_id else None
),