Skip to main content

extends_non_class

Classes can only extend other classes.

Description

#

The analyzer produces this diagnostic when an extends clause contains a name that is declared to be something other than a class.

Example

#

The following code produces this diagnostic because f is declared to be a function:

dart
void f() {}

class C extends f {}

Common fixes

#

If you want the class to extend a class other than Object, then replace the name in the extends clause with the name of that class:

dart
void f() {}

class C extends B {}

class B {}

If you want the class to extend Object, then remove the extends clause:

dart
void f() {}

class C {}