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:
parent
b54e07cc46
commit
86cc2ff65a
@ -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)
|
||||
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user