X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FStep%2FResolveProposition.pm;h=271e2c4dcbe399e0881f1803b14a6598fbeb9f3c;hb=8cf755df2debdf733f2cc0797cd0aa3dd733f7af;hp=cc38d4b2a2a9ecfbbb40b97172a9d1ef24935f40;hpb=161534ffafd09ed5f1135e28414f345f88b26d6f;p=scpubgit%2FDX.git diff --git a/lib/DX/Step/ResolveProposition.pm b/lib/DX/Step/ResolveProposition.pm index cc38d4b..271e2c4 100644 --- a/lib/DX/Step/ResolveProposition.pm +++ b/lib/DX/Step/ResolveProposition.pm @@ -76,26 +76,15 @@ sub apply_to { $self->resolves, $self->depends_on, $self->actions ); return $ss->but(next_step => DX::Step::Backtrack->new) unless $hyp; - return $self->_recheck_for( - $ss->but(current_hypothesis => $hyp), - @recheck - ); -} - -sub _recheck_for { - my ($self, $old_ss, @recheck) = @_; - - return $old_ss unless @recheck; - - my $ss = $old_ss->but( + return $ss->but(current_hypothesis => $hyp) unless @recheck; + return $ss->but( + current_hypothesis => $hyp, next_step => DX::Step::EnterRecheck->new( proposition_list => \@recheck, - on_completion_step => $old_ss->next_step, + on_completion_step => $ss->next_step, on_failure_step => DX::Step::Backtrack->new, ), ); - - return $ss; } 1;