Skip to content

Commit 60f5054

Browse files
committed
Tweak formatting of code directly after C macros
1 parent 7a77491 commit 60f5054

File tree

5 files changed

+35
-39
lines changed

5 files changed

+35
-39
lines changed

Python/executor_cases.c.h

Lines changed: 7 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Python/generated_cases.c.h

Lines changed: 11 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tools/cases_generator/analyzer.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,12 @@ class Properties:
2929
needs_prev: bool = False
3030

3131
def dump(self, indent: str) -> None:
32-
print(indent, end="")
33-
text = ", ".join([f"{key}: {value}" for (key, value) in self.__dict__.items()])
32+
simple_properties = self.__dict__.copy()
33+
del simple_properties["escaping_calls"]
34+
text = "escaping_calls:\n"
35+
for tkns in self.escaping_calls.values():
36+
text += f"{indent} {tkns}\n"
37+
text += ", ".join([f"{key}: {value}" for (key, value) in simple_properties.items()])
3438
print(indent, text, sep="")
3539

3640
@staticmethod
@@ -605,6 +609,10 @@ def has_error_without_pop(op: parser.InstDef) -> bool:
605609
"_Py_DECREF_NO_DEALLOC",
606610
"assert",
607611
"backoff_counter_triggers",
612+
"initial_temperature_backoff_counter",
613+
"advance_backoff_counter",
614+
"restart_backoff_counter",
615+
"_PyCode_CODE",
608616
)
609617

610618
def find_stmt_start(node: parser.InstDef, idx: int) -> lexer.Token:

Tools/cases_generator/cwriter.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ def __init__(self, out: TextIO, indent: int, line_directives: bool):
1818

1919
def set_position(self, tkn: Token) -> None:
2020
if self.last_token is not None:
21-
if self.last_token.line < tkn.line:
21+
if self.last_token.end_line < tkn.line:
2222
self.out.write("\n")
23+
if self.last_token.line < tkn.line:
2324
if self.line_directives:
2425
self.out.write(f'#line {tkn.line} "{tkn.filename}"\n')
2526
self.out.write(" " * self.indents[-1])
@@ -91,6 +92,8 @@ def emit_token(self, tkn: Token) -> None:
9192
self.maybe_dedent(tkn.text)
9293
self.set_position(tkn)
9394
self.emit_text(tkn.text)
95+
if tkn.kind == "CMACRO":
96+
self.newline = True
9497
self.maybe_indent(tkn.text)
9598

9699
def emit_str(self, txt: str) -> None:

Tools/cases_generator/lexer.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,6 @@ def tokenize(src: str, line: int = 1, filename: str = "") -> Iterator[Token]:
312312
kind = CHARACTER
313313
elif text[0] == "#":
314314
kind = CMACRO
315-
linestart = start
316-
line += 1
317315
elif text[0] == "/" and text[1] in "/*":
318316
kind = COMMENT
319317
else:
@@ -335,6 +333,9 @@ def tokenize(src: str, line: int = 1, filename: str = "") -> Iterator[Token]:
335333
line += newlines
336334
else:
337335
begin = line, start - linestart
336+
if kind == CMACRO:
337+
linestart = end
338+
line += 1
338339
if kind != "\n":
339340
yield Token(
340341
filename, kind, text, begin, (line, start - linestart + len(text))

0 commit comments

Comments
 (0)