Skip to content

Commit

Permalink
Revert "Remove node-specific logic from visit_default (#4321)"
Browse files Browse the repository at this point in the history
This reverts commit 7134754.
  • Loading branch information
tusharsadhwani committed Apr 22, 2024
1 parent 25941cd commit eb05cd4
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions src/black/linegen.py
Expand Up @@ -152,6 +152,11 @@ def visit_default(self, node: LN) -> Iterator[Line]:

if any_open_brackets:
node.prefix = ""
if self.mode.string_normalization and node.type == token.STRING:
node.value = normalize_string_prefix(node.value)
node.value = normalize_string_quotes(node.value)
if node.type == token.NUMBER:
normalize_numeric_literal(node)
if node.type not in WHITESPACE:
self.current_line.append(node)
yield from super().visit_default(node)
Expand Down Expand Up @@ -415,11 +420,12 @@ def visit_STRING(self, leaf: Leaf) -> Iterator[Line]:
# indentation of those changes the AST representation of the code.
if self.mode.string_normalization:
docstring = normalize_string_prefix(leaf.value)
# We handle string normalization at the end of this method, but since
# what we do right now acts differently depending on quote style (ex.
# visit_default() does handle string normalization for us, but
# since this method acts differently depending on quote style (ex.
# see padding logic below), there's a possibility for unstable
# formatting. To avoid a situation where this function formats a
# docstring differently on the second pass, normalize it early.
# formatting as visit_default() is called *after*. To avoid a
# situation where this function formats a docstring differently on
# the second pass, normalize it early.
docstring = normalize_string_quotes(docstring)
else:
docstring = leaf.value
Expand Down Expand Up @@ -493,13 +499,6 @@ def visit_STRING(self, leaf: Leaf) -> Iterator[Line]:
else:
leaf.value = prefix + quote + docstring + quote

if self.mode.string_normalization and leaf.type == token.STRING:
leaf.value = normalize_string_prefix(leaf.value)
leaf.value = normalize_string_quotes(leaf.value)
yield from self.visit_default(leaf)

def visit_NUMBER(self, leaf: Leaf) -> Iterator[Line]:
normalize_numeric_literal(leaf)
yield from self.visit_default(leaf)

def visit_fstring(self, node: Node) -> Iterator[Line]:
Expand Down

0 comments on commit eb05cd4

Please sign in to comment.