Index: pkg/analyzer/lib/src/generated/resolver.dart |
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart |
index e66e0158648558256d89cbb7922952818f605e76..b616444ad2e41c3f94a7a3b5be8be01a4abc2d66 100644 |
--- a/pkg/analyzer/lib/src/generated/resolver.dart |
+++ b/pkg/analyzer/lib/src/generated/resolver.dart |
@@ -167,6 +167,20 @@ class BestPracticesVerifier extends RecursiveAstVisitor<Object> { |
} |
@override |
+ Object visitConstructorDeclaration(ConstructorDeclaration node) { |
+ if (node.element.isFactory) { |
+ if (node.body is BlockFunctionBody) { |
+ // Check the block for a return statement, if not, create the hint. |
+ if (!ExitDetector.exits(node.body)) { |
+ _errorReporter.reportErrorForNode( |
+ HintCode.MISSING_RETURN, node, [node.returnType.name]); |
+ } |
+ } |
+ } |
+ return super.visitConstructorDeclaration(node); |
+ } |
+ |
+ @override |
Object visitFunctionDeclaration(FunctionDeclaration node) { |
bool wasInDeprecatedMember = inDeprecatedMember; |
ExecutableElement element = node.element; |