ast/printer: fix mypy issues

Other than one case that I think cannot be actually hit (or it would
fail).
pull/12683/head
Dylan Baker 1 year ago committed by Eli Schwartz
parent 7700618181
commit 5cd1147354
  1. 18
      mesonbuild/ast/printer.py
  2. 4
      mesonbuild/ast/visitor.py
  3. 1
      run_mypy.py

@ -65,8 +65,9 @@ class AstPrinter(AstVisitor):
node.lineno = self.curr_line or node.lineno
def escape(self, val: str) -> str:
return val.translate(str.maketrans({'\'': '\\\'',
'\\': '\\\\'}))
return val.translate(str.maketrans(T.cast(
'T.Dict[str, T.Union[str, int]]',
{'\'': '\\\'', '\\': '\\\\'})))
def visit_StringNode(self, node: mparser.StringNode) -> None:
assert isinstance(node.value, str)
@ -78,7 +79,7 @@ class AstPrinter(AstVisitor):
self.append("f'" + self.escape(node.value) + "'", node)
node.lineno = self.curr_line or node.lineno
def visit_MultilineStringNode(self, node: mparser.StringNode) -> None:
def visit_MultilineStringNode(self, node: mparser.MultilineFormatStringNode) -> None:
assert isinstance(node.value, str)
self.append("'''" + node.value + "'''", node)
node.lineno = self.curr_line or node.lineno
@ -241,21 +242,22 @@ class AstPrinter(AstVisitor):
class RawPrinter(AstVisitor):
def __init__(self):
def __init__(self) -> None:
self.result = ''
def visit_default_func(self, node: mparser.BaseNode):
self.result += node.value
def visit_default_func(self, node: mparser.BaseNode) -> None:
# XXX: this seems like it could never actually be reached...
self.result += node.value # type: ignore[attr-defined]
if node.whitespaces:
node.whitespaces.accept(self)
def visit_unary_operator(self, node: mparser.UnaryOperatorNode):
def visit_unary_operator(self, node: mparser.UnaryOperatorNode) -> None:
node.operator.accept(self)
node.value.accept(self)
if node.whitespaces:
node.whitespaces.accept(self)
def visit_binary_operator(self, node: mparser.BinaryOperatorNode):
def visit_binary_operator(self, node: mparser.BinaryOperatorNode) -> None:
node.left.accept(self)
node.operator.accept(self)
node.right.accept(self)

@ -32,7 +32,7 @@ class AstVisitor:
def visit_FormatStringNode(self, node: mparser.FormatStringNode) -> None:
self.visit_default_func(node)
def visit_MultilineStringNode(self, node: mparser.StringNode) -> None:
def visit_MultilineStringNode(self, node: mparser.MultilineFormatStringNode) -> None:
self.visit_default_func(node)
def visit_FormatMultilineStringNode(self, node: mparser.FormatStringNode) -> None:
@ -138,7 +138,7 @@ class AstVisitor:
node.condition.accept(self)
node.block.accept(self)
def visit_ElseNode(self, node: mparser.IfNode) -> None:
def visit_ElseNode(self, node: mparser.ElseNode) -> None:
self.visit_default_func(node)
node.block.accept(self)

@ -24,6 +24,7 @@ modules = [
'mesonbuild/wrap/',
# specific files
'mesonbuild/ast/printer.py',
'mesonbuild/arglist.py',
'mesonbuild/backend/backends.py',
'mesonbuild/backend/nonebackend.py',

Loading…
Cancel
Save