[webkit-dev] Idiom for functions with all return values in a switch case
Michael Catanzaro
mcatanzaro at igalia.com
Tue May 9 11:35:54 PDT 2017
On Tue, May 9, 2017 at 1:13 PM, Maciej Stachowiak <mjs at apple.com> wrote:
> I think this second option may suppress the warning when you have
> forgotten to list one of the enum values, since there is now a
> default case. I believe that's the reason for the recommended option.
Ah, good point. Normally we do want a warning when a new enum value has
been introduced. That could be avoided by this variant:
static WKAutoplayEvent toWKAutoplayEvent(WebCore::AutoplayEvent
event)
{
switch (event) {
// ...
}
RELEASE_ASSERT_NOT_REACHED();
}
That seems nicer than this:
static WKAutoplayEvent toWKAutoplayEvent(WebCore::AutoplayEvent
event)
{
switch (event) {
// ...
}
ASSERT_NOT_REACHED();
return static_cast<WKAutoplayEvent>(0);
}
Andy suggests returning one of the enumeration values directly, then we
can use ASSERT_NOT_REACHED() instead of RELEASE_ASSERT_NOT_REACHED().
That would work too, though it forces me to think about which one to
pick.
Michael
More information about the webkit-dev
mailing list