public static string Convert(ExitCode code) { Debug.Assert(code.HasFlag(ExitCode.Failure)); Span <ExitCode> span = stackalloc[] { ExitCode.ThresholdExceeded, ExitCode.UpperBoundExceeded, ExitCode.LowerBoundExceeded, ExitCode.NegativeValue, ExitCode.MaxValueExceeded, ExitCode.StdinBufferExhausted, ExitCode.StdoutBufferLimitExceeded, ExitCode.UndefinedFunctionCalled, ExitCode.DuplicateFunctionDefinition, ExitCode.StackLimitExceeded, }; foreach (ExitCode entry in span) { if (code.HasFlag(entry)) { return($"{nameof(ExitCode)}/{entry}".GetLocalized()); } } return(ThrowHelper.ThrowArgumentException <string>(nameof(code), "Invalid exit code")); }