Jonathan Worthington wrote:
Hi,
I was working on starting to move class functionality into v-table
methods, as discussed on list recently. However, I hit an interesting
issue - you cannot have a METHOD or PCCMETHOD with the same name as a
vtable method. We need to be able to do that to implement the interface
specified in PDD15, though.
As of r17967, instead of turning any non-vtable method to:
Parrot_CLASSNAME_METHODNAME
Which could conflict with the vtable method, pmc2c now generates:
Parrot_CLASSNAME_nci_METHODNAME
This is a leftover from the old days when the way to override a vtable
method was to define a method with an '__' name, so they never
conflicted. I expect this assumption will need to be rooted out in
several other places as well, so its worth a thorough review for the PMC
PDD. This is a good enough fix in the meantime. (After Lua is working.)
Allison