[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 41/50] qapi: add a 'unit' pragma
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v3 41/50] qapi: add a 'unit' pragma |
Date: |
Thu, 14 Dec 2017 15:00:12 +0100 |
Hi
On Thu, Dec 14, 2017 at 2:54 PM, Markus Armbruster <address@hidden> wrote:
> Marc-André Lureau <address@hidden> 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 <address@hidden>
>> ---
>> 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