D7084: Fix shadowing of ClassMemberDeclaration::isAbstract by ClassFunctionDeclaration

Friedrich W. H. Kossebau noreply at phabricator.kde.org
Wed Aug 2 22:40:57 UTC 2017


kossebau created this revision.
Restricted Application added a subscriber: kdevelop-devel.

REVISION SUMMARY
  https://phabricator.kde.org/R33:816bf9de8b91314965de27fb5e855eb0d7486871 added an isAbstract property
  to ClassMemberDeclaration, while its subclass ClassFunctionDeclaration
  already has had such a property, with same getter, but different setter.
  
  As a result e.g. clang builder sets the property stored with
  ClassMemberDeclaration, while other code seeing the subclass
  then fetches the not set property stored with ClassFunctionDeclaration.
  
  This patch fixes it in an ABI-stable way for now, by forwarding the
  setter/getter of ClassFunctionDeclaration to its base class.

TEST PLAN
  Code paths using isAbstract() still work or rather work properly now,
  like the overrides page in the file template generator now properly
  listing abstract methods as abstract.

REPOSITORY
  R33 KDevPlatform

BRANCH
  removeShadowingDuplicatedAbstractProperty

REVISION DETAIL
  https://phabricator.kde.org/D7084

AFFECTED FILES
  language/duchain/classfunctiondeclaration.cpp
  language/duchain/classfunctiondeclaration.h

To: kossebau, #kdevelop
Cc: kdevelop-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170802/c2628642/attachment.html>


More information about the KDevelop-devel mailing list