[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-1.5 8/9] qom: simplify object_class_dynamic_cast
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH for-1.5 8/9] qom: simplify object_class_dynamic_cast, part 1 |
Date: |
Fri, 10 May 2013 14:16:42 +0200 |
Access everything from the class.
Signed-off-by: Paolo Bonzini <address@hidden>
---
qom/object.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index f5f416b..f82f12c 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -457,15 +457,13 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *class,
{
ObjectClass *ret = NULL;
TypeImpl *target_type;
- TypeImpl *type;
if (!class) {
return NULL;
}
/* A simple fast path that can trigger a lot for leaf classes. */
- type = class->type;
- if (type->name == typename) {
+ if (class->type->name == typename) {
return class;
}
@@ -475,7 +473,7 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *class,
return NULL;
}
- if (type->class->interfaces &&
+ if (class->interfaces &&
type_is_ancestor(target_type, type_interface)) {
int found = 0;
GSList *i;
@@ -493,7 +491,7 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *class,
if (found > 1) {
ret = NULL;
}
- } else if (type_is_ancestor(type, target_type)) {
+ } else if (type_is_ancestor(class->type, target_type)) {
ret = class;
}
--
1.8.1.4
- [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 1/9] qom: improve documentation of cast functions, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 2/9] qom: allow casting of a NULL class, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 3/9] qom: add a fast path to object_class_dynamic_cast, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 4/9] qom: pass file/line/function to asserting casts, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 5/9] qom: trace asserting casts, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 7/9] build: disable QOM cast debugging for official releases, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 6/9] qom: allow turning cast debugging off, Paolo Bonzini, 2013/05/10
- [Qemu-devel] [PATCH for-1.5 8/9] qom: simplify object_class_dynamic_cast, part 1,
Paolo Bonzini <=
- [Qemu-devel] [PATCH for-1.5 9/9] qom: simplify object_class_dynamic_cast, part 2, Paolo Bonzini, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Anthony Liguori, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Paolo Bonzini, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Andreas Färber, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Paolo Bonzini, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Aurelien Jarno, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Anthony Liguori, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Paolo Bonzini, 2013/05/10
- Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases, Anthony Liguori, 2013/05/10