File tree 1 file changed +10
-1
lines changed
1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -285,6 +285,8 @@ class proof_trace_callback_writer : public proof_trace_writer {
285
285
std::optional<rewrite_event_construction> current_rewrite_event_{
286
286
std::nullopt};
287
287
288
+ bool rewrite_callback_pending_;
289
+
288
290
virtual void proof_trace_header_callback (uint32_t version) { }
289
291
virtual void hook_event_callback (call_event_construction const &event) { }
290
292
virtual void rewrite_event_callback (rewrite_event_construction const &event) {
@@ -332,6 +334,8 @@ class proof_trace_callback_writer : public proof_trace_writer {
332
334
current_rewrite_event_.emplace (ordinal, arity);
333
335
if (arity == 0 ) {
334
336
rewrite_event_callback (current_rewrite_event_.value ());
337
+ } else {
338
+ rewrite_callback_pending_ = true ;
335
339
}
336
340
}
337
341
@@ -345,7 +349,12 @@ class proof_trace_callback_writer : public proof_trace_writer {
345
349
p.second .bits = bits;
346
350
size_t new_pos = ++current_rewrite_event_->pos ;
347
351
if (new_pos == current_rewrite_event_->arity ) {
348
- rewrite_event_callback (current_rewrite_event_.value ());
352
+ if (rewrite_callback_pending_) {
353
+ rewrite_event_callback (current_rewrite_event_.value ());
354
+ rewrite_callback_pending_ = false ;
355
+ } else {
356
+ side_condition_event_callback (current_rewrite_event_.value ());
357
+ }
349
358
}
350
359
}
351
360
You can’t perform that action at this time.
0 commit comments