qapi: centralize the built-in module name definition

Use a constant to make it obvious we're referring to a very specific thing.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210201193747.2169670-11-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
John Snow 2021-02-01 14:37:41 -05:00 committed by Markus Armbruster
parent 4ab0ff6da0
commit 39b2d838f1

View File

@ -68,7 +68,7 @@ class QAPISchemaEntity:
def _set_module(self, schema, info): def _set_module(self, schema, info):
assert self._checked 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 = schema.module_by_fname(fname)
self._module.add_entity(self) self._module.add_entity(self)
@ -138,6 +138,9 @@ class QAPISchemaVisitor:
class QAPISchemaModule: class QAPISchemaModule:
BUILTIN_MODULE_NAME = './builtin'
def __init__(self, name): def __init__(self, name):
self.name = name self.name = name
self._entity_list = [] self._entity_list = []
@ -160,14 +163,14 @@ class QAPISchemaModule:
""" """
return not cls.is_system_module(name) return not cls.is_system_module(name)
@staticmethod @classmethod
def is_builtin_module(name: str) -> bool: def is_builtin_module(cls, name: str) -> bool:
""" """
The built-in module is a single System module for the built-in types. The built-in module is a single System module for the built-in types.
It is always "./builtin". It is always "./builtin".
""" """
return name == './builtin' return name == cls.BUILTIN_MODULE_NAME
def add_entity(self, ent): def add_entity(self, ent):
self._entity_list.append(ent) self._entity_list.append(ent)
@ -853,7 +856,7 @@ class QAPISchema:
self._entity_dict = {} self._entity_dict = {}
self._module_dict = OrderedDict() self._module_dict = OrderedDict()
self._schema_dir = os.path.dirname(fname) self._schema_dir = os.path.dirname(fname)
self._make_module('./builtin') self._make_module(QAPISchemaModule.BUILTIN_MODULE_NAME)
self._make_module(fname) self._make_module(fname)
self._predefining = True self._predefining = True
self._def_predefineds() self._def_predefineds()