Closed
Description
As a continuation of #6, which allows the abstract
modifier on class declarations, we should extend this to class methods.
Relevant points:
- An
abstract
method may only be declared in anabstract
class abstract
methods may not have implementationsabstract
methods may not beprivate
, but may beprotected
- It is an error to invoke an abstract method via
super
in a derived clas - Fields may not be
abstract
- Property getters / setters may not be
abstract
- A class must be marked
abstract
if it does not overwrite all of its abstract base class'sabstract
methods - All overloads of a method must have, or not have, the
abstract
modifier - Static methods may not be
abstract
abstract
modifier must come afterpublic
orprotected
modifier
Secondary clarifications:
abstract
has no impact on assignability / subtype / supertype relations