diff options
author | Markus Armbruster <armbru@redhat.com> | 2019-09-27 15:46:38 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2019-09-28 17:17:48 +0200 |
commit | 56d2df5e65d873ca0e9841f7bb7676cab759f8da (patch) | |
tree | 980b1f5956a2c412f7cd648b9012d303e5ab140e /scripts | |
parent | f63326985a23cc1bb6327a003050e6fdb52eb9cd (diff) |
qapi: Improve reporting of redefinition
Point to the previous definition, unless it's a built-in.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-26-armbru@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/qapi/common.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index bd834270f8..a74cd957d4 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -1759,6 +1759,11 @@ class QAPISchema(object): # because they're liable to clash in generated C. other_ent = self._entity_dict.get(ent.name) if other_ent: + if other_ent.info: + where = QAPIError(other_ent.info, None, "previous definition") + raise QAPISemError( + ent.info, + "'%s' is already defined\n%s" % (ent.name, where)) raise QAPISemError( ent.info, "%s is already defined" % other_ent.describe()) self._entity_dict[ent.name] = ent |