symbols.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:protocall 作者: google 项目源码 文件源码
def add_local_symbol(self, field, value):
        if len(field.component) == 1:
          self.stack[-1][field.component[0].name] = value
        else:
          components = list(reversed([component.name for component in field.component]))
          atom = self.lookup_local_key(components.pop())
          parent, base, p = self.traverse_atom(atom, components)
          if isinstance(p, Message):
            result = parse_proto(value.literal.proto.value, value.literal.proto.field.component[0].name)
            getattr(parent, field.component[-1].name).CopyFrom(result)
            self.stack[-1][field.component[0].name].literal.proto.value = text_format.MessageToString(base)
          else:
            setattr(parent, field.component[-1].name, value)
            self.stack[-1][field.component[0].name].literal.proto.value = text_format.MessageToString(base)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号