my ($prop, @rest) = @{$self->proposition_list};
- die "NOT YET DAMNIT" if @rest;
-
my $old_hyp = $old_ss->current_hypothesis;
# we should probably be doing something about pruning the scope
internal_names => {},
);
+ my $next_step = (@rest
+ ? $self->but(proposition_list => \@rest)
+ : $self->on_completion_step);
+
trace 'step.recheck.hyp' => $hyp;
my $ss = DX::SearchState->new(
is_solution_state => 0,
on_exhaustion_step => undef,
on_solution_step => DX::Step::CompleteRecheck->new(
- resume_search_state => $old_ss->but(
- next_step => $self->on_completion_step
- ),
+ resume_search_state => $old_ss->but(next_step => $next_step),
was_recheck_for => $prop,
),
);
sub _recheck_for {
my ($self, $old_ss, @recheck) = @_;
- return $old_ss unless @recheck;
- my $ss = $old_ss;
- foreach my $prop (@recheck) {
- return undef unless $ss = $self->_recheck_one($ss, $prop);
- }
- return $ss;
-}
-sub _recheck_one {
- my ($self, $old_ss, $prop) = @_;
+ return $old_ss unless @recheck;
my $ss = $old_ss->but(
next_step => DX::Step::EnterRecheck->new(
- proposition_list => [ $prop ],
+ proposition_list => \@recheck,
on_completion_step => DX::Step::MarkAsSolution->new,
),
);