On 9/24/20 8:31 PM, Cleber Rosa wrote:
On Tue, Sep 22, 2020 at 05:13:03PM -0400, John Snow wrote:
Iterating over the members of data isn't going to work if it's not some
form of dict anyway, but for type safety, formalize it.

Signed-off-by: John Snow <js...@redhat.com>
---
  scripts/qapi/expr.py | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py
index 3f5af5f5e4..633f9b9172 100644
--- a/scripts/qapi/expr.py
+++ b/scripts/qapi/expr.py
@@ -247,6 +247,9 @@ def check_union(expr, info):
              raise QAPISemError(info, "'discriminator' requires 'base'")
          check_name_is_str(discriminator, info, "'discriminator'")
+ if not isinstance(members, dict):
+        raise QAPISemError(info, "'data' must be an object")
+

Don't you mean "must be a dict" ?


This error is speaking JSON-ese! json objects become python dicts, so if we didn't get a python dict here, we didn't get a json object.


Reply via email to