On Tue, May 9, 2017 at 1:13 PM, Maciej Stachowiak <[email protected]> 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

_______________________________________________
webkit-dev mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to