X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FStep%2FResolveProposition.pm;h=3416c278dc24d9f357de73d935dc070aafa5af7d;hb=29daa5541fda849f06b7bf5ecd2d4a72f263b184;hp=1b4cd26c5245d3a0f63733efb5047b02415e9122;hpb=d69f4df43a8e53a1853113acb564b7fce6ac3957;p=scpubgit%2FDX.git diff --git a/lib/DX/Step/ResolveProposition.pm b/lib/DX/Step/ResolveProposition.pm index 1b4cd26..3416c27 100644 --- a/lib/DX/Step/ResolveProposition.pm +++ b/lib/DX/Step/ResolveProposition.pm @@ -4,13 +4,15 @@ use DX::Step::EnterRecheck; use DX::Step::Backtrack; use Types::Standard qw(ArrayRef); -use DX::Utils qw(deparse step); use DX::Class; with 'DX::Role::Step'; -has resolves => (is => 'ro', isa => Proposition); +has resolves => (is => 'lazy', init_arg => undef, builder => sub { + my ($self) = @_; + $self->resolution_space->proposition; +}); has resolution_space => (is => 'ro', isa => ResolutionSpace); @@ -41,10 +43,7 @@ has alternative_step => (is => 'lazy', init_arg => undef, builder => sub { my ($self) = @_; my $rspace = $self->resolution_space->remaining_resolution_space; return undef unless @{$rspace->members}; - return step( - resolves => $self->resolves, - resolution_space => $rspace - ); + return $rspace->next_step; }); sub but_first {