diff options
author | John Snow <jsnow@redhat.com> | 2021-02-15 21:18:05 -0500 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2021-02-18 19:50:23 +0100 |
commit | 5444dedfc723d43fd29e8017e38089aac359c3d1 (patch) | |
tree | 3a2ee59a2310951aede339b3cb510d1b3bc0ab11 /scripts/qapi/introspect.py | |
parent | 82b52f6b84585f1ea2a6ceb9fc0f264e3b13ed48 (diff) | |
download | qemu-5444dedfc723d43fd29e8017e38089aac359c3d1.zip qemu-5444dedfc723d43fd29e8017e38089aac359c3d1.tar.gz qemu-5444dedfc723d43fd29e8017e38089aac359c3d1.tar.bz2 |
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>
Diffstat (limited to 'scripts/qapi/introspect.py')
-rw-r--r-- | scripts/qapi/introspect.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index 05c1a19..15cce68 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: |