773ebd220b
Wrapping a legacy type will cause the legacy-ness to be stripped off by design. This causes confusion when trying to unit test the runtime subtype checks so we are now simply avoiding it here. Introduce a `unwrap()` helper method that will attempt to upwrap any type that isn't legacy. Legacy types are simply returned unchanged because they are already unwrapped. Copies the other helper methods from runtime_utils.dart to runtime_utils_nnbd.dart so they can be updated with the special unwrapping logic for legacy types. Change-Id: I21ff24b766a1f7a569181a2e1c47233320751c66 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131707 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Mark Zhou <markzipan@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>