Skip to content
Snippets Groups Projects
Commit 86cc2ff6 authored by John Snow's avatar John Snow Committed by Markus Armbruster
Browse files

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: default avatarJohn Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-4-jsnow@redhat.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
parent b54e07cc
No related branches found
No related tags found
No related merge requests found
......@@ -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 @@ def __init__(self, parser, msg):
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)
......@@ -875,8 +875,7 @@ def _def_entity(self, ent):
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))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment