Index: third_party/protobuf/python/google/protobuf/internal/decoder.py |
diff --git a/third_party/protobuf/python/google/protobuf/internal/decoder.py b/third_party/protobuf/python/google/protobuf/internal/decoder.py |
index c5f73dc1b566c0a745df458d34e3fec9a0d7ba74..31869e4575ca900440a8ce452ce2af5ed87a19aa 100755 |
--- a/third_party/protobuf/python/google/protobuf/internal/decoder.py |
+++ b/third_party/protobuf/python/google/protobuf/internal/decoder.py |
@@ -642,10 +642,10 @@ def MessageDecoder(field_number, is_repeated, is_packed, key, new_default): |
MESSAGE_SET_ITEM_TAG = encoder.TagBytes(1, wire_format.WIRETYPE_START_GROUP) |
-def MessageSetItemDecoder(descriptor): |
+def MessageSetItemDecoder(extensions_by_number): |
"""Returns a decoder for a MessageSet item. |
- The parameter is the message Descriptor. |
+ The parameter is the _extensions_by_number map for the message class. |
The message set message looks like this: |
message MessageSet { |
@@ -694,7 +694,7 @@ def MessageSetItemDecoder(descriptor): |
if message_start == -1: |
raise _DecodeError('MessageSet item missing message.') |
- extension = message.Extensions._FindExtensionByNumber(type_id) |
+ extension = extensions_by_number.get(type_id) |
if extension is not None: |
value = field_dict.get(extension) |
if value is None: |