Hi On Thu, Dec 14, 2017 at 2:54 PM, Markus Armbruster <[email protected]> wrote: > Marc-André Lureau <[email protected]> writes: > >> Add a pragma that allows to tag the following expressions with a unit >> name. By default, an expression has no unit name. > > Please explain the unit name's intended purpose. >
It's syccintly explained in the doc. >> Signed-off-by: Marc-André Lureau <[email protected]> >> --- >> scripts/qapi.py | 9 ++++++++- >> docs/devel/qapi-code-gen.txt | 3 +++ >> 2 files changed, 11 insertions(+), 1 deletion(-) >> >> diff --git a/scripts/qapi.py b/scripts/qapi.py >> index eb4ffdc06d..1d0defd638 100644 >> --- a/scripts/qapi.py >> +++ b/scripts/qapi.py >> @@ -279,10 +279,12 @@ class QAPISchemaParser(object): >> self.docs = [] >> self.cur_doc = None >> self.accept() >> + self.unit = None >> >> while self.tok is not None: >> info = {'file': fname, 'line': self.line, >> - 'parent': self.incl_info} >> + 'parent': self.incl_info, >> + 'unit': self.unit} >> if self.tok == '#': >> self.reject_expr_doc() >> self.cur_doc = self.get_doc(info) >> @@ -371,6 +373,11 @@ class QAPISchemaParser(object): >> "Pragma name-case-whitelist must be" >> " a list of strings") >> name_case_whitelist = value >> + elif name == 'unit': >> + if not isinstance(value, str): >> + raise QAPISemError(info, >> + "Pragma 'unit' must be string") >> + self.unit = value >> else: >> raise QAPISemError(info, "Unknown pragma '%s'" % name) >> >> diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt >> index 24fc6f74ee..37a27cd9d7 100644 >> --- a/docs/devel/qapi-code-gen.txt >> +++ b/docs/devel/qapi-code-gen.txt >> @@ -326,6 +326,9 @@ violate the rules on permitted return types. Default is >> none. >> Pragma 'name-case-whitelist' takes a list of names that may violate >> rules on use of upper- vs. lower-case letters. Default is none. >> >> +Pragma 'unit' takes a string value. It will set the unit name for the >> +following expressions in the schema. Most code generator can filter >> +based on a unit name. Default is none. > > Do you mean "most code generators"? The qapi code/doc generators. > > What does "filtering" mean? To be able to select a subset of expressions based on the unit name. >> >> === Struct types === > > Humor me: put two spaces after a sentence-ending period. > I don't get what you mean. thanks -- Marc-André Lureau
