https://bugs.kde.org/show_bug.cgi?id=397664
Bug ID: 397664 Summary: C++ importer does not correctly detect generalization in template classes Product: umbrello Version: Git Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general Assignee: umbrello-de...@kde.org Reporter: mi...@mithi.net Target Milestone: --- Created attachment 114517 --> https://bugs.kde.org/attachment.cgi?id=114517&action=edit Initial patch Umbrello does not correctly parse existing C++ code that uses template classes when trying to detect a generalization. I debugged the code and found that in CppTree2Uml::parseBaseClause the baseName contains the template parameters as part of the name which does not match the name of the class (that has only the name of the class without any template parameters). By stripping the template parameters from baseName the generalization is detected. The attached patch works for my needs and can be used as a starting point. Test Cases: Generalization detection works when not using template classes: class u1 { public: u1() {} ~u1() {} }; class u2: public u1 { public: u2() {} ~u2() {} }; It does not work when using template classes: template <class T> class t1 { public: t1() {} ~t1() {} }; template <class T> class t2: public t1<T> { public: t2() {} ~t2() {} }; -- You are receiving this mail because: You are watching all bug changes.