diff options
author | Guido van Rossum <guido@python.org> | 2023-06-14 17:06:50 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 17:06:50 (GMT) |
commit | d50930a6a846280b5da299f9c2f9a01669dbf06c (patch) | |
tree | 7c5a3e1fde4efebfe6e95ff0ec425faba009ea62 | |
parent | 74c2422fa2d7e17969a7554a3bf17f91e4e5a85f (diff) | |
download | cpython-d50930a6a846280b5da299f9c2f9a01669dbf06c.zip cpython-d50930a6a846280b5da299f9c2f9a01669dbf06c.tar.gz cpython-d50930a6a846280b5da299f9c2f9a01669dbf06c.tar.bz2 |
gh-105481: Fix types and a bug for pseudos (#105788)
-rw-r--r-- | Tools/cases_generator/generate_cases.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Tools/cases_generator/generate_cases.py b/Tools/cases_generator/generate_cases.py index 8aa500e..8d5739f 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 @@ class Analyzer: 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 @@ class Analyzer: # 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 @@ class Analyzer: 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. |