[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/8] qapi/error.py: move QAPIParseError to parser.py
From: |
John Snow |
Subject: |
[PATCH v2 5/8] qapi/error.py: move QAPIParseError to parser.py |
Date: |
Tue, 30 Mar 2021 13:18:41 -0400 |
Keeping it in error.py will create some cyclic import problems when we
add types to the QAPISchemaParser. Callers don't need to know the
details of QAPIParseError unless they are parsing or dealing directly
with the parser, so this won't create any harsh new requirements for
callers in the general case.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/error.py | 12 ------------
scripts/qapi/parser.py | 14 +++++++++++++-
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/scripts/qapi/error.py b/scripts/qapi/error.py
index d0bc7af6e7..2183b8c6b7 100644
--- a/scripts/qapi/error.py
+++ b/scripts/qapi/error.py
@@ -33,17 +33,5 @@ def __str__(self):
return loc + ': ' + self.msg
-class QAPIParseError(QAPISourceError):
- """Error class for all QAPI schema parsing errors."""
- def __init__(self, parser, msg):
- col = 1
- for ch in parser.src[parser.line_pos:parser.pos]:
- if ch == '\t':
- col = (col + 7) % 8 + 1
- else:
- col += 1
- super().__init__(parser.info, msg, col)
-
-
class QAPISemError(QAPISourceError):
"""Error class for semantic QAPI errors."""
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index d5bf91f2b0..140f582ad9 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -18,10 +18,22 @@
import os
import re
-from .error import QAPIParseError, QAPISemError
+from .error import QAPISemError, QAPISourceError
from .source import QAPISourceInfo
+class QAPIParseError(QAPISourceError):
+ """Error class for all QAPI schema parsing errors."""
+ def __init__(self, parser, msg):
+ col = 1
+ for ch in parser.src[parser.line_pos:parser.pos]:
+ if ch == '\t':
+ col = (col + 7) % 8 + 1
+ else:
+ col += 1
+ super().__init__(parser.info, msg, col)
+
+
class QAPISchemaParser:
def __init__(self, fname, previously_included=None, incl_info=None):
--
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, 2021/03/30
- [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 <=