Separate output into its own module

This commit is contained in:
James Westman 2022-10-14 21:04:37 -05:00
parent 8cf793023d
commit a24f16109f
No known key found for this signature in database
GPG key ID: CE2DBA0ADB654EA6
33 changed files with 407 additions and 291 deletions

View file

@ -40,6 +40,30 @@ class Signal(AstNode):
)),
)
@property
def name(self) -> str:
return self.tokens["name"]
@property
def detail_name(self) -> str | None:
return self.tokens["detail_name"]
@property
def handler(self) -> str:
return self.tokens["handler"]
@property
def object_id(self) -> str | None:
return self.tokens["object"]
@property
def is_swapped(self) -> bool:
return self.tokens["swapped"] or False
@property
def is_after(self) -> bool:
return self.tokens["after"] or False
@property
def gir_signal(self):
@ -89,19 +113,6 @@ class Signal(AstNode):
return self.gir_signal.doc
def emit_xml(self, xml: XmlEmitter):
name = self.tokens["name"]
if self.tokens["detail_name"]:
name += "::" + self.tokens["detail_name"]
xml.put_self_closing(
"signal",
name=name,
handler=self.tokens["handler"],
swapped="true" if self.tokens["swapped"] else None,
object=self.tokens["object"]
)
@decompiler("signal")
def decompile_signal(ctx, gir, name, handler, swapped="false", object=None):
object_name = object or ""