| Index: pkg/compiler/lib/src/resolution/members.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
|
| index 2611192b7ca9cffb378e6c9a833af41840c70e13..206a0352c1e3744345e64ba74f62ea0268cc5a44 100644
|
| --- a/pkg/compiler/lib/src/resolution/members.dart
|
| +++ b/pkg/compiler/lib/src/resolution/members.dart
|
| @@ -516,11 +516,19 @@ class ResolverTask extends CompilerTask {
|
| compiler.reportError(asyncModifier,
|
| MessageKind.ASYNC_MODIFIER_ON_CONSTRUCTOR,
|
| {'modifier': element.asyncMarker});
|
| - } else if (functionExpression.body.asReturn() != null &&
|
| + } else {
|
| + if (element.isSetter) {
|
| + compiler.reportError(asyncModifier,
|
| + MessageKind.ASYNC_MODIFIER_ON_SETTER,
|
| + {'modifier': element.asyncMarker});
|
| +
|
| + }
|
| + if (functionExpression.body.asReturn() != null &&
|
| element.asyncMarker.isYielding) {
|
| - compiler.reportError(asyncModifier,
|
| - MessageKind.YIELDING_MODIFIER_ON_ARROW_BODY,
|
| - {'modifier': element.asyncMarker});
|
| + compiler.reportError(asyncModifier,
|
| + MessageKind.YIELDING_MODIFIER_ON_ARROW_BODY,
|
| + {'modifier': element.asyncMarker});
|
| + }
|
| }
|
| }
|
| }
|
|
|