summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Snow2021-02-16 03:18:05 +0100
committerMarkus Armbruster2021-02-18 19:50:23 +0100
commit5444dedfc723d43fd29e8017e38089aac359c3d1 (patch)
tree3a2ee59a2310951aede339b3cb510d1b3bc0ab11
parentqapi/introspect.py: add type hint annotations (diff)
downloadqemu-5444dedfc723d43fd29e8017e38089aac359c3d1.tar.gz
qemu-5444dedfc723d43fd29e8017e38089aac359c3d1.tar.xz
qemu-5444dedfc723d43fd29e8017e38089aac359c3d1.zip
qapi/introspect.py: Add docstrings to _gen_tree and _tree_to_qlit
Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20210216021809.134886-16-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Doc string improvements squashed in] Signed-off-by: Markus Armbruster <armbru@redhat.com>
-rw-r--r--scripts/qapi/introspect.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py
index 05c1a196e9..15cce6854d 100644
--- a/scripts/qapi/introspect.py
+++ b/scripts/qapi/introspect.py
@@ -100,6 +100,15 @@ class Annotated(Generic[_ValueT]):
def _tree_to_qlit(obj: JSONValue,
level: int = 0,
dict_value: bool = False) -> str:
+ """
+ Convert the type tree into a QLIT C string, recursively.
+
+ :param obj: The value to convert.
+ This value may not be Annotated when dict_value is True.
+ :param level: The indentation level for this particular value.
+ :param dict_value: True when the value being processed belongs to a
+ dict key; which suppresses the output indent.
+ """
def indent(level: int) -> str:
return level * 4 * ' '
@@ -246,6 +255,17 @@ const QLitObject %(c_name)s = %(c_string)s;
def _gen_tree(self, name: str, mtype: str, obj: Dict[str, object],
ifcond: Sequence[str],
features: Optional[List[QAPISchemaFeature]]) -> None:
+ """
+ Build and append a SchemaInfo object to self._trees.
+
+ :param name: The SchemaInfo's name.
+ :param mtype: The SchemaInfo's meta-type.
+ :param obj: Additional SchemaInfo members, as appropriate for
+ the meta-type.
+ :param ifcond: Conditionals to apply to the SchemaInfo.
+ :param features: The SchemaInfo's features.
+ Will be omitted from the output if empty.
+ """
comment: Optional[str] = None
if mtype not in ('command', 'event', 'builtin', 'array'):
if not self._unmask: