qapi: Improve reporting of member name clashes

We report name clashes like this:

    struct-base-clash.json: In struct 'Sub':
    struct-base-clash.json:5: 'name' (member of Sub) collides with 'name' (member of Base)

The "(member of Sub)" is redundant with "In struct 'Sub'".  Comes from
QAPISchemaMember.describe().  Pass info to it, so it can detect the
redundancy and avoid it.  Result:

    struct-base-clash.json: In struct 'Sub':
    struct-base-clash.json:5: member 'name' collides with member 'name' of type 'Base'

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-8-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2019-09-27 15:46:20 +02:00
parent 2ab218aad6
commit 481a6bd15c
10 changed files with 32 additions and 22 deletions

View file

@ -1,2 +1,2 @@
tests/qapi-schema/alternate-clash.json: In alternate 'Alt1':
tests/qapi-schema/alternate-clash.json:7: 'a_b' (branch of Alt1) collides with 'a-b' (branch of Alt1)
tests/qapi-schema/alternate-clash.json:7: branch 'a_b' collides with branch 'a-b'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/args-name-clash.json: In command 'oops':
tests/qapi-schema/args-name-clash.json:4: 'a_b' (parameter of oops) collides with 'a-b' (parameter of oops)
tests/qapi-schema/args-name-clash.json:4: parameter 'a_b' collides with parameter 'a-b'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/enum-clash-member.json: In enum 'MyEnum':
tests/qapi-schema/enum-clash-member.json:2: 'one_two' (value of MyEnum) collides with 'one-two' (value of MyEnum)
tests/qapi-schema/enum-clash-member.json:2: value 'one_two' collides with value 'one-two'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/features-duplicate-name.json: In struct 'FeatureStruct0':
tests/qapi-schema/features-duplicate-name.json:1: 'foo' (feature of FeatureStruct0) collides with 'foo' (feature of FeatureStruct0)
tests/qapi-schema/features-duplicate-name.json:1: feature 'foo' collides with feature 'foo'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-bad-base.json: In union 'TestUnion':
tests/qapi-schema/flat-union-bad-base.json:8: 'string' (member of TestTypeA) collides with 'string' (base of TestUnion)
tests/qapi-schema/flat-union-bad-base.json:8: member 'string' of type 'TestTypeA' collides with base member 'string'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-clash-member.json: In union 'TestUnion':
tests/qapi-schema/flat-union-clash-member.json:11: 'name' (member of Branch1) collides with 'name' (member of Base)
tests/qapi-schema/flat-union-clash-member.json:11: member 'name' of type 'Branch1' collides with member 'name' of type 'Base'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/struct-base-clash-deep.json: In struct 'Sub':
tests/qapi-schema/struct-base-clash-deep.json:10: 'name' (member of Sub) collides with 'name' (member of Base)
tests/qapi-schema/struct-base-clash-deep.json:10: member 'name' collides with member 'name' of type 'Base'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/struct-base-clash.json: In struct 'Sub':
tests/qapi-schema/struct-base-clash.json:5: 'name' (member of Sub) collides with 'name' (member of Base)
tests/qapi-schema/struct-base-clash.json:5: member 'name' collides with member 'name' of type 'Base'

View file

@ -1,2 +1,2 @@
tests/qapi-schema/union-clash-branches.json: In union 'TestUnion':
tests/qapi-schema/union-clash-branches.json:4: 'a_b' (branch of TestUnion) collides with 'a-b' (branch of TestUnion)
tests/qapi-schema/union-clash-branches.json:4: branch 'a_b' collides with branch 'a-b'