Breaking change in 26 release: Remove msg.UnknownFields() support in pure python and cpp extension.

Users should use the add-on unknown_fields.py support.
Old usage example:
unknown_field_set = msg.UnknownFields()

New usage should be:
from google.protobuf import unknown_fields
unknown_field_set = unknown_fields.UnknownFieldSet(msg)
PiperOrigin-RevId: 589969095
pull/15024/head
Jie Luo 1 year ago committed by Copybara-Service
parent e35cf1025b
commit 0eac77c2c6
  1. 12
      python/google/protobuf/internal/python_message.py
  2. 15
      python/google/protobuf/pyext/message.cc

@ -1385,15 +1385,9 @@ def _Clear(self):
def _UnknownFields(self):
warnings.warn(
'message.UnknownFields() is deprecated. Please use the add one '
'feature unknown_fields.UnknownFieldSet(message) in '
'unknown_fields.py instead.'
)
if self._unknown_field_set is None: # pylint: disable=protected-access
# pylint: disable=protected-access
self._unknown_field_set = containers.UnknownFieldSet()
return self._unknown_field_set # pylint: disable=protected-access
raise NotImplementedError('Please use the add-on feaure '
'unknown_fields.UnknownFieldSet(message) in '
'unknown_fields.py instead.')
def _DiscardUnknownFields(self):

@ -2346,16 +2346,11 @@ static PyObject* GetExtensionDict(CMessage* self, void *closure) {
}
static PyObject* GetUnknownFields(CMessage* self) {
PyErr_Warn(nullptr,
"message.UnknownFields() is deprecated. Please use the "
"add one feature unknown_fields.UnknownFieldSet(message) in "
"unknown_fields.py instead.");
if (self->unknown_field_set == nullptr) {
self->unknown_field_set = unknown_fields::NewPyUnknownFields(self);
} else {
Py_INCREF(self->unknown_field_set);
}
return self->unknown_field_set;
PyErr_Format(PyExc_NotImplementedError,
"Please use the add-on feature "
"unknown_fields.UnknownFieldSet(message) in "
"unknown_fields.py instead.");
return nullptr;
}
static PyGetSetDef Getters[] = {

Loading…
Cancel
Save