Paolo Bonzini <pbonz...@redhat.com> writes:

> On 02/05/2018 08:34, Markus Armbruster wrote:
>> Alexey Kardashevskiy <a...@ozlabs.ru> writes:
>> 
>>> On 30/4/18 7:39 pm, Paolo Bonzini wrote:
>>>> On 30/04/2018 08:52, Alexey Kardashevskiy wrote:
>>>>> diff --git a/qapi/misc.json b/qapi/misc.json
>>>>> index 5636f4a..399ec74 100644
>>>>> --- a/qapi/misc.json
>>>>> +++ b/qapi/misc.json
>>>>> @@ -1491,6 +1491,10 @@
>>>>>  #
>>>>>  # List properties associated with a device.
>>>>>  #
>>>>> +# Note: the handler creates a device object, enumerates properties and 
>>>>> destroys
>>>>> +# the object so it only lists properties defined in DeviceClass::props or
>>>>> +# created by DeviceClass::init()/TypeInfo::instance_init().
>>>>> +#
>>>>>  # @typename: the type name of a device
>>>>>  #
>>>>>  # Returns: a list of ObjectPropertyInfo describing a devices properties
>>>>> @@ -1506,6 +1510,11 @@
>>>>>  #
>>>>>  # List properties associated with a QOM object.
>>>>>  #
>>>>> +# Note: the handler creates an object, enumerates properties and destroys
>>>>> +# the object so it only lists properties created in 
>>>>> TypeInfo::instance_init().
>>>>> +# Since the instance_init() callback of the device object adds
>>>>> +# DeviceClass::props as object properties, they will be listed as well.
>>>>> +#
>>>>
>>>> This says what it does, but not why it is a problem.  Can you explain
>>>> that to me as well?
>>>
>>> It probably is not unless someone adds properties in realize() callback,
>> 
>> Now work that into the doc comment, please :)
>
> Are there any examples?

There must be examples where instances of the same type have different
properties, or else our design decision to create properties dynamically
was inane.

[...]

Reply via email to