Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
@ -97,8 +97,15 @@ namespace CppSharp.Passes
private void CleanSpecializations(Class template)
{
template.Specializations.RemoveAll(s =>
s.SpecializationKind == TemplateSpecializationKind.Undeclared ||
(!specializations.Contains(s) && !internalSpecializations.Contains(s)));
if (s.SpecializationKind == TemplateSpecializationKind.Undeclared ||
(!specializations.Contains(s) && !internalSpecializations.Contains(s)))
s.ExplicitlyIgnore();
return true;
}
return false;
});
foreach (var specialization in template.Specializations.Where(
s => s is ClassTemplatePartialSpecialization))
@ -70,6 +70,11 @@ DerivedFromExternalSpecialization::~DerivedFromExternalSpecialization()
TemplateWithIndependentFields<Base3> DerivedFromExternalSpecialization::returnExternalSpecialization()
return TemplateWithIndependentFields<Base3>();
HasVirtualInDependency::HasVirtualInDependency()
@ -76,6 +76,7 @@ class DLL_API DerivedFromExternalSpecialization : public TemplateWithIndependent
public:
DerivedFromExternalSpecialization();
~DerivedFromExternalSpecialization();
TemplateWithIndependentFields<Base3> returnExternalSpecialization();
};
class DLL_API DerivedFromSecondaryBaseInDependency : public Derived, public SecondaryBase