| 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 debb318e03aa2331741a464c2b277bd6d4c05678..d9d0b0d96d7516c8038bd2f9636f4bd63904f391 100644
|
| --- a/pkg/analyzer/lib/src/generated/resolver.dart
|
| +++ b/pkg/analyzer/lib/src/generated/resolver.dart
|
| @@ -10164,6 +10164,20 @@ class TypeResolverVisitor extends ScopedVisitor {
|
| }
|
|
|
| @override
|
| + Object visitFunctionExpression(FunctionExpression node) {
|
| + // Clear the static element return type of closures.
|
| + // We need this to restore the state when closure parameter types can
|
| + // be propagated from invocation parameter types.
|
| + if (node is! FunctionDeclaration) {
|
| + ExecutableElement element = node.element;
|
| + if (element is FunctionElementImpl) {
|
| + element.returnType = null;
|
| + }
|
| + }
|
| + return super.visitFunctionExpression(node);
|
| + }
|
| +
|
| + @override
|
| Object visitFunctionTypeAlias(FunctionTypeAlias node) {
|
| FunctionTypeAliasElementImpl element =
|
| node.element as FunctionTypeAliasElementImpl;
|
|
|