[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/28] coccinelle: Add script to remove useless QObje
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 05/28] coccinelle: Add script to remove useless QObject casts |
Date: |
Thu, 4 May 2017 17:23:42 +0200 |
From: Eric Blake <address@hidden>
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>
Reviewed-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
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 a1d2b3a..d852efc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1393,6 +1393,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.7.4
- [Qemu-devel] [PULL 00/28] QAPI patches for 2017-05-04, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 09/28] block: Simplify bdrv_append_temp_snapshot() logic, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 03/28] pci: Use struct instead of QDict to pass back parameters, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 07/28] qobject: Add helper macros for common scalar insertions, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 05/28] coccinelle: Add script to remove useless QObject casts,
Markus Armbruster <=
- [Qemu-devel] [PULL 10/28] QemuOpts: Simplify qemu_opts_to_qdict(), Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 21/28] qobject-input-visitor: Document full_name_nth(), Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 01/28] tests/check-qdict: Fix missing brackets, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 04/28] pci: Reduce scope of error injection, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 22/28] qapi: Document intended use of @name within alternate visits, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 02/28] test-keyval: fix leaks, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 11/28] fdc-test: Avoid deprecated 'change' command, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 20/28] qmp: Improve QMP dispatch error messages, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 26/28] qmp-shell: Cope with query-commands error, Markus Armbruster, 2017/05/04
- [Qemu-devel] [PULL 12/28] test-qga: Actually test 0xff sync bytes, Markus Armbruster, 2017/05/04