f6efefc09c
This unblocks changing this logic for NNBD since they are now forked. The custom logic for FutureOr has been problematic to represent in the patch files. They need to be callable from the class but they can't be static methods in Dart because they reference the generic type argument. It is a design quirk of the runtime representation that the type argument is captured in the wrapping closure and in scope that allows the existing implementation to work. In a future change I will thread an NNBD flag through the compiler to emit different logic for the FutureOr type tests when running with NNBD. Change-Id: I9463e3cd375f8098592ea84e956e833952f41bb3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123921 Reviewed-by: Sigmund Cherem <sigmund@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>