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, if > this happens, the user would probably expect to see these in these commands > but he/she won't.
Now work that into the doc comment, please :)