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,