From d8ec6b7721ca3d632adf4dcf4e7a12933e075bed Mon Sep 17 00:00:00 2001 From: Giacomo Vercesi Date: Tue, 15 Jul 2025 17:14:56 +0200 Subject: [PATCH] revng.model: add `serialize()` to all TTG types --- python/revng/model/__init__.py | 6 ------ .../templates/tuple_tree_gen.py.tpl | 10 +++++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/python/revng/model/__init__.py b/python/revng/model/__init__.py index 917f6ac1c..06901fdc5 100644 --- a/python/revng/model/__init__.py +++ b/python/revng/model/__init__.py @@ -33,12 +33,6 @@ class Binary(_generated.Binary): _fix_references(obj) return obj - def serialize(self, output: Optional[TextIOBase] = None): - if output is None: - return yaml.dump(self, Dumper=YamlDumper) - else: - return yaml.dump(self, output, Dumper=YamlDumper) - class DiffSet(TTDiffSet[Binary]): @staticmethod diff --git a/scripts/tuple_tree_generator/templates/tuple_tree_gen.py.tpl b/scripts/tuple_tree_generator/templates/tuple_tree_gen.py.tpl index 5da0a9a81..f2fc89fc5 100644 --- a/scripts/tuple_tree_generator/templates/tuple_tree_gen.py.tpl +++ b/scripts/tuple_tree_generator/templates/tuple_tree_gen.py.tpl @@ -6,7 +6,10 @@ import random import sys from dataclasses import dataclass, field -from typing import ClassVar +from io import TextIOBase +from typing import ClassVar, Optional + +import yaml from revng.tupletree import ( EnumBase, @@ -146,6 +149,11 @@ class #{ struct.name }#( return #{ struct | gen_key }# ## endif ## + def serialize(self, output: Optional[TextIOBase] = None): + if output is None: + return yaml.dump(self, Dumper=YamlDumper) + else: + return yaml.dump(self, output, Dumper=YamlDumper) ## endfor ## ## for struct in structs ##