--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/ast_unparse.py Sat Apr 17 16:51:19 2021 +0200 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/ast_unparse.py Sat Apr 17 18:45:04 2021 +0200 @@ -15,6 +15,8 @@ from enum import IntEnum, auto from contextlib import contextmanager, nullcontext +import AstUtilities + # Large float and imaginary literals get turned into infinities in the AST. # We unparse those infinities to INFSTR. _INFSTR = "1e" + repr(sys.float_info.max_10_exp + 1) @@ -598,16 +600,22 @@ self.write(repr(value)) def visit_Constant(self, node): - value = node.value + value = AstUtilities.getValue(node) if isinstance(value, tuple): with self.delimit("(", ")"): self.items_view(self._write_constant, value) elif value is ...: self.write("...") else: - if node.kind == "u": + if hasattr(node, "kind") and node.kind == "u": self.write("u") - self._write_constant(node.value) + self._write_constant(value) + + visit_NameConstant = visit_Constant + visit_Num = visit_Constant + visit_Str = visit_Constant + visit_Bytes = visit_Constant + visit_Ellipsis = visit_Constant def visit_List(self, node): with self.delimit("[", "]"):