Commit 56d2df5e authored by Markus Armbruster's avatar Markus Armbruster
Browse files

qapi: Improve reporting of redefinition



Point to the previous definition, unless it's a built-in.

Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-26-armbru@redhat.com>
parent f6332698
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
tests/qapi-schema/redefined-command.json: In command 'foo':
tests/qapi-schema/redefined-command.json:3: command 'foo' is already defined
tests/qapi-schema/redefined-command.json:3: 'foo' is already defined
tests/qapi-schema/redefined-command.json: In command 'foo':
tests/qapi-schema/redefined-command.json:2: previous definition
+3 −1
Original line number Diff line number Diff line
tests/qapi-schema/redefined-event.json: In event 'EVENT_A':
tests/qapi-schema/redefined-event.json:3: event 'EVENT_A' is already defined
tests/qapi-schema/redefined-event.json:3: 'EVENT_A' is already defined
tests/qapi-schema/redefined-event.json: In event 'EVENT_A':
tests/qapi-schema/redefined-event.json:2: previous definition
+3 −1
Original line number Diff line number Diff line
tests/qapi-schema/redefined-type.json: In enum 'foo':
tests/qapi-schema/redefined-type.json:3: struct type 'foo' is already defined
tests/qapi-schema/redefined-type.json:3: 'foo' is already defined
tests/qapi-schema/redefined-type.json: In struct 'foo':
tests/qapi-schema/redefined-type.json:2: previous definition