From 7a343d0cc1362409014d209dad08e97fbd10c17a Mon Sep 17 00:00:00 2001 From: Mayank Patke Date: Thu, 2 Nov 2023 21:37:38 +0000 Subject: [PATCH] [rti] Codegen improvements in isSubtype. Change-Id: If68a3c150b33e2029d7e6538cb3efff23bb9809f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333701 Commit-Queue: Mayank Patke Reviewed-by: Stephen Adams --- sdk/lib/_internal/js_shared/lib/rti.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sdk/lib/_internal/js_shared/lib/rti.dart b/sdk/lib/_internal/js_shared/lib/rti.dart index cb788d95759..e19820ab580 100644 --- a/sdk/lib/_internal/js_shared/lib/rti.dart +++ b/sdk/lib/_internal/js_shared/lib/rti.dart @@ -3262,10 +3262,12 @@ bool isSubtype(Object? universe, Rti s, Rti t) { result = _isSubtypeUncached(universe, s, t); _Utils.mapSet(sCache, t, result); } - if (result == _subtypeResultFalse) return false; - if (result == _subtypeResultTrue) return true; - _onExtraNullSafetyError( - _InconsistentSubtypingError._forTypes(s, t), StackTrace.current); + if (_subtypeResultFalse == result) return false; + if (_subtypeResultTrue == result) return true; + if (JS_GET_FLAG('EXTRA_NULL_SAFETY_CHECKS')) { + _onExtraNullSafetyError( + _InconsistentSubtypingError._forTypes(s, t), StackTrace.current); + } return true; }