qapi: Adjust names of implicit types
commit7599697c66d22ff4c859ba6ccea30e6a9aae6b9b
authorEric Blake <eblake@redhat.com>
Thu, 17 Mar 2016 22:48:29 +0000 (17 16:48 -0600)
committerMarkus Armbruster <armbru@redhat.com>
Fri, 18 Mar 2016 09:29:25 +0000 (18 10:29 +0100)
treee0a7d31e085b801b539316abd455dda48c2b839d
parent4040d995e49c5b818be79e50a18c1bf8d2354d12
qapi: Adjust names of implicit types

The original choice of ':obj-' as the prefix for implicit types
made it obvious that we weren't going to clash with any user-defined
names, which cannot contain ':'.  But now we want to create structs
for implicit types, to get rid of special cases in the generators,
and our use of ':' in implicit names needs a tweak to produce valid
C code.

We could transliterate ':' to '_', except that C99 mandates that
"identifiers that begin with an underscore are always reserved for
use as identifiers with file scope in both the ordinary and tag name
spaces".  So it's time to change our naming convention: we can
instead use the 'q_' prefix that we reserved for ourselves back in
commit 9fb081e0.  Technically, since we aren't planning on exposing
the empty type in generated code, we could keep the name ':empty',
but renaming it to 'q_empty' makes the check for startswith('q_')
cover all implicit types, whether or not code is generated for them.

As long as we don't declare 'empty' or 'obj' ticklish, it shouldn't
clash with c_name() prepending 'q_' to the user's ticklish names.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1458254921-17042-5-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
docs/qapi-code-gen.txt
scripts/qapi.py
tests/qapi-schema/comments.out
tests/qapi-schema/empty.out
tests/qapi-schema/event-case.out
tests/qapi-schema/ident-with-escape.out
tests/qapi-schema/include-relpath.out
tests/qapi-schema/include-repetition.out
tests/qapi-schema/include-simple.out
tests/qapi-schema/indented-expr.out
tests/qapi-schema/qapi-schema-test.out