Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(647)

Unified Diff: pkg/analyzer/lib/src/generated/resolver.dart

Issue 1609093003: fixes #25482, flatten Futures in strong mode so Future.then works (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 5aeeab5fb629f7cd00df451b48bebbabe602d9b4..9fd9682008c011b5fac999016a3dfd7c8e8e26b3 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -8431,11 +8431,10 @@ class ResolverVisitor extends ScopedVisitor {
Object visitAwaitExpression(AwaitExpression node) {
// TODO(leafp): Handle the implicit union type here
// https://github.com/dart-lang/sdk/issues/25322
- DartType contextType = StaticTypeAnalyzer.flattenFutures(
- typeProvider, InferenceContext.getType(node));
+ DartType contextType = InferenceContext.getType(node);
if (contextType != null) {
- InterfaceType futureT =
- typeProvider.futureType.substitute4([contextType]);
+ InterfaceType futureT = typeProvider.futureType
+ .substitute4([contextType.flattenFutures(typeSystem)]);
InferenceContext.setType(node.expression, futureT);
}
return super.visitAwaitExpression(node);
@@ -9478,7 +9477,7 @@ class ResolverVisitor extends ScopedVisitor {
return (typeArgs?.length == 1) ? typeArgs[0] : null;
}
// Must be asynchronous to reach here, so strip off any layers of Future
- return StaticTypeAnalyzer.flattenFutures(typeProvider, declaredType);
+ return declaredType.flattenFutures(typeSystem);
}
/**

Powered by Google App Engine
This is Rietveld 408576698