mirror of https://github.com/xemu-project/xemu.git
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]
This commit is contained in:
parent
99e75d8c2a
commit
060b5a9323
|
@ -1157,20 +1157,14 @@ class QAPISchema:
|
||||||
defn.info, "%s is already defined" % other_defn.describe())
|
defn.info, "%s is already defined" % other_defn.describe())
|
||||||
self._entity_dict[defn.name] = defn
|
self._entity_dict[defn.name] = defn
|
||||||
|
|
||||||
def lookup_entity(
|
def lookup_entity(self,name: str) -> Optional[QAPISchemaEntity]:
|
||||||
self,
|
return self._entity_dict.get(name)
|
||||||
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_type(self, name: str) -> Optional[QAPISchemaType]:
|
def lookup_type(self, name: str) -> Optional[QAPISchemaType]:
|
||||||
typ = self.lookup_entity(name, QAPISchemaType)
|
typ = self.lookup_entity(name)
|
||||||
assert typ is None or isinstance(typ, QAPISchemaType)
|
if isinstance(typ, QAPISchemaType):
|
||||||
return typ
|
return typ
|
||||||
|
return None
|
||||||
|
|
||||||
def resolve_type(
|
def resolve_type(
|
||||||
self,
|
self,
|
||||||
|
|
Loading…
Reference in New Issue