On Sat, Jun 8, 2013 at 5:48 AM, Nick Wellnhofer <[email protected]> wrote: > On Jun 7, 2013, at 02:00 , Marvin Humphrey <[email protected]> wrote: > Looking at the code in CFCPerlClass_method_bindings where we need the > metadata from other parcels, it turns out that the same problem applies to > "excluded" methods.
That makes sense. Really, it could be anything that we put into the Perl binding specification -- i.e. anything in `$REPOS/perl/buildlib/Lucy/Build/Binding/*.pm`. For instance, say that we inherited method documentation -- that would also be lost. The issue is that we generate the method binding spec programatically rather than via a spec file. It's more flexible, but introduces some complications. I don't imagine we'll ultimately decide to do this, but we should at least consider that installing those Lucy::Build::Binding::* modules would be one path to solving this problem. > I think the best place to store that information is in the Method objects. > The bootstraping code in boot.c could add method aliases and exclusions like > this: > > VTable_Add_Host_Method_Alias(LUCY_OBJ, "Load", "_load"); > VTable_Exclude_Host_Method(LUCY_HASH, "Store"); +1 Adding this information to the introspection data makes sense regardless of how we solve the larger problem of preserving binding spec data. > By the way, I'm really in favor of renaming Clownfish::VTable to > Clownfish::Class. +1 For previous discussion, see <http://markmail.org/message/bdxdrcyxgbum627g>, near the end. Marvin Humphrey
