Fix shadowing of ClassMemberDeclaration::isAbstract by ClassFunctionDeclaration

Authored by kossebau on Aug 2 2017, 10:30 PM.

Description

Fix shadowing of ClassMemberDeclaration::isAbstract by ClassFunctionDeclaration

Summary:
816bf9de8b91314965de27fb5e855eb0d7486871 added an isAbstract property
to ClassMemberDeclaration, while its subclass ClassFunctionDeclaration
already has had such a property, with same getter, but different setter.
By commit message this was done to support Java language features.

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 this by removing the abstract property again from
ClassMemberDeclaration. Being abstract/final is something not possible
in general for any kind of members, but only subtypes like e.g. functions.
(Besides, the final attribute for Java variables has the same keyword,
but is a different concept, so should get stored with a different property)

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.

Reviewers: KDevelop, kfunk

Reviewed By: KDevelop, kfunk

Subscribers: kfunk, kdevelop-devel

Differential Revision: https://phabricator.kde.org/D7084

Details

Committed
kossebauAug 3 2017, 3:12 PM
Reviewer
KDevelop
Differential Revision
D7084: Fix shadowing of ClassMemberDeclaration::isAbstract by ClassFunctionDeclaration
Parents
R33:d74499f36892: Merge branch '5.1'
Branches
Unknown
Tags
Unknown