Arthur Bergman <[EMAIL PROTECTED]> wrote:
> Hi,

> I am adding an additional pmc (Perl5LV), however a test fails

> t/pmc/pmc...........NOK 75#     Failed test (t/pmc/pmc.t at line 1650)
> #          got: 'Perl5LV PMCs have incorrect name ""
> # '
> #     expected: 'All names and ids ok.
> # '
> t/pmc/pmc...........ok 91/91# Looks like you failed 1 tests of 91.

This is the builtin ponie protection ;-)

These come to my mind:

$ make realclean && perl Configure.pl ...

  (We are still missing some dependencies)

If that doesn't:

A PMCs name() is coming from the name() vtable, which is handled in
default.pmc. default.name() returns vtable->whoami. This is a STRING
set up by pmc2c.pl. You can see these in $class.c files.

Normally a class shouldn't handle the name() and type() vtables, the
default implementation does it. If you have a base class, that has these
functions then you must handle it in all your derived classes.

Finally:

$ perl classes/pmc2c.pl --tree classes/perl*.pmc

should give you a class hierarchy tree.

If that still isn't: then set a break point in Parrot_<class>_name, where
the class is that one you see in Perl5LV.c:temp_base_vtable in the
C<name> slot.

HTH
leo

Reply via email to