| Index: third_party/mojo/src/mojo/public/python/mojo_bindings/reflection.py
|
| diff --git a/third_party/mojo/src/mojo/public/python/mojo_bindings/reflection.py b/third_party/mojo/src/mojo/public/python/mojo_bindings/reflection.py
|
| index cfd7e644cc2784d10100c04bc6d9c2c38f7da95c..6c4767b7b6f0146bb9bea5e39214b394064a9996 100644
|
| --- a/third_party/mojo/src/mojo/public/python/mojo_bindings/reflection.py
|
| +++ b/third_party/mojo/src/mojo/public/python/mojo_bindings/reflection.py
|
| @@ -135,103 +135,6 @@
|
| raise AttributeError('can\'t delete attribute')
|
|
|
|
|
| -class MojoUnionType(type):
|
| -
|
| - def __new__(mcs, name, bases, dictionary):
|
| - dictionary['__slots__'] = ('_cur_field', '_data')
|
| - descriptor = dictionary.pop('DESCRIPTOR', {})
|
| -
|
| - fields = descriptor.get('fields', [])
|
| - def _BuildUnionProperty(field):
|
| -
|
| - # pylint: disable=W0212
|
| - def Get(self):
|
| - if self._cur_field != field:
|
| - raise AttributeError('%s is not currently set' % field.name,
|
| - field.name, self._cur_field.name)
|
| - return self._data
|
| -
|
| - # pylint: disable=W0212
|
| - def Set(self, value):
|
| - self._cur_field = field
|
| - self._data = field.field_type.Convert(value)
|
| -
|
| - return property(Get, Set)
|
| -
|
| - for field in fields:
|
| - dictionary[field.name] = _BuildUnionProperty(field)
|
| -
|
| - def UnionInit(self, **kwargs):
|
| - self.SetInternals(None, None)
|
| - items = kwargs.items()
|
| - if len(items) == 0:
|
| - return
|
| -
|
| - if len(items) > 1:
|
| - raise TypeError('only 1 member may be set on a union.')
|
| -
|
| - setattr(self, items[0][0], items[0][1])
|
| - dictionary['__init__'] = UnionInit
|
| -
|
| - serializer = serialization.UnionSerializer(fields)
|
| - def SerializeUnionInline(self, handle_offset=0):
|
| - return serializer.SerializeInline(self, handle_offset)
|
| - dictionary['SerializeInline'] = SerializeUnionInline
|
| -
|
| - def SerializeUnion(self, handle_offset=0):
|
| - return serializer.Serialize(self, handle_offset)
|
| - dictionary['Serialize'] = SerializeUnion
|
| -
|
| - def DeserializeUnion(cls, context):
|
| - return serializer.Deserialize(context, cls)
|
| - dictionary['Deserialize'] = classmethod(DeserializeUnion)
|
| -
|
| - class Tags(object):
|
| - __metaclass__ = MojoEnumType
|
| - VALUES = [(field.name, field.index) for field in fields]
|
| - dictionary['Tags'] = Tags
|
| -
|
| - def GetTag(self):
|
| - return self._cur_field.index
|
| - dictionary['tag'] = property(GetTag, None)
|
| -
|
| - def GetData(self):
|
| - return self._data
|
| - dictionary['data'] = property(GetData, None)
|
| -
|
| - def IsUnknown(self):
|
| - return not self._cur_field
|
| - dictionary['IsUnknown'] = IsUnknown
|
| -
|
| - def UnionEq(self, other):
|
| - return (
|
| - (type(self) is type(other))
|
| - and (self.tag == other.tag)
|
| - and (self.data == other.data))
|
| - dictionary['__eq__'] = UnionEq
|
| -
|
| - def UnionNe(self, other):
|
| - return not self.__eq__(other)
|
| - dictionary['__ne__'] = UnionNe
|
| -
|
| - def UnionStr(self):
|
| - return '<%s.%s(%s): %s>' % (
|
| - self.__class__.__name__,
|
| - self._cur_field.name,
|
| - self.tag,
|
| - self.data)
|
| - dictionary['__str__'] = UnionStr
|
| - dictionary['__repr__'] = UnionStr
|
| -
|
| - def SetInternals(self, field, data):
|
| - self._cur_field = field
|
| - self._data = data
|
| - dictionary['SetInternals'] = SetInternals
|
| -
|
| -
|
| - return type.__new__(mcs, name, bases, dictionary)
|
| -
|
| -
|
| class InterfaceRequest(object):
|
| """
|
| An interface request allows to send a request for an interface to a remote
|
|
|