qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]