qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Michael Roth <michael.roth@amd.com>,
	Michael Roth <mdroth@linux.vnet.ibm.com>,
	Cleber Rosa <crosa@redhat.com>, John Snow <jsnow@redhat.com>
Subject: [PATCH v2 5/8] qapi/error.py: move QAPIParseError to parser.py
Date: Tue, 30 Mar 2021 13:18:41 -0400	[thread overview]
Message-ID: <20210330171844.1197918-6-jsnow@redhat.com> (raw)
In-Reply-To: <20210330171844.1197918-1-jsnow@redhat.com>

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



  parent reply	other threads:[~2021-03-30 17:27 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 17:18 [PATCH v2 0/8] qapi: static typing conversion, pt4 John Snow
2021-03-30 17:18 ` [PATCH v2 1/8] qapi/error: Repurpose QAPIError as a generic exception base class John Snow
2021-04-15  6:44   ` Markus Armbruster
2021-04-15 15:28     ` John Snow
2021-04-16  6:04       ` Markus Armbruster
2021-04-16 17:59         ` John Snow
2021-03-30 17:18 ` [PATCH v2 2/8] qapi/error: Use Python3-style super() John Snow
2021-04-15  6:47   ` Markus Armbruster
2021-03-30 17:18 ` [PATCH v2 3/8] qapi/error: Make QAPISourceError 'col' parameter optional John Snow
2021-03-30 17:18 ` [PATCH v2 4/8] qapi/error: Change assertion John Snow
2021-04-08 15:31   ` John Snow
2021-04-15  7:00     ` Markus Armbruster
2021-04-15 15:44       ` John Snow
2021-04-16  6:17         ` Markus Armbruster
2021-04-16 18:24           ` John Snow
2021-04-17 12:10             ` Markus Armbruster
2021-03-30 17:18 ` John Snow [this message]
2021-03-30 17:18 ` [PATCH v2 6/8] qapi/error.py: enable pylint checks John Snow
2021-03-30 17:18 ` [PATCH v2 7/8] qapi/error: Add type hints John Snow
2021-04-15  7:15   ` Markus Armbruster
2021-04-15 15:52     ` John Snow
2021-03-30 17:18 ` [PATCH v2 8/8] qapi/error.py: enable mypy checks John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210330171844.1197918-6-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=michael.roth@amd.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).