X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FOp%2FProp.pm;h=dc4ae782f2d68e5cf2aa36db9df03960eac1a27a;hb=0676b2822d7fdcab673d3f0c4a85fe9d05af8a76;hp=bacdf7c3d01685c8b784679f869770a935dc73ec;hpb=37e9670dc1bf2c37386b1b84afe94877256b8359;p=scpubgit%2FDKit.git diff --git a/lib/DX/Op/Prop.pm b/lib/DX/Op/Prop.pm index bacdf7c..dc4ae78 100644 --- a/lib/DX/Op/Prop.pm +++ b/lib/DX/Op/Prop.pm @@ -14,10 +14,11 @@ sub run { $state, map +($_ => $self->$_), qw(of name value) ); die "property name must be bound" unless $args{name}->is_bound; - my $name = $args{name}->bound_value; + my $name = $state->resolve_value($args{name}); if ($args{of}->is_bound) { if ($args{value}->is_bound) { - if ($args{of}->bound_value->$name eq $args{value}->bound_value) { + if ($state->resolve_value($args{of})->$name + eq $state->resolve_value($args{value})) { return $state->add_dependencies( $args{of}->id => $args{value}->id, $args{value}->id => $args{of}->id, @@ -26,7 +27,7 @@ sub run { } return $state->backtrack; } - my $value = $args{of}->bound_value; + my $value = $state->resolve_value($args{of}); if ($value->can("has_${name}") and not $value->${\"has_${name}"}) { return $state->backtrack; }