Skip to content

Commit b791861

Browse files
chloestefantsovaCommit Queue
authored and
Commit Queue
committed
[cfe] Make 'flatten' aware of extension types
Part of #49731 Change-Id: Ic7175ebab22f7b9e956030616350e79d1837a1df Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/331942 Reviewed-by: Johnni Winther <[email protected]> Commit-Queue: Chloe Stefantsova <[email protected]>
1 parent 255f260 commit b791861

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

pkg/kernel/lib/type_environment.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,15 @@ abstract class TypeEnvironment extends Types {
108108
// how [isNonNullableByDefault] is treated.
109109
return futureType.withDeclaredNullability(resolved.nullability);
110110
}
111+
} else if (resolved is ExtensionType) {
112+
DartType? futureType = hierarchy.getExtensionTypeAsInstanceOfClass(
113+
resolved, coreTypes.futureClass,
114+
isNonNullableByDefault: true);
115+
if (futureType != null) {
116+
// TODO(johnniwinther): The two implementations are inconsistent wrt.
117+
// how [isNonNullableByDefault] is treated.
118+
return futureType.withDeclaredNullability(resolved.nullability);
119+
}
111120
} else if (resolved is FutureOrType) {
112121
return resolved;
113122
}

0 commit comments

Comments
 (0)