Index: third_party/protobuf/python/google/protobuf/internal/containers.py |
diff --git a/third_party/protobuf/python/google/protobuf/internal/containers.py b/third_party/protobuf/python/google/protobuf/internal/containers.py |
index de13018eefaa8ddd0bf447c10ad06b6b132ccec5..97cdd848e34d8da4083abb512b7403686ddec91f 100755 |
--- a/third_party/protobuf/python/google/protobuf/internal/containers.py |
+++ b/third_party/protobuf/python/google/protobuf/internal/containers.py |
@@ -436,11 +436,9 @@ class ScalarMap(MutableMapping): |
"""Simple, type-checked, dict-like container for holding repeated scalars.""" |
# Disallows assignment to other attributes. |
- __slots__ = ['_key_checker', '_value_checker', '_values', '_message_listener', |
- '_entry_descriptor'] |
+ __slots__ = ['_key_checker', '_value_checker', '_values', '_message_listener'] |
- def __init__(self, message_listener, key_checker, value_checker, |
- entry_descriptor): |
+ def __init__(self, message_listener, key_checker, value_checker): |
""" |
Args: |
message_listener: A MessageListener implementation. |
@@ -450,12 +448,10 @@ class ScalarMap(MutableMapping): |
inserted into this container. |
value_checker: A type_checkers.ValueChecker instance to run on values |
inserted into this container. |
- entry_descriptor: The MessageDescriptor of a map entry: key and value. |
""" |
self._message_listener = message_listener |
self._key_checker = key_checker |
self._value_checker = value_checker |
- self._entry_descriptor = entry_descriptor |
self._values = {} |
def __getitem__(self, key): |
@@ -517,9 +513,6 @@ class ScalarMap(MutableMapping): |
self._values.clear() |
self._message_listener.Modified() |
- def GetEntryClass(self): |
- return self._entry_descriptor._concrete_class |
- |
class MessageMap(MutableMapping): |
@@ -527,10 +520,9 @@ class MessageMap(MutableMapping): |
# Disallows assignment to other attributes. |
__slots__ = ['_key_checker', '_values', '_message_listener', |
- '_message_descriptor', '_entry_descriptor'] |
+ '_message_descriptor'] |
- def __init__(self, message_listener, message_descriptor, key_checker, |
- entry_descriptor): |
+ def __init__(self, message_listener, message_descriptor, key_checker): |
""" |
Args: |
message_listener: A MessageListener implementation. |
@@ -540,12 +532,10 @@ class MessageMap(MutableMapping): |
inserted into this container. |
value_checker: A type_checkers.ValueChecker instance to run on values |
inserted into this container. |
- entry_descriptor: The MessageDescriptor of a map entry: key and value. |
""" |
self._message_listener = message_listener |
self._message_descriptor = message_descriptor |
self._key_checker = key_checker |
- self._entry_descriptor = entry_descriptor |
self._values = {} |
def __getitem__(self, key): |
@@ -604,11 +594,7 @@ class MessageMap(MutableMapping): |
def MergeFrom(self, other): |
for key in other: |
- # According to documentation: "When parsing from the wire or when merging, |
- # if there are duplicate map keys the last key seen is used". |
- if key in self: |
- del self[key] |
- self[key].CopyFrom(other[key]) |
+ self[key].MergeFrom(other[key]) |
# self._message_listener.Modified() not required here, because |
# mutations to submessages already propagate. |
@@ -623,6 +609,3 @@ class MessageMap(MutableMapping): |
def clear(self): |
self._values.clear() |
self._message_listener.Modified() |
- |
- def GetEntryClass(self): |
- return self._entry_descriptor._concrete_class |