qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 20/54] qapi-introspect: modify to_qlit() to t


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH v2 20/54] qapi-introspect: modify to_qlit() to take an optional suffix
Date: Wed, 6 Sep 2017 16:02:07 +0200

On Tue, Sep 5, 2017 at 11:42 AM, Markus Armbruster <address@hidden> wrote:
> Marc-André Lureau <address@hidden> writes:
>
>> The following patch is going to break list entries with #if/#endif, so
>> they should have the trailing ',' as suffix.
>>
>> Signed-off-by: Marc-André Lureau <address@hidden>
>> ---
>>  scripts/qapi-introspect.py | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/scripts/qapi-introspect.py b/scripts/qapi-introspect.py
>> index 4c437d60ec..dfb6d2ded4 100644
>> --- a/scripts/qapi-introspect.py
>> +++ b/scripts/qapi-introspect.py
>> @@ -16,7 +16,7 @@ def to_c_string(s):
>>      return '"' + s.replace('\\', r'\\').replace('"', r'\"') + '"'
>>
>>
>> -def to_qlit(obj, level=0, first_indent=True):
>> +def to_qlit(obj, level=0, first_indent=True, suffix=''):
>>
>>      def indent(level):
>>          return level * 4 * ' '
>> @@ -29,11 +29,11 @@ def to_qlit(obj, level=0, first_indent=True):
>>      elif isinstance(obj, str):
>>          ret += 'QLIT_QSTR(' + to_c_string(obj) + ')'
>>      elif isinstance(obj, list):
>> -        elts = [to_qlit(elt, level + 1)
>> +        elts = [to_qlit(elt, level + 1, suffix=',')
>>                  for elt in obj]
>>          elts.append(indent(level + 1) + "{}")
>>          ret += 'QLIT_QLIST(((QLitObject[]) {\n'
>> -        ret += ',\n'.join(elts) + '\n'
>> +        ret += '\n'.join(elts) + '\n'
>>          ret += indent(level) + '}))'
>>      elif isinstance(obj, dict):
>>          elts = []
>> @@ -46,7 +46,7 @@ def to_qlit(obj, level=0, first_indent=True):
>>          ret += indent(level) + '}))'
>>      else:
>>          assert False                # not implemented
>> -    return ret
>> +    return ret + suffix
>>
>>
>>  class QAPISchemaGenIntrospectVisitor(QAPISchemaVisitor):
>
> Hmm.  I wonder the appended simpler patch would do.

It works, thanks for the suggestion

>
> diff --git a/scripts/qapi-introspect.py b/scripts/qapi-introspect.py
> index 4c437d60ec..73edb55cd5 100644
> --- a/scripts/qapi-introspect.py
> +++ b/scripts/qapi-introspect.py
> @@ -33,7 +33,7 @@ def to_qlit(obj, level=0, first_indent=True):
>                  for elt in obj]
>          elts.append(indent(level + 1) + "{}")
>          ret += 'QLIT_QLIST(((QLitObject[]) {\n'
> -        ret += ',\n'.join(elts) + '\n'
> +        ret += '\n'.join(elts) + '\n'
>          ret += indent(level) + '}))'
>      elif isinstance(obj, dict):
>          elts = []
> @@ -46,6 +46,8 @@ def to_qlit(obj, level=0, first_indent=True):
>          ret += indent(level) + '}))'
>      else:
>          assert False                # not implemented
> +    if level > 0:
> +        ret += ','
>      return ret
>
>
>



-- 
Marc-André Lureau



reply via email to

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