[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 07/16] qapi: use explicitly internal module names
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v4 07/16] qapi: use explicitly internal module names |
Date: |
Tue, 02 Feb 2021 10:16:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
John Snow <jsnow@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 <jsnow@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:
- [PATCH v4 00/16] qapi: static typing conversion, pt1.5, John Snow, 2021/02/01
- [PATCH v4 04/16] qapi/gen: inline _wrap_ifcond into end_if(), John Snow, 2021/02/01
- [PATCH v4 03/16] qapi/main: handle theoretical None-return from re.match(), John Snow, 2021/02/01
- [PATCH v4 02/16] qapi/events: fix visit_event typing, John Snow, 2021/02/01
- [PATCH v4 01/16] qapi/commands: assert arg_type is not None, John Snow, 2021/02/01
- [PATCH v4 06/16] qapi/gen: Replace ._begin_system_module(), John Snow, 2021/02/01
- [PATCH v4 07/16] qapi: use explicitly internal module names, John Snow, 2021/02/01
- Re: [PATCH v4 07/16] qapi: use explicitly internal module names,
Markus Armbruster <=
- [PATCH v4 10/16] qapi: centralize the built-in module name definition, John Snow, 2021/02/01
- [PATCH v4 09/16] qapi/gen: Combine ._add_[user|system]_module, John Snow, 2021/02/01
- [PATCH v4 12/16] qapi/gen: Support for switching to another module temporarily, John Snow, 2021/02/01
- [PATCH v4 11/16] qapi/gen: write _genc/_genh access shims, John Snow, 2021/02/01
- [PATCH v4 13/16] qapi/commands: Simplify command registry generation, John Snow, 2021/02/01
- [PATCH v4 14/16] qapi/gen: Drop support for QAPIGen without a file name, John Snow, 2021/02/01
- [PATCH v4 05/16] qapi: centralize is_[user|system|builtin]_module methods, John Snow, 2021/02/01