@@ -61,15 +61,22 @@ class ProofOpts(KMirOpts):
6161
6262@dataclass
6363class ProveOpts (KMirOpts ):
64+ rs_file : Path
6465 proof_dir : Path | None
6566 haskell_target : str | None
6667 llvm_lib_target : str | None
6768 bug_report : Path | None
6869 max_depth : int | None
6970 max_iterations : int | None
71+ max_workers : int | None
7072 reload : bool
7173 fail_fast : bool
7274 maintenance_rate : int
75+ save_smir : bool
76+ smir : bool
77+ parsed_smir : dict | None
78+ start_symbol : str
79+ add_module : Path | None
7380 break_on_calls : bool
7481 break_on_function_calls : bool
7582 break_on_intrinsic_calls : bool
@@ -87,71 +94,6 @@ class ProveOpts(KMirOpts):
8794 terminate_on_thunk : bool
8895 break_on_function : list [str ]
8996
90- def __init__ (
91- self ,
92- * ,
93- proof_dir : Path | str | None = None ,
94- haskell_target : str | None = None ,
95- llvm_lib_target : str | None = None ,
96- bug_report : Path | None = None ,
97- max_depth : int | None = None ,
98- max_iterations : int | None = None ,
99- reload : bool = False ,
100- fail_fast : bool = False ,
101- maintenance_rate : int = 1 ,
102- break_on_calls : bool = False ,
103- break_on_function_calls : bool = False ,
104- break_on_intrinsic_calls : bool = False ,
105- break_on_thunk : bool = False ,
106- break_every_statement : bool = False ,
107- break_on_terminator_goto : bool = False ,
108- break_on_terminator_switch_int : bool = False ,
109- break_on_terminator_return : bool = False ,
110- break_on_terminator_call : bool = False ,
111- break_on_terminator_assert : bool = False ,
112- break_on_terminator_drop : bool = False ,
113- break_on_terminator_unreachable : bool = False ,
114- break_every_terminator : bool = False ,
115- break_every_step : bool = False ,
116- terminate_on_thunk : bool = False ,
117- break_on_function : list [str ] | None = None ,
118- ) -> None :
119- self .proof_dir = Path (proof_dir ).resolve () if proof_dir is not None else None
120- self .haskell_target = haskell_target
121- self .llvm_lib_target = llvm_lib_target
122- self .bug_report = bug_report
123- self .max_depth = max_depth
124- self .max_iterations = max_iterations
125- self .reload = reload
126- self .fail_fast = fail_fast
127- self .maintenance_rate = maintenance_rate
128- self .break_on_calls = break_on_calls
129- self .break_on_function_calls = break_on_function_calls
130- self .break_on_intrinsic_calls = break_on_intrinsic_calls
131- self .break_on_thunk = break_on_thunk
132- self .break_every_statement = break_every_statement
133- self .break_on_terminator_goto = break_on_terminator_goto
134- self .break_on_terminator_switch_int = break_on_terminator_switch_int
135- self .break_on_terminator_return = break_on_terminator_return
136- self .break_on_terminator_call = break_on_terminator_call
137- self .break_on_terminator_assert = break_on_terminator_assert
138- self .break_on_terminator_drop = break_on_terminator_drop
139- self .break_on_terminator_unreachable = break_on_terminator_unreachable
140- self .break_every_terminator = break_every_terminator
141- self .break_every_step = break_every_step
142- self .terminate_on_thunk = terminate_on_thunk
143- self .break_on_function = break_on_function if break_on_function is not None else []
144-
145-
146- @dataclass
147- class ProveRSOpts (ProveOpts ):
148- rs_file : Path
149- save_smir : bool
150- smir : bool
151- start_symbol : str
152- add_module : Path | None
153- max_workers : int | None
154-
15597 def __init__ (
15698 self ,
15799 rs_file : Path ,
@@ -168,6 +110,7 @@ def __init__(
168110 maintenance_rate : int = 1 ,
169111 save_smir : bool = False ,
170112 smir : bool = False ,
113+ parsed_smir : dict | None = None ,
171114 start_symbol : str = 'main' ,
172115 break_on_calls : bool = False ,
173116 break_on_function_calls : bool = False ,
@@ -200,6 +143,7 @@ def __init__(
200143 self .maintenance_rate = maintenance_rate
201144 self .save_smir = save_smir
202145 self .smir = smir
146+ self .parsed_smir = parsed_smir
203147 self .start_symbol = start_symbol
204148 self .break_on_calls = break_on_calls
205149 self .break_on_function_calls = break_on_function_calls
0 commit comments