Tweak YieldStatementResolver.

De-duplicate a bit, and make it more clear that the sequence type
might be null, but the argument type cannot be.

Change-Id: I60a1ab8987b1c1539585459325bac17f52465083
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/218840
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/resolver/yield_statement_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/yield_statement_resolver.dart
index 02e043b..0016d66 100644
--- a/pkg/analyzer/lib/src/dart/resolver/yield_statement_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/yield_statement_resolver.dart
@@ -96,11 +96,13 @@
         );
         return;
       }
-      var imposedTypeAsInstanceOf = bodyContext.isSynchronous
-          ? imposedReturnType.asInstanceOf(_typeProvider.iterableElement)
-          : imposedReturnType.asInstanceOf(_typeProvider.streamElement);
-      var imposedValueType = imposedTypeAsInstanceOf?.typeArguments[0];
-      if (imposedValueType != null) {
+      var imposedSequenceType = imposedReturnType.asInstanceOf(
+        bodyContext.isSynchronous
+            ? _typeProvider.iterableElement
+            : _typeProvider.streamElement,
+      );
+      if (imposedSequenceType != null) {
+        var imposedValueType = imposedSequenceType.typeArguments[0];
         _errorReporter.reportErrorForNode(
           CompileTimeErrorCode.YIELD_OF_INVALID_TYPE,
           expression,