summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Mueller <30130371+cdce8p@users.noreply.github.com>2021-11-21 18:03:27 +0100
committerMarc Mueller <30130371+cdce8p@users.noreply.github.com>2021-11-21 18:03:27 +0100
commit326ada7393abd6c113b5250e0ecf2661d503020a (patch)
treec8cbfa5331fc4b6d5320105edb32a8f01345d885
parent074de4608522d279184b91d40a534a78bbf352f3 (diff)
downloadastroid-git-326ada7393abd6c113b5250e0ecf2661d503020a.tar.gz
Add as_string visitor for Unknown node (#1268)
-rw-r--r--ChangeLog4
-rw-r--r--astroid/nodes/as_string.py4
-rw-r--r--tests/unittest_nodes.py5
3 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f08c68d7..831fb601 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,10 @@ Release date: TBA
* Always treat ``__class_getitem__`` as a classmethod.
+* Add missing ``as_string`` visitor method for ``Unknown`` node.
+
+ Closes #1264
+
What's New in astroid 2.8.6?
============================
diff --git a/astroid/nodes/as_string.py b/astroid/nodes/as_string.py
index 427ccc15..bc8dab1c 100644
--- a/astroid/nodes/as_string.py
+++ b/astroid/nodes/as_string.py
@@ -36,6 +36,7 @@ if TYPE_CHECKING:
MatchSingleton,
MatchStar,
MatchValue,
+ Unknown,
)
# pylint: disable=unused-argument
@@ -643,6 +644,9 @@ class AsStringVisitor:
def visit_evaluatedobject(self, node):
return node.original.accept(self)
+ def visit_unknown(self, node: "Unknown") -> str:
+ return str(node)
+
def _import_string(names):
"""return a list of (name, asname) formatted as a string"""
diff --git a/tests/unittest_nodes.py b/tests/unittest_nodes.py
index 7c78cd23..8c860eac 100644
--- a/tests/unittest_nodes.py
+++ b/tests/unittest_nodes.py
@@ -306,6 +306,11 @@ everything = f""" " \' \r \t \\ {{ }} {'x' + x!r:a} {["'"]!s:{a}}"""
ast = abuilder.string_build(code)
self.assertEqual(ast.as_string().strip(), code.strip())
+ @staticmethod
+ def test_as_string_unknown() -> None:
+ assert nodes.Unknown().as_string() == "Unknown.Unknown()"
+ assert nodes.Unknown(lineno=1, col_offset=0).as_string() == "Unknown.Unknown()"
+
class _NodeTest(unittest.TestCase):
"""test transformation of If Node"""