|
|
@ -65,8 +65,9 @@ class AstPrinter(AstVisitor): |
|
|
|
node.lineno = self.curr_line or node.lineno |
|
|
|
node.lineno = self.curr_line or node.lineno |
|
|
|
|
|
|
|
|
|
|
|
def escape(self, val: str) -> str: |
|
|
|
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: |
|
|
|
def visit_StringNode(self, node: mparser.StringNode) -> None: |
|
|
|
assert isinstance(node.value, str) |
|
|
|
assert isinstance(node.value, str) |
|
|
@ -78,7 +79,7 @@ class AstPrinter(AstVisitor): |
|
|
|
self.append("f'" + self.escape(node.value) + "'", node) |
|
|
|
self.append("f'" + self.escape(node.value) + "'", node) |
|
|
|
node.lineno = self.curr_line or node.lineno |
|
|
|
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) |
|
|
|
assert isinstance(node.value, str) |
|
|
|
self.append("'''" + node.value + "'''", node) |
|
|
|
self.append("'''" + node.value + "'''", node) |
|
|
|
node.lineno = self.curr_line or node.lineno |
|
|
|
node.lineno = self.curr_line or node.lineno |
|
|
@ -241,21 +242,22 @@ class AstPrinter(AstVisitor): |
|
|
|
|
|
|
|
|
|
|
|
class RawPrinter(AstVisitor): |
|
|
|
class RawPrinter(AstVisitor): |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self): |
|
|
|
def __init__(self) -> None: |
|
|
|
self.result = '' |
|
|
|
self.result = '' |
|
|
|
|
|
|
|
|
|
|
|
def visit_default_func(self, node: mparser.BaseNode): |
|
|
|
def visit_default_func(self, node: mparser.BaseNode) -> None: |
|
|
|
self.result += node.value |
|
|
|
# XXX: this seems like it could never actually be reached... |
|
|
|
|
|
|
|
self.result += node.value # type: ignore[attr-defined] |
|
|
|
if node.whitespaces: |
|
|
|
if node.whitespaces: |
|
|
|
node.whitespaces.accept(self) |
|
|
|
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.operator.accept(self) |
|
|
|
node.value.accept(self) |
|
|
|
node.value.accept(self) |
|
|
|
if node.whitespaces: |
|
|
|
if node.whitespaces: |
|
|
|
node.whitespaces.accept(self) |
|
|
|
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.left.accept(self) |
|
|
|
node.operator.accept(self) |
|
|
|
node.operator.accept(self) |
|
|
|
node.right.accept(self) |
|
|
|
node.right.accept(self) |
|
|
|