[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
- [PATCH 09/25] qapi/schema.py: remove superfluous assert, (continued)
- [PATCH 09/25] qapi/schema.py: remove superfluous assert, John Snow, 2020/09/22
- [PATCH 07/25] qapi/schema.py: constrain tag_member type, John Snow, 2020/09/22
- [PATCH 14/25] qapi/schema.py: Assert variants of an object are also objects, John Snow, 2020/09/22
- [PATCH 10/25] qapi/schema.py: Add assertion to ifcond property, John Snow, 2020/09/22
- [PATCH 21/25] qapi/schema.py: disable pylint line limit, John Snow, 2020/09/22
- [PATCH 12/25] qapi/schema.py: remove 'and' from non-bool rvalue expressions, John Snow, 2020/09/22
- [PATCH 11/25] qapi/schema.py: Constrain type of QAPISchemaObjectType members field, John Snow, 2020/09/22
- [PATCH 08/25] qapi/schema.py: Allow alternate_type to assert, John Snow, 2020/09/22
- [PATCH 13/25] qapi/schema.py: Test type of self.ret_type instead of local temp, John Snow, 2020/09/22
- [PATCH 16/25] qapi/schema.py: enable checking, John Snow, 2020/09/22
- [PATCH 24/25] qapi/schema.py: Add module docstring,
John Snow <=
- [PATCH 20/25] qapi/schema.py: Replace one-letter variable names, John Snow, 2020/09/22
- [PATCH 18/25] qapi/schema.py: Add pylint warning suppressions, John Snow, 2020/09/22
- [PATCH 25/25] qapi/schema.py: Use python3 style super(), John Snow, 2020/09/22
- [PATCH 23/25] qapi/schema.py: enable pylint checks, John Snow, 2020/09/22
- [PATCH 19/25] qapi/schema.py: Convert several methods to classmethods, John Snow, 2020/09/22
- [PATCH 15/25] qapi/schema.py: add type hint annotations, John Snow, 2020/09/22
- [PATCH 22/25] qapi/schema.py: Ignore unused argument for check(), John Snow, 2020/09/22
- [PATCH 17/25] qapi: Disable similarity checks in pylint entirely, John Snow, 2020/09/22