invalid_ modifier_ on_ setter
Setters can't use 'async', 'async*', or 'sync*'.
Description
#
The analyzer produces this diagnostic when the body of a setter is prefixed
by one of the following modifiers:
async
,
async*
, or
sync*
. Setter
bodies must be synchronous.
Example
#
The following code produces this diagnostic because the body of the setter
x
is marked as being
async
:
class C {
set x(int i) async {}
}
Common fixes
#If the setter can be synchronous, then remove the modifier:
class C {
set x(int i) {}
}
If the setter can't be synchronous, then use a method to set the value instead:
class C {
void x(int i) async {}
}
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.