[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 1/5] qom: Add interface check in object_class
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v4 1/5] qom: Add interface check in object_class_is_abstract |
Date: |
Thu, 03 Nov 2016 19:18:08 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Lin Ma <address@hidden> writes:
> Signed-off-by: Lin Ma <address@hidden>
> ---
> qom/object.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/qom/object.c b/qom/object.c
> index 7a05e35..4096645 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -747,7 +747,11 @@ ObjectClass *object_get_class(Object *obj)
>
> bool object_class_is_abstract(ObjectClass *klass)
> {
> - return klass->type->abstract;
> + if (type_is_ancestor(klass->type, type_interface)) {
> + return true;
> + } else {
> + return klass->type->abstract;
> + }
> }
>
> const char *object_class_get_name(ObjectClass *klass)
Pardon my ignorance...
If all types derived from type_interface are abstract, why aren't we
setting ->abstract right when such a type is defined?
Hmm, perhaps we do? type_initialize_interface() sets info.abstract =
true...
In case we don't: what about other uses of ->abstract? Why is it okay
not to check whether type_interface is an ancestore there?
- Re: [Qemu-devel] [PATCH v4 1/5] qom: Add interface check in object_class_is_abstract,
Markus Armbruster <=