aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2021-04-21 15:22:28 -0400
committerMarkus Armbruster <armbru@redhat.com>2021-04-30 12:59:54 +0200
commit86cc2ff65a4764ade26c7741c7c05f23e7efa95c (patch)
tree94eae20e0ac3a1b5e7d30b75f1d60af827b313eb
parentb54e07cc46064e79de275c7ea26d90a51913a9ea (diff)
qapi/error: Make QAPISourceError 'col' parameter optional
It's already treated as optional, with one direct caller and some subclass callers passing 'None'. Make it officially optional, which requires moving the position of the argument to come after all required parameters. QAPISemError becomes functionally identical to QAPISourceError. Keep the name to preserve its semantic meaning and avoid code churn, but remove the now-useless __init__ wrapper. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20210421192233.3542904-4-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
-rw-r--r--scripts/qapi/error.py8
-rw-r--r--scripts/qapi/schema.py3
2 files changed, 4 insertions, 7 deletions
diff --git a/scripts/qapi/error.py b/scripts/qapi/error.py
index 38bd7c4dd6..d179a3bd0c 100644
--- a/scripts/qapi/error.py
+++ b/scripts/qapi/error.py
@@ -18,11 +18,11 @@ class QAPIError(Exception):
class QAPISourceError(QAPIError):
"""Error class for all exceptions identifying a source location."""
- def __init__(self, info, col, msg):
+ def __init__(self, info, msg, col=None):
super().__init__()
self.info = info
- self.col = col
self.msg = msg
+ self.col = col
def __str__(self):
loc = str(self.info)
@@ -41,10 +41,8 @@ class QAPIParseError(QAPISourceError):
col = (col + 7) % 8 + 1
else:
col += 1
- super().__init__(parser.info, col, msg)
+ super().__init__(parser.info, msg, col)
class QAPISemError(QAPISourceError):
"""Error class for semantic QAPI errors."""
- def __init__(self, info, msg):
- super().__init__(info, None, msg)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index c277fcacc5..3a4172fb74 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -875,8 +875,7 @@ class QAPISchema:
other_ent = self._entity_dict.get(ent.name)
if other_ent:
if other_ent.info:
- where = QAPISourceError(other_ent.info, None,
- "previous definition")
+ where = QAPISourceError(other_ent.info, "previous definition")
raise QAPISemError(
ent.info,
"'%s' is already defined\n%s" % (ent.name, where))