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>
This commit is contained in:
John Snow 2021-04-21 15:22:28 -04:00 committed by Markus Armbruster
parent b54e07cc46
commit 86cc2ff65a
2 changed files with 4 additions and 7 deletions

View File

@ -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)

View File

@ -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))