Add some microdocumentation that gives a nice file-level overview of this 1300+ line file.
Signed-off-by: John Snow <js...@redhat.com> --- scripts/qapi/schema.py | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index 6ecbc2aa6b..baafe3babf 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -1,7 +1,37 @@ # -*- coding: utf-8 -*- -# -# QAPI schema internal representation -# +""" +QAPI Schema internal representation. + +The `QAPISchema` represents the fully realized QAPI schema. It builds a +listing of `QAPISchemaEntity` objects that are each associated with a +`QAPISchemaModule`. + +`QAPISchemaMember` represents a single member of a collection of +members, see the subclasses thereof for users. `QAPISchemaVariants` is a +simple collection of `QAPISchemaVariant`. + +The `QAPISchemaVisitor` can be extended and passed to QAPISchema.visit +to iterate over a schema and perform code generation tasks. + +The Python class hierarchy at a glance: + +`QAPISchemaEntity` + `QAPISchemaInclude` + `QAPISchemaCommand` + `QAPISchemaEvent` + `QAPISchemaType` + `QAPISchemaBuiltinType` + `QAPISchemaEnumType` + `QAPISchemaArrayType` + `QAPISchemaObjectType` + `QAPISchemaAlternateType` + +`QAPISchemaMember` + `QAPISchemaEnumMember` + `QAPISchemaFeature` + `QAPISchemaObjectTypeMember` + `QAPISchemaVariant` +""" # Copyright (c) 2015-2019 Red Hat Inc. # # Authors: -- 2.26.2