[Concurrency] adjust how we fail creating an IsIsolatingCurrentContextDecision

This commit is contained in:
Konrad 'ktoso' Malawski
2025-04-28 19:11:33 +09:00
parent e1dc854f8f
commit ea16df04ac
2 changed files with 25 additions and 22 deletions

View File

@@ -17,8 +17,6 @@
#ifndef SWIFT_ABI_EXECUTOR_H #ifndef SWIFT_ABI_EXECUTOR_H
#define SWIFT_ABI_EXECUTOR_H #define SWIFT_ABI_EXECUTOR_H
#include "../../../stdlib/public/Concurrency/Error.h"
#include "swift/ABI/Actor.h" #include "swift/ABI/Actor.h"
#include "swift/ABI/HeapObject.h" #include "swift/ABI/HeapObject.h"
#include "swift/Runtime/Casting.h" #include "swift/Runtime/Casting.h"
@@ -427,27 +425,10 @@ enum class IsIsolatingCurrentContextDecision : int8_t {
Isolated, Isolated,
}; };
inline IsIsolatingCurrentContextDecision IsIsolatingCurrentContextDecision
getIsIsolatingCurrentContextDecisionFromInt(int8_t value) { getIsIsolatingCurrentContextDecisionFromInt(int8_t value);
switch (value) {
case -1: return IsIsolatingCurrentContextDecision::Unknown;
case 0: return IsIsolatingCurrentContextDecision::NotIsolated;
case 1: return IsIsolatingCurrentContextDecision::Isolated;
default:
swift_Concurrency_fatalError(0, "Unexpected IsIsolatingCurrentContextDecision value");
return IsIsolatingCurrentContextDecision::Unknown; // silence warning about missing return
}
}
inline StringRef getIsIsolatingCurrentContextDecisionNameStr(IsIsolatingCurrentContextDecision decision) { StringRef getIsIsolatingCurrentContextDecisionNameStr(IsIsolatingCurrentContextDecision decision);
switch (decision) {
case IsIsolatingCurrentContextDecision::Unknown: return "Unknown";
case IsIsolatingCurrentContextDecision::NotIsolated: return "NotIsolated";
case IsIsolatingCurrentContextDecision::Isolated: return "Isolated";
}
swift_Concurrency_fatalError(0, "Unexpected IsIsolatingCurrentContextDecision value");
return "<Unexpected Value>"; // silence warning about missing return
}
} }

View File

@@ -160,6 +160,28 @@ extern "C" void swift_job_dealloc(SwiftJob *job, void *ptr) {
return _swift_task_dealloc_specific(task, ptr); return _swift_task_dealloc_specific(task, ptr);
} }
IsIsolatingCurrentContextDecision
swift::getIsIsolatingCurrentContextDecisionFromInt(int8_t value) {
switch (value) {
case -1: return IsIsolatingCurrentContextDecision::Unknown;
case 0: return IsIsolatingCurrentContextDecision::NotIsolated;
case 1: return IsIsolatingCurrentContextDecision::Isolated;
default:
swift_Concurrency_fatalError(0, "Unexpected IsIsolatingCurrentContextDecision value");
}
}
StringRef
swift::getIsIsolatingCurrentContextDecisionNameStr(IsIsolatingCurrentContextDecision decision) {
switch (decision) {
case IsIsolatingCurrentContextDecision::Unknown: return "Unknown";
case IsIsolatingCurrentContextDecision::NotIsolated: return "NotIsolated";
case IsIsolatingCurrentContextDecision::Isolated: return "Isolated";
}
swift_Concurrency_fatalError(0, "Unexpected IsIsolatingCurrentContextDecision value");
}
/*****************************************************************************/ /*****************************************************************************/
/****************************** MAIN EXECUTOR *******************************/ /****************************** MAIN EXECUTOR *******************************/
/*****************************************************************************/ /*****************************************************************************/