John Snow <js...@redhat.com> writes: > Signed-off-by: John Snow <js...@redhat.com> > --- > scripts/qapi/introspect.py | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py > index 45284af1330..5d4f5e23f7e 100644 > --- a/scripts/qapi/introspect.py > +++ b/scripts/qapi/introspect.py > @@ -99,6 +99,15 @@ def __init__(self, value: _ValueT, ifcond: Iterable[str], > 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 * ' ' > @@ -244,6 +253,15 @@ def _gen_features(features: List[QAPISchemaFeature] > 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 entity's name. > + :param mtype: The entity's meta-type. > + :param obj: Additional entity fields, as appropriate for the > meta-type.
"Additional members", since we're talking about a JSON object. > + :param ifcond: Sequence of conditionals that apply to this entity. > + :param features: Optional features field for SchemaInfo. Likewise. Sure we want to restate parts of the type ("Sequence of", "Optional") in the doc string? > + """ > comment: Optional[str] = None > if mtype not in ('command', 'event', 'builtin', 'array'): > if not self._unmask: Also: more line-wrapping for PEP 8.