aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2024-03-15 16:23:01 +0100
committerMarkus Armbruster <armbru@redhat.com>2024-04-24 10:03:54 +0200
commit060b5a9323e5f49c5edcb77c42e231065bbcc42e (patch)
tree955e724b239a428c909687ccd870838d686e6df6
parent99e75d8c2a9fd13e8a2c0eb0718359b06445d38b (diff)
qapi: Dumb down QAPISchema.lookup_entity()
QAPISchema.lookup_entity() takes an optional type argument, a subtype of QAPISchemaDefinition, and returns that type or None. Callers can use this to save themselves an isinstance() test. The only remaining user of this convenience feature is .lookup_type(). But we don't actually save anything anymore there: we still need the isinstance() to help mypy over the hump. Drop the .lookup_entity() argument, and adjust .lookup_type(). Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20240315152301.3621858-26-armbru@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> [Commit message typo fixed]
-rw-r--r--scripts/qapi/schema.py18
1 files changed, 6 insertions, 12 deletions
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index a6180f93c6..5924947fc3 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -1157,20 +1157,14 @@ class QAPISchema:
defn.info, "%s is already defined" % other_defn.describe())
self._entity_dict[defn.name] = defn
- def lookup_entity(
- self,
- name: str,
- typ: Optional[type] = None,
- ) -> Optional[QAPISchemaDefinition]:
- ent = self._entity_dict.get(name)
- if typ and not isinstance(ent, typ):
- return None
- return ent
+ def lookup_entity(self,name: str) -> Optional[QAPISchemaEntity]:
+ return self._entity_dict.get(name)
def lookup_type(self, name: str) -> Optional[QAPISchemaType]:
- typ = self.lookup_entity(name, QAPISchemaType)
- assert typ is None or isinstance(typ, QAPISchemaType)
- return typ
+ typ = self.lookup_entity(name)
+ if isinstance(typ, QAPISchemaType):
+ return typ
+ return None
def resolve_type(
self,