description

# Deprecated.extend constructor

const Deprecated.extend([

1. String? message

])

Creates an annotation which deprecates extending a class.

The annotation can be used on `class` declarations which can currently be extended, so they are not marked `final`, `sealed`, or `interface`, but where the ability to extend will be removed in a later release.

Any existing class declaration which `extends` the class will cause a warning that such use is deprecated. Does not affect classes which implement or mix in the annotated class (see Deprecated.implement, Deprecated.mixin, and Deprecated.subclass).

The annotation is not inherited by subclasses. If a public subclass will also become unextendable, which it will if the annotated declaration becomes `final` or `interface`, but not if it becomes `sealed`, then the subclass should deprecate extendability as well.

The `message`, if given, is displayed as part of the warning. The message should be aimed at the programmer who owns the extending class, and should recommend an alternative (if available), and say when this functionality is expected to be removed if that is sooner or later than the next major version.

## Implementation

    const Deprecated.extend([this.message]) : _kind = _DeprecationKind.extend;