[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/8] qapi/error: Make QAPISourceError 'col' parameter optional
From: |
John Snow |
Subject: |
[PATCH v2 3/8] qapi/error: Make QAPISourceError 'col' parameter optional |
Date: |
Tue, 30 Mar 2021 13:18:39 -0400 |
It's already treated as optional, with some callers and subclasses
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>
---
scripts/qapi/error.py | 8 +++-----
scripts/qapi/schema.py | 3 +--
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 @@ 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)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 1849c3e45f..dcf8a86139 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -878,8 +878,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))
--
2.30.2
- [PATCH v2 0/8] qapi: static typing conversion, pt4, John Snow, 2021/03/30
- [PATCH v2 4/8] qapi/error: Change assertion, John Snow, 2021/03/30
- [PATCH v2 2/8] qapi/error: Use Python3-style super(), John Snow, 2021/03/30
- [PATCH v2 7/8] qapi/error: Add type hints, John Snow, 2021/03/30
- [PATCH v2 1/8] qapi/error: Repurpose QAPIError as a generic exception base class, John Snow, 2021/03/30
- [PATCH v2 6/8] qapi/error.py: enable pylint checks, John Snow, 2021/03/30
- [PATCH v2 3/8] qapi/error: Make QAPISourceError 'col' parameter optional,
John Snow <=
- [PATCH v2 8/8] qapi/error.py: enable mypy checks, John Snow, 2021/03/30
- [PATCH v2 5/8] qapi/error.py: move QAPIParseError to parser.py, John Snow, 2021/03/30