Anarres-Mud-Driver
view release on metacpan or search on metacpan
lib/Driver/Compiler/Check.pm view on Meta::CPAN
sub check {
my ($self, $program, @rest) = @_;
$self->tc_start;
my ($value, $field) = $self->values;
$value->check($program, @rest)
or return $self->tc_fail;
my $type = $value->type;
if (!($type->is_class)) {
$program->error("Cannot get member $field of type " .
$type->name);
# print STDERR "Failed fragment is " . $value->dump, "\n";
return $self->tc_fail;
}
elsif (0) { # XXX Does the field exist?
$program->error("No field called $field in class " .
$type->class);
return $self->tc_fail;
}
my $ftype = $program->class_field_type($type->class, $field);
$self->settype($ftype); # Might be T_FAILED
return $self->tc_end;
( run in 1.431 second using v1.01-cache-2.11-cpan-b16cb0d3907 )