Skip to content
Merged
Prev Previous commit
Next Next commit
Address code review
  • Loading branch information
corona10 committed Aug 18, 2023
commit e695d2f320f696174717bf3a98e988ae046a02b6
4 changes: 2 additions & 2 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
python-version: "3.11"
cache: pip
cache-dependency-path: Tools/requirements-dev.txt
- run: pip install -r Tools/requirements-dev.txt
Expand All @@ -47,7 +47,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
python-version: "3.11"
cache: pip
cache-dependency-path: Tools/requirements-dev.txt
- run: pip install -r Tools/requirements-dev.txt
Expand Down
16 changes: 16 additions & 0 deletions Tools/cases_generator/generate_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,11 @@ def effect_str(effects: list[StackEffect]) -> str:
assert target_instr
target_popped = effect_str(target_instr.input_effects)
target_pushed = effect_str(target_instr.output_effects)
if popped is None and pushed is None:
popped, pushed = target_popped, target_pushed
else:
assert popped == target_popped
assert pushed == target_pushed
case _:
typing.assert_never(thing)
return instr, popped, pushed
Expand Down Expand Up @@ -391,7 +395,11 @@ def write_metadata(self, metadata_filename: str, pymetadata_filename: str) -> No
assert target_instr
if format is None:
format = target_instr.instr_fmt
else:
assert format == target_instr.instr_fmt
assert format is not None
case _:
typing.assert_never(thing)
all_formats.add(format)

# Turn it into a sorted list of enum values.
Expand Down Expand Up @@ -480,6 +488,8 @@ def write_metadata(self, metadata_filename: str, pymetadata_filename: str) -> No
self.write_metadata_for_pseudo(
self.pseudo_instrs[thing.name]
)
case _:
typing.assert_never(thing)

with self.metadata_item(
"const struct opcode_macro_expansion "
Expand Down Expand Up @@ -515,6 +525,8 @@ def write_metadata(self, metadata_filename: str, pymetadata_filename: str) -> No
)
case parsing.Pseudo():
pass
case _:
typing.assert_never(thing)

with self.metadata_item(
"const char * const _PyOpcode_uop_name[OPCODE_UOP_NAME_SIZE]", "=", ";"
Expand Down Expand Up @@ -762,6 +774,8 @@ def write_instructions(
# self.write_macro(self.macro_instrs[thing.name])
case parsing.Pseudo():
pass
case _:
typing.assert_never(thing)

print(
f"Wrote {n_instrs} instructions and {n_macros} macros "
Expand Down Expand Up @@ -804,6 +818,8 @@ def write_executor_instructions(
pass
case parsing.Pseudo():
pass
case _:
typing.assert_never(thing)
print(
f"Wrote {n_instrs} instructions and {n_uops} ops to {executor_filename}",
file=sys.stderr,
Expand Down