methods declared twice in KL

I'm trying to kludge the ASTWrapper in FabricServices... inception :) !
It actually started very smoothly, I was able to kludge discover / generate / scons build, all good... but the extensions fails to load, as some function definitions are duplicated KL-side, for example:

/// \dfgPresetOmit
/// \internal
CxxFabricServices_ASTWrapper_KLFunctionConstPtrStdVector
CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef.cxx_getFunctions?(
    )
{
    if (Fabric_Guarded && !this.ptr)
        throw "Call of CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef.cxx_getFunctions on null CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef";
    return
    this.ptr->{ FabricServices_ASTWrapper_KLDeclContainer }.cxx_getFunctions(
        );
}

and:

/// \dfgPresetOmit
/// \internal
CxxFabricServices_ASTWrapper_KLFunctionConstPtrStdVector
CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef.cxx_getFunctions?(
    )
{
    if (Fabric_Guarded && !this.ptr)
        throw "Call of CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef.cxx_getFunctions on null CxxFabricServices_ASTWrapper_KLExtensionConstPtrRef";
    return
    this.ptr->{ FabricServices_ASTWrapper_KLExtension }.cxx_getFunctions(
        );
}

The only diff between the two is in the cast:

return this.ptr->{ FabricServices_ASTWrapper_KLDeclContainer }.cxx_getFunctions();
return this.ptr->{ FabricServices_ASTWrapper_KLExtension }.cxx_getFunctions();

KLDeclContainer is abstract (and was marked abstract by discover), and KLExtension derives from it. It looks like generate is declaring methods at both levels of the inheritance chain.

Any idea how to fix this?

R&D Developer at Dwarf Animation Studio

Answers

Sign In or Register to comment.