John Snow <js...@redhat.com> writes: > Use ./emit and ./init explicitly instead of "emit" and "init" and adding > the prefix based on the specific method called, which later allows us to > coalesce the two different methods into one.
"Bandwurmsatz" (literally "tapeworm sentence"). Perhaps something like: QAPISchemaModularCVisitor._add_system_module() prefixes './' to its name argument to make it a module name. Pass the module name instead. This will allow us to coalesce the methods to add modules later on. Happy to tweak the commit message in my tree. > Signed-off-by: John Snow <js...@redhat.com> > --- > scripts/qapi/commands.py | 2 +- > scripts/qapi/events.py | 2 +- > scripts/qapi/gen.py | 3 ++- > 3 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py > index 71744f48a35..fc5fe27c472 100644 > --- a/scripts/qapi/commands.py > +++ b/scripts/qapi/commands.py > @@ -286,7 +286,7 @@ def _begin_user_module(self, name: str) -> None: > types=types)) > > def visit_end(self) -> None: > - self._add_system_module('init', ' * QAPI Commands initialization') > + self._add_system_module('./init', ' * QAPI Commands initialization') > self._genh.add(mcgen(''' > #include "qapi/qmp/dispatch.h" > > diff --git a/scripts/qapi/events.py b/scripts/qapi/events.py > index 9851653b9d1..26faa829898 100644 > --- a/scripts/qapi/events.py > +++ b/scripts/qapi/events.py > @@ -191,7 +191,7 @@ def _begin_user_module(self, name: str) -> None: > types=types)) > > def visit_end(self) -> None: > - self._add_system_module('emit', ' * QAPI Events emission') > + self._add_system_module('./emit', ' * QAPI Events emission') > self._genc.preamble_add(mcgen(''' > #include "qemu/osdep.h" > #include "%(prefix)sqapi-emit-events.h" > diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py > index aaed78eed5e..da9d4d2d373 100644 > --- a/scripts/qapi/gen.py > +++ b/scripts/qapi/gen.py > @@ -285,7 +285,8 @@ def _add_user_module(self, name: str, blurb: str) -> None: > self._add_module(name, blurb) > > def _add_system_module(self, name: Optional[str], blurb: str) -> None: > - self._add_module(name and './' + name, blurb) > + assert QAPISchemaModule.is_system_module(name) > + self._add_module(name, blurb) > > def write(self, output_dir: str, opt_builtins: bool = False) -> None: > for name in self._module: