diff options
author | Brandt Bucher <brandtbucher@microsoft.com> | 2025-04-30 00:21:53 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-30 00:21:53 (GMT) |
commit | 732d1b02417e91d6a4247879e290065287cc6b51 (patch) | |
tree | dc0569fc581bcc6d26649df341bead9e47cff7a0 /Tools/cases_generator/generators_common.py | |
parent | b329096cfbebb60e0f5c3ea0a300f650d2004200 (diff) | |
download | cpython-732d1b02417e91d6a4247879e290065287cc6b51.zip cpython-732d1b02417e91d6a4247879e290065287cc6b51.tar.gz cpython-732d1b02417e91d6a4247879e290065287cc6b51.tar.bz2 |
Get rid of ERROR_IF's "label" parameter (GH-132654)
Diffstat (limited to 'Tools/cases_generator/generators_common.py')
-rw-r--r-- | Tools/cases_generator/generators_common.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/Tools/cases_generator/generators_common.py b/Tools/cases_generator/generators_common.py index 9d87dc3..9e60d21 100644 --- a/Tools/cases_generator/generators_common.py +++ b/Tools/cases_generator/generators_common.py @@ -170,12 +170,12 @@ class Emitter: exit_if = deopt_if - def goto_error(self, offset: int, label: str, storage: Storage) -> str: + def goto_error(self, offset: int, storage: Storage) -> str: if offset > 0: - return f"JUMP_TO_LABEL(pop_{offset}_{label});" + return f"JUMP_TO_LABEL(pop_{offset}_error);" if offset < 0: storage.copy().flush(self.out) - return f"JUMP_TO_LABEL({label});" + return f"JUMP_TO_LABEL(error);" def error_if( self, @@ -191,17 +191,13 @@ class Emitter: unconditional = always_true(first_tkn) if unconditional: next(tkn_iter) - comma = next(tkn_iter) - if comma.kind != "COMMA": - raise analysis_error(f"Expected comma, got '{comma.text}'", comma) + next(tkn_iter) # RPAREN self.out.start_line() else: self.out.emit_at("if ", tkn) self.emit(lparen) - emit_to(self.out, tkn_iter, "COMMA") + emit_to(self.out, tkn_iter, "RPAREN") self.out.emit(") {\n") - label = next(tkn_iter).text - next(tkn_iter) # RPAREN next(tkn_iter) # Semi colon storage.clear_inputs("at ERROR_IF") @@ -210,7 +206,7 @@ class Emitter: offset = int(c_offset) except ValueError: offset = -1 - self.out.emit(self.goto_error(offset, label, storage)) + self.out.emit(self.goto_error(offset, storage)) self.out.emit("\n") if not unconditional: self.out.emit("}\n") @@ -227,7 +223,7 @@ class Emitter: next(tkn_iter) # LPAREN next(tkn_iter) # RPAREN next(tkn_iter) # Semi colon - self.out.emit_at(self.goto_error(0, "error", storage), tkn) + self.out.emit_at(self.goto_error(0, storage), tkn) return False def decref_inputs( |