[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case con
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case conventions on qapi members |
Date: |
Fri, 27 Nov 2015 10:42:45 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Blake <address@hidden> writes:
> We document that members of enums and objects should be
> 'lower-case', although we were not enforcing it. We have to
> whitelist a few pre-existing entities that violate the norms.
> Add three new tests to expose the new error message, each of
> which first uses the whitelisted name 'UuidInfo' to prove the
> whitelist works, then triggers the failure.
>
> Note that by adding this check, we have effectively forbidden
> an entity with a case-insensitive clash of member names, for
> any entity that is not on the whitelist (although there is
> still the possibility to clash via '-' vs. '_').
>
> Signed-off-by: Eric Blake <address@hidden>
[...]
> @@ -1039,6 +1054,10 @@ class QAPISchemaMember(object):
>
> def check_clash(self, info, seen):
> cname = c_name(self.name)
> + if cname.lower() != cname and info['name'] not in case_whitelist:
> + raise QAPIExprError(info,
> + "Member '%s' of '%s' should use lowercase"
> + % (self.name, info['name']))
> if cname in seen:
> raise QAPIExprError(info,
> "%s collides with %s"
As far as I can tell, this is the only use of info['name'] in this
series.
Can you give an example where info['name'] != self.owner?
- [Qemu-devel] [PATCH v13 08/14] qapi: Shorter visits of optional fields, (continued)
- [Qemu-devel] [PATCH v13 08/14] qapi: Shorter visits of optional fields, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 10/14] qapi: Track enum values by QAPISchemaMember, not string, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 11/14] qapi: Populate info['name'] for each entity, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 09/14] qapi: Prepare new QAPISchemaMember base class, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 14/14] qapi: Detect base class loops, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 04/14] qapi: Simplify visiting of alternate types, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case conventions on qapi members, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 01/14] qobject: Simplify QObject, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 02/14] qobject: Rename qtype_code to QType, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 06/14] qapi: Fix alternates that accept 'number' but not 'int', Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 13/14] qapi: Move duplicate collision checks to schema check(), Eric Blake, 2015/11/20
- Re: [Qemu-devel] [PATCH v13 00/14] qapi member collision (post-introspection cleanups, subset D), Markus Armbruster, 2015/11/27