qemu/tests/qapi-schema/doc-good.out
Markus Armbruster dcac64711e qapi: Clean up modular built-in code generation a bit
We neglect to call .visit_module() for the special module we use for
built-ins.  Harmless, but clean it up anyway.  The
tests/qapi-schema/*.out now show the built-in module as 'module None'.

Subclasses of QAPISchemaModularCVisitor need to ._add_module() this
special module to enable code generation for built-ins.  When this
hasn't been done, QAPISchemaModularCVisitor.visit_module() does
nothing for the special module.  That looks like built-ins could
accidentally be generated into the wrong module when a subclass
neglects to call ._add_module().  Can't happen, because built-ins are
all visited before any other module.  But that's non-obvious.  Switch
off code generation explicitly.

Rename QAPISchemaModularCVisitor._begin_module() to
._begin_user_module().

New QAPISchemaModularCVisitor._is_builtin_module(), for clarity.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20190214152251.2073-4-armbru@redhat.com>
2019-02-18 14:44:04 +01:00

168 lines
2.6 KiB
Plaintext

module None
object q_empty
enum QType
prefix QTYPE
member none
member qnull
member qnum
member qstring
member qdict
member qlist
member qbool
module doc-good.json
enum Enum
member one
if ['defined(IFONE)']
member two
if ['defined(IFCOND)']
object Base
member base1: Enum optional=False
object Variant1
member var1: str optional=False
if ['defined(IFSTR)']
object Variant2
object Object
base Base
tag base1
case one: Variant1
case two: Variant2
if ['IFTWO']
object q_obj_Variant1-wrapper
member data: Variant1 optional=False
object q_obj_Variant2-wrapper
member data: Variant2 optional=False
enum SugaredUnionKind
member one
member two
if ['IFTWO']
object SugaredUnion
member type: SugaredUnionKind optional=False
tag type
case one: q_obj_Variant1-wrapper
case two: q_obj_Variant2-wrapper
if ['IFTWO']
object q_obj_cmd-arg
member arg1: int optional=False
member arg2: str optional=True
member arg3: bool optional=False
command cmd q_obj_cmd-arg -> Object
gen=True success_response=True boxed=False oob=False preconfig=False
command cmd-boxed Object -> None
gen=True success_response=True boxed=True oob=False preconfig=False
doc freeform
body=
= Section
== Subsection
*strong* _with emphasis_
@var {in braces}
* List item one
- Two, multiple
lines
3. Three
Still in list
Not in list
- Second list
Note: still in list
Note: not in list
1. Third list
is numbered
- another item
| example
| multiple lines
Returns: the King
Since: the first age
Notes:
1. Lorem ipsum dolor sit amet
2. Ut enim ad minim veniam
Duis aute irure dolor
Example:
-> in
<- out
Examples:
- *verbatim*
- {braces}
doc symbol=Enum
body=
arg=one
The _one_ {and only}
arg=two
section=None
@two is undocumented
doc symbol=Base
body=
arg=base1
the first member
doc symbol=Variant1
body=
A paragraph
Another paragraph (but no @var: line)
arg=var1
doc symbol=Variant2
body=
doc symbol=Object
body=
doc symbol=SugaredUnion
body=
arg=type
doc freeform
body=
== Another subsection
doc symbol=cmd
body=
arg=arg1
the first argument
arg=arg2
the second
argument
arg=arg3
section=Note
@arg3 is undocumented
section=Returns
@Object
section=TODO
frobnicate
section=Notes
- Lorem ipsum dolor sit amet
- Ut enim ad minim veniam
Duis aute irure dolor
section=Example
-> in
<- out
section=Examples
- *verbatim*
- {braces}
section=Since
2.10
doc symbol=cmd-boxed
body=
If you're bored enough to read this, go see a video of boxed cats
section=Example
-> in
<- out