qapi/gen: Combine ._add_[user|system]_module
With callers to _add_system_module now explicitly using the './' prefix to indicate a system module, there is no longer any reason to have separate interfaces for adding system vs user modules; use a unified interface that differentiates based on the name. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20210201193747.2169670-10-jsnow@redhat.com>
This commit is contained in:
parent
e2bbc4eaa7
commit
4ab0ff6da0
@ -286,7 +286,7 @@ class QAPISchemaGenCommandVisitor(QAPISchemaModularCVisitor):
|
||||
types=types))
|
||||
|
||||
def visit_end(self) -> None:
|
||||
self._add_system_module('./init', ' * QAPI Commands initialization')
|
||||
self._add_module('./init', ' * QAPI Commands initialization')
|
||||
self._genh.add(mcgen('''
|
||||
#include "qapi/qmp/dispatch.h"
|
||||
|
||||
|
@ -191,7 +191,7 @@ class QAPISchemaGenEventVisitor(QAPISchemaModularCVisitor):
|
||||
types=types))
|
||||
|
||||
def visit_end(self) -> None:
|
||||
self._add_system_module('./emit', ' * QAPI Events emission')
|
||||
self._add_module('./emit', ' * QAPI Events emission')
|
||||
self._genc.preamble_add(mcgen('''
|
||||
#include "qemu/osdep.h"
|
||||
#include "%(prefix)sqapi-emit-events.h"
|
||||
|
@ -272,22 +272,15 @@ class QAPISchemaModularCVisitor(QAPISchemaVisitor):
|
||||
self._module_basename(what, name))
|
||||
|
||||
def _add_module(self, name: str, blurb: str) -> None:
|
||||
if QAPISchemaModule.is_user_module(name):
|
||||
if self._main_module is None:
|
||||
self._main_module = name
|
||||
basename = self._module_filename(self._what, name)
|
||||
genc = QAPIGenC(basename + '.c', blurb, self._pydoc)
|
||||
genh = QAPIGenH(basename + '.h', blurb, self._pydoc)
|
||||
self._module[name] = (genc, genh)
|
||||
self._genc, self._genh = self._module[name]
|
||||
|
||||
def _add_user_module(self, name: str, blurb: str) -> None:
|
||||
assert QAPISchemaModule.is_user_module(name)
|
||||
if self._main_module is None:
|
||||
self._main_module = name
|
||||
self._add_module(name, blurb)
|
||||
|
||||
def _add_system_module(self, name: str, blurb: str) -> None:
|
||||
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:
|
||||
if QAPISchemaModule.is_builtin_module(name) and not opt_builtins:
|
||||
@ -305,7 +298,7 @@ class QAPISchemaModularCVisitor(QAPISchemaVisitor):
|
||||
def visit_module(self, name: str) -> None:
|
||||
if QAPISchemaModule.is_builtin_module(name):
|
||||
if self._builtin_blurb:
|
||||
self._add_system_module(name, self._builtin_blurb)
|
||||
self._add_module(name, self._builtin_blurb)
|
||||
self._begin_builtin_module()
|
||||
else:
|
||||
# The built-in module has not been created. No code may
|
||||
@ -314,7 +307,7 @@ class QAPISchemaModularCVisitor(QAPISchemaVisitor):
|
||||
self._genh = None
|
||||
else:
|
||||
assert QAPISchemaModule.is_user_module(name)
|
||||
self._add_user_module(name, self._user_blurb)
|
||||
self._add_module(name, self._user_blurb)
|
||||
self._begin_user_module(name)
|
||||
|
||||
def visit_include(self, name: str, info: QAPISourceInfo) -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user