[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 10/16] qapi: centralize the built-in module name definition
From: |
John Snow |
Subject: |
[PATCH v4 10/16] qapi: centralize the built-in module name definition |
Date: |
Mon, 1 Feb 2021 14:37:41 -0500 |
Use a constant to make it obvious we're referring to a very specific thing.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/schema.py | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 14cf9da7842..353e8020a27 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -68,7 +68,7 @@ def check_doc(self):
def _set_module(self, schema, info):
assert self._checked
- fname = info.fname if info else './builtin'
+ fname = info.fname if info else QAPISchemaModule.BUILTIN_MODULE_NAME
self._module = schema.module_by_fname(fname)
self._module.add_entity(self)
@@ -138,6 +138,9 @@ def visit_event(self, name, info, ifcond, features,
arg_type, boxed):
class QAPISchemaModule:
+
+ BUILTIN_MODULE_NAME = './builtin'
+
def __init__(self, name):
self.name = name
self._entity_list = []
@@ -160,14 +163,14 @@ def is_user_module(cls, name: str) -> bool:
"""
return not cls.is_system_module(name)
- @staticmethod
- def is_builtin_module(name: str) -> bool:
+ @classmethod
+ def is_builtin_module(cls, name: str) -> bool:
"""
The built-in module is a single System module for the built-in types.
It is always "./builtin".
"""
- return name == './builtin'
+ return name == cls.BUILTIN_MODULE_NAME
def add_entity(self, ent):
self._entity_list.append(ent)
@@ -853,7 +856,7 @@ def __init__(self, fname):
self._entity_dict = {}
self._module_dict = OrderedDict()
self._schema_dir = os.path.dirname(fname)
- self._make_module('./builtin')
+ self._make_module(QAPISchemaModule.BUILTIN_MODULE_NAME)
self._make_module(fname)
self._predefining = True
self._def_predefineds()
--
2.29.2
- [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
- [PATCH v4 10/16] qapi: centralize the built-in module name definition,
John Snow <=
- [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
- [PATCH v4 16/16] qapi: enable strict-optional checks, John Snow, 2021/02/01
- [PATCH v4 15/16] qapi: type 'info' as Optional[QAPISourceInfo], John Snow, 2021/02/01