my ($self, $old_hyp, @recheck) = @_;
return undef unless $old_hyp;
return $old_hyp unless @recheck;
+ my $hyp = $old_hyp;
+ foreach my $prop (@recheck) {
+ return undef unless $hyp = $self->_recheck_one($hyp, $prop);
+ }
+ return $hyp;
+}
+
+sub _recheck_one {
+ my ($self, $old_hyp, $prop) = @_;
my $ap = DX::ActionPolicy::LockScope->new(
lock_to_depth => $old_hyp->scope->depth,
);
my $pseq = DX::PropositionSequence->new(
- members => \@recheck,
+ members => [ $prop ],
external_names => {},
internal_names => {},
);
my $rps = $old_hyp->resolved_propositions;
$rps = $rps->with_updated_dependencies_for(
- $_, $sol_rps->dependencies_for($_)
- ) for @recheck;
+ $prop, $sol_rps->dependencies_for($prop)
+ );
trace 'step.recheck.done' => 'yay';