]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
qapi/error: assert QAPISourceInfo is not None
authorJohn Snow <jsnow@redhat.com>
Wed, 21 Apr 2021 19:22:29 +0000 (15:22 -0400)
committerMarkus Armbruster <armbru@redhat.com>
Fri, 30 Apr 2021 10:59:54 +0000 (12:59 +0200)
Built-in stuff is not parsed from a source file, and therefore have no
QAPISourceInfo. If such None info was used for reporting an error,
built-in stuff would be broken. Programming error. Instead of reporting
a confusing error with bogus source location then, we better crash.

We currently crash only if self.col was set. Assert that self.info is
not None in order to crash reliably.

We can not yet change the type of the initializer to prove this cannot
happen at static analysis time before the remainder of the code is fully
typed.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
scripts/qapi/error.py

index d179a3bd0c75723d6177d4cae28273d7a477e3fa..d0bc7af6e762b70e4907f2ca680099e0180cd66f 100644 (file)
@@ -25,6 +25,7 @@ class QAPISourceError(QAPIError):
         self.col = col
 
     def __str__(self):
+        assert self.info is not None
         loc = str(self.info)
         if self.col is not None:
             assert self.info.line is not None