[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 04/13] coccinelle: Add script to remove useless Q
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH v4 04/13] coccinelle: Add script to remove useless QObject casts |
Date: |
Tue, 11 Apr 2017 13:50:25 -0500 |
We have macros in place to make it less verbose to add a subtype
of QObject to both QDict and QList. While we have made cleanups
like this in the past (see commit fcfcd8ffc, for example), having
it be automated by Coccinelle makes it easier to maintain.
The script is separate from the cleanups, for ease of review and
backporting. A later patch will then add further possible cleanups.
Signed-off-by: Eric Blake <address@hidden>
---
v4: no change
v3: new patch
---
MAINTAINERS | 1 +
scripts/coccinelle/qobject.cocci | 13 +++++++++++++
2 files changed, 14 insertions(+)
create mode 100644 scripts/coccinelle/qobject.cocci
diff --git a/MAINTAINERS b/MAINTAINERS
index c60235e..430efb0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1395,6 +1395,7 @@ S: Supported
F: qobject/
F: include/qapi/qmp/
X: include/qapi/qmp/dispatch.h
+F: scripts/coccinelle/qobject.cocci
F: tests/check-qdict.c
F: tests/check-qfloat.c
F: tests/check-qint.c
diff --git a/scripts/coccinelle/qobject.cocci b/scripts/coccinelle/qobject.cocci
new file mode 100644
index 0000000..aa899e2
--- /dev/null
+++ b/scripts/coccinelle/qobject.cocci
@@ -0,0 +1,13 @@
+// Use QDict macros where they make sense
+@@
+expression Obj, Key, E;
+@@
+- qdict_put_obj(Obj, Key, QOBJECT(E));
++ qdict_put(Obj, Key, E);
+
+// Use QList macros where they make sense
+@@
+expression Obj, E;
+@@
+- qlist_append_obj(Obj, QOBJECT(E));
++ qlist_append(Obj, E);
--
2.9.3
- [Qemu-devel] [PATCH v4 00/13] qapi-related cleanups, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 01/13] pci: Use struct instead of QDict to pass back parameters, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 02/13] pci: Reduce scope of error injection, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 03/13] s390x: Drop useless casts, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 04/13] coccinelle: Add script to remove useless QObject casts,
Eric Blake <=
- [Qemu-devel] [PATCH v4 06/13] qobject: Add helper macros for common scalar insertions, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 05/13] qobject: Drop useless QObject casts, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 08/13] tests: Use simpler QDict/QList scalar insertion macros, Eric Blake, 2017/04/11
- [Qemu-devel] [PATCH v4 07/13] block: Use simpler QDict/QList scalar insertion macros, Eric Blake, 2017/04/11