| Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| index 1f1c9493e33d3e0fee6c2e6ee4345ec35098de66..aca4608e3a976031939e4b2b60844cf9b84ffe5c 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| @@ -2523,6 +2523,15 @@ class ResolverVisitor extends MappingVisitor<Element> {
|
| if (node.isRedirectingFactoryBody) {
|
| handleRedirectingFactoryBody(node);
|
| } else {
|
| + Node expression = node.expression;
|
| + if (expression != null &&
|
| + enclosingElement.isGenerativeConstructor()) {
|
| + // It is a compile-time error if a return statement of the form
|
| + // `return e;` appears in a generative constructor. (Dart Language
|
| + // Specification 13.12.)
|
| + compiler.reportError(expression,
|
| + MessageKind.CANNOT_RETURN_FROM_CONSTRUCTOR);
|
| + }
|
| visit(node.expression);
|
| }
|
| }
|
|
|