prefer_ constructors_ over_ static_ methods
Static method should be a constructor.
Description
#The analyzer produces this diagnostic when a static method returns a newly created instance of the class and could, therefore, be a constructor.
Example
#
The following code produces this diagnostic because the static method
all
could be a constructor:
class C {
final int a, b, c;
C(this.a, this.b, this.c);
static C all(int i) => C(i, i, i);
}
Common fixes
#Convert the static method to a named constructor:
class C {
final int a, b, c;
C(this.a, this.b, this.c);
C.all(int i) : a = i, b = i, c = i;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.