Stop visiting typedefs of return types.

Change-Id: I1e3936f7a819add5f93fcf2974ba5d928cd68aef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184043
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 838334a..2233c50 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -3055,17 +3055,6 @@
     }
     return annotations;
   }
-
-  /// If the given [type] is a generic function type, then the element
-  /// associated with the type is implicitly a child of this element and should
-  /// be visited by the given [visitor].
-  void _safelyVisitPossibleChild(DartType? type, ElementVisitor visitor) {
-    var element = type?.element;
-    if (element is GenericFunctionTypeElementImpl &&
-        element.enclosingElement is! FunctionTypeAliasElement) {
-      element.accept(visitor);
-    }
-  }
 }
 
 /// Abstract base class for elements whose type is guaranteed to be a function
@@ -3681,7 +3670,6 @@
   @override
   void visitChildren(ElementVisitor visitor) {
     super.visitChildren(visitor);
-    _safelyVisitPossibleChild(returnType, visitor);
     safelyVisitChildren(typeParameters, visitor);
     safelyVisitChildren(parameters, visitor);
   }
@@ -4532,7 +4520,6 @@
   @override
   void visitChildren(ElementVisitor visitor) {
     super.visitChildren(visitor);
-    _safelyVisitPossibleChild(returnType, visitor);
     safelyVisitChildren(typeParameters, visitor);
     safelyVisitChildren(parameters, visitor);
   }