Pārlūkot izejas kodu

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>
John Snow 4 gadi atpakaļ
vecāks
revīzija
86cc2ff65a
2 mainītis faili ar 4 papildinājumiem un 7 dzēšanām
  1. 3 5
      scripts/qapi/error.py
  2. 1 2
      scripts/qapi/schema.py

+ 3 - 5
scripts/qapi/error.py

@@ -18,11 +18,11 @@ class QAPIError(Exception):
 
 
 class QAPISourceError(QAPIError):
 class QAPISourceError(QAPIError):
     """Error class for all exceptions identifying a source location."""
     """Error class for all exceptions identifying a source location."""
-    def __init__(self, info, col, msg):
+    def __init__(self, info, msg, col=None):
         super().__init__()
         super().__init__()
         self.info = info
         self.info = info
-        self.col = col
         self.msg = msg
         self.msg = msg
+        self.col = col
 
 
     def __str__(self):
     def __str__(self):
         loc = str(self.info)
         loc = str(self.info)
@@ -41,10 +41,8 @@ def __init__(self, parser, msg):
                 col = (col + 7) % 8 + 1
                 col = (col + 7) % 8 + 1
             else:
             else:
                 col += 1
                 col += 1
-        super().__init__(parser.info, col, msg)
+        super().__init__(parser.info, msg, col)
 
 
 
 
 class QAPISemError(QAPISourceError):
 class QAPISemError(QAPISourceError):
     """Error class for semantic QAPI errors."""
     """Error class for semantic QAPI errors."""
-    def __init__(self, info, msg):
-        super().__init__(info, None, msg)

+ 1 - 2
scripts/qapi/schema.py

@@ -875,8 +875,7 @@ def _def_entity(self, ent):
         other_ent = self._entity_dict.get(ent.name)
         other_ent = self._entity_dict.get(ent.name)
         if other_ent:
         if other_ent:
             if other_ent.info:
             if other_ent.info:
-                where = QAPISourceError(other_ent.info, None,
-                                        "previous definition")
+                where = QAPISourceError(other_ent.info, "previous definition")
                 raise QAPISemError(
                 raise QAPISemError(
                     ent.info,
                     ent.info,
                     "'%s' is already defined\n%s" % (ent.name, where))
                     "'%s' is already defined\n%s" % (ent.name, where))