message: [SwiftLanguageRuntime] Refactor archetype(s) dynamic lookup.
  > Use IsStaticallyDetermined().
  > Early returns for better readability.
  > Add an unreacahble on a condition that should never happen
  (and silence a compiler warning).
diff: @@ -1281,8 +1281,7 @@ bool SwiftLanguageRuntime::MetadataPromise::IsStaticallyDetermined() {
  return true;
  }
  }
  -
  - return true;
  + llvm_unreachable("Unknown metadata kind");
  }
  static inline swift::Type GetSwiftType(const CompilerType &type) {
  @@ -2118,9 +2117,9 @@ bool SwiftLanguageRuntime::GetDynamicTypeAndAddress_Archetype(
  if (!GetDynamicTypeAndAddress_Promise(in_value, promise_sp, use_dynamic,
  class_type_or_name, address))
  return false;
  - if (promise_sp->FulfillKindPromise() &&
  - promise_sp->FulfillKindPromise().getValue() ==
  - swift::MetadataKind::Class) {
  + if (promise_sp->IsStaticallyDetermined())
  + return true;
  +
  // when an archetype represents a class, it will represent the static type
  // of the class
  // but the dynamic type might be different
  @@ -2140,7 +2139,6 @@ bool SwiftLanguageRuntime::GetDynamicTypeAndAddress_Archetype(
  class_type_or_name.GetCompilerType().IsValid() == false)
  class_type_or_name.SetCompilerType(static_type);
  }
  - }
  return true;
  }
  