d4d3d940848b381df7a536c916921ce87c92e0bb
[scpubgit/DX.git] / lib / DX / Step / FailRecheck.pm
1 package DX::Step::FailRecheck;
2
3 use DX::Class;
4
5 with 'DX::Role::Step';
6
7 has resume_search_state => (is => 'ro', isa => SearchState, required => 1);
8
9 has resolution_space => (is => 'ro', isa => ResolutionSpace, required => 1);
10
11 sub apply_to {
12   my ($self, $old_ss) = @_;
13   trace recheck => [ statement => [ [ symbol => 'fail_recheck' ] ] ];
14   trace recheck => [ 'leave_block' ];
15   return $self->resume_search_state->but(
16     next_step
17       => $self->resolution_space->remaining_resolution_space->next_step
18   );
19 }
20
21 1;