rename upb_Message_WhichOneof to upb_Message_WhichOneofByDef
and introduce upb_Message_WhichOneof that returns a minitable field without needing reflection

PiperOrigin-RevId: 637932147
diff --git a/python/message.c b/python/message.c
index d5213ab..42bf902 100644
--- a/python/message.c
+++ b/python/message.c
@@ -1039,9 +1039,9 @@
 
   if (PyUpb_Message_IsStub(self)) Py_RETURN_FALSE;
 
-  return PyBool_FromLong(field ? upb_Message_HasFieldByDef(self->ptr.msg, field)
-                               : upb_Message_WhichOneof(self->ptr.msg, oneof) !=
-                                     NULL);
+  return PyBool_FromLong(
+      field ? upb_Message_HasFieldByDef(self->ptr.msg, field)
+            : upb_Message_WhichOneofByDef(self->ptr.msg, oneof) != NULL);
 }
 
 static PyObject* PyUpb_Message_Contains(PyObject* _self, PyObject* arg) {
@@ -1421,7 +1421,7 @@
     return NULL;
   }
 
-  if (o) f = upb_Message_WhichOneof(self->ptr.msg, o);
+  if (o) f = upb_Message_WhichOneofByDef(self->ptr.msg, o);
   if (f) PyUpb_Message_DoClearField(_self, f);
   Py_RETURN_NONE;
 }
@@ -1616,7 +1616,7 @@
   }
   upb_Message* msg = PyUpb_Message_GetIfReified(_self);
   if (!msg) Py_RETURN_NONE;
-  const upb_FieldDef* f = upb_Message_WhichOneof(msg, o);
+  const upb_FieldDef* f = upb_Message_WhichOneofByDef(msg, o);
   if (!f) Py_RETURN_NONE;
   return PyUnicode_FromString(upb_FieldDef_Name(f));
 }