qapi: Simplify how QAPIDoc implements its state machine
commit157dd363955b961ef378eb1f7817c31a7fa94d10
authorMarkus Armbruster <armbru@redhat.com>
Thu, 6 Jun 2019 15:38:03 +0000 (6 17:38 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 12 Jun 2019 16:37:17 +0000 (12 18:37 +0200)
treed20940570e0014a06068bda8cce5c0752dc80004
parentc9d4070991ee504bd674c77c3790ef7028b258bd
qapi: Simplify how QAPIDoc implements its state machine

QAPIDoc uses a state machine to for processing of documentation lines.
Its state is encoded as an enum QAPIDoc._state (well, as enum-like
class actually, thanks to our infatuation with Python 2).

All we ever do with the state is calling the state's function to
process a line of documentation.  The enum values effectively serve as
handles for the functions.

Eliminate the rather wordy indirection: store the function to call in
QAPIDoc._append_line.  Update and improve comments.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190606153803.5278-8-armbru@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
[Commit message typo fixed]
scripts/qapi/common.py