File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33import argparse
44import ast
55from collections .abc import Callable
6- from typing import Any
6+ from typing import Any , Protocol
77
88from expr_simplifier import __version__
99from expr_simplifier .transforms import apply_constant_folding , apply_cse , apply_logical_simplification
1010from expr_simplifier .typing import Pass
1111from expr_simplifier .utils import loop_until_stable
1212
1313
14+ class _SubparserFactory (Protocol ):
15+ def add_parser (self , name : str , / , ** kwargs : Any ) -> argparse .ArgumentParser : ...
16+
17+
1418def create_pass_command (name : str , passes : list [Pass ]) -> Callable [[argparse .Namespace ], None ]:
1519 def pass_command (args : argparse .Namespace ) -> None :
1620 expr = ast .parse (args .input , mode = "eval" )
@@ -25,7 +29,7 @@ def create_pass_parser(
2529 name : str ,
2630 passes : list [Pass ],
2731 description : str ,
28- subparser : Any ,
32+ subparser : _SubparserFactory ,
2933) -> None :
3034 parser = subparser .add_parser (name , help = description )
3135 parser .add_argument ("input" , help = "The expression to simplify" )
You can’t perform that action at this time.
0 commit comments