From d50930a6a846280b5da299f9c2f9a01669dbf06c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 14 Jun 2023 10:06:50 -0700 Subject: [PATCH] gh-105481: Fix types and a bug for pseudos (#105788) --- Tools/cases_generator/generate_cases.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Tools/cases_generator/generate_cases.py b/Tools/cases_generator/generate_cases.py index 8aa500e9e7412a..8d5739f307abf2 100644 --- a/Tools/cases_generator/generate_cases.py +++ b/Tools/cases_generator/generate_cases.py @@ -510,7 +510,7 @@ class OverriddenInstructionPlaceHolder: name: str -AnyInstruction = Instruction | MacroInstruction +AnyInstruction = Instruction | MacroInstruction | PseudoInstruction INSTR_FMT_PREFIX = "INSTR_FMT_" INSTR_FLAG_SUFFIX = "_FLAG" @@ -550,6 +550,7 @@ def error(self, msg: str, node: parser.Node) -> None: macros: dict[str, parser.Macro] macro_instrs: dict[str, MacroInstruction] families: dict[str, parser.Family] + pseudos: dict[str, parser.Pseudo] pseudo_instrs: dict[str, PseudoInstruction] def parse(self) -> None: @@ -607,7 +608,7 @@ def parse_file(self, filename: str, instrs_idx: dict[str, int]) -> None: # Parse from start psr.setpos(start) - thing: parser.InstDef | parser.Macro | parser.Family | None + thing: parser.InstDef | parser.Macro | parser.Pseudo | parser.Family | None thing_first_token = psr.peek() while thing := psr.definition(): if ws := [w for w in RESERVED_WORDS if variable_used(thing, w)]: @@ -927,7 +928,7 @@ def effect_str(effects: list[StackEffect]) -> str: popped = str(-low) pushed = str(sp - low) case parser.Pseudo(): - instr = self.pseudos[thing.name] + instr = self.pseudo_instrs[thing.name] popped = pushed = None # Calculate stack effect, and check that it's the the same # for all targets.