[dart2js, ddc] Avoid multiple `_getKind()` calls

Add a local variable for the result.

Change-Id: Iff4002ecd3d491c9b12b3e7baf98394612983520
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/323710
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
diff --git a/sdk/lib/_internal/js_shared/lib/rti.dart b/sdk/lib/_internal/js_shared/lib/rti.dart
index 78ba06b..d257eb0 100644
--- a/sdk/lib/_internal/js_shared/lib/rti.dart
+++ b/sdk/lib/_internal/js_shared/lib/rti.dart
@@ -1120,8 +1120,9 @@
   }
 
   Rti unstarred = Rti._unstar(testRti);
+  int unstarredKind = Rti._getKind(unstarred);
 
-  if (Rti._getKind(unstarred) == Rti.kindFutureOr) {
+  if (unstarredKind == Rti.kindFutureOr) {
     return _finishIsFn(testRti, object, RAW_DART_FUNCTION_REF(_isFutureOr));
   }
 
@@ -1130,7 +1131,7 @@
     return _finishIsFn(testRti, object, isFn);
   }
 
-  if (Rti._getKind(unstarred) == Rti.kindInterface) {
+  if (unstarredKind == Rti.kindInterface) {
     String name = Rti._getInterfaceName(unstarred);
     var arguments = Rti._getInterfaceTypeArguments(unstarred);
     // This recognizes interface types instantiated with Top, which includes the
@@ -1152,7 +1153,7 @@
           testRti, object, RAW_DART_FUNCTION_REF(_isTestViaProperty));
     }
     // fall through to general implementation.
-  } else if (Rti._getKind(unstarred) == Rti.kindRecord) {
+  } else if (unstarredKind == Rti.kindRecord) {
     isFn = _recordSpecializedIsTest(unstarred);
     return _finishIsFn(testRti, object, isFn);
   }