qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 24/25] qapi/schema.py: Add module docstring


From: John Snow
Subject: [PATCH 24/25] qapi/schema.py: Add module docstring
Date: Tue, 22 Sep 2020 18:45:00 -0400

Add some microdocumentation that gives a nice file-level overview of
this 1300+ line file.

Signed-off-by: John Snow <jsnow@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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]