def create_enum(jar, enums, fenum, msg_path_to_obj):
if fenum not in msg_path_to_obj:
enum_code = jar.decomp(enums[fenum], True).raw
enum = EnumDescriptorProto()
enum.name = fenum.split('.')[-1]
for fname, fnumber in findall('(?:[\w.$]+|<init>)\("(.+?)", \d+, (-?\d+)[LDF]?\);', enum_code):
if (fname, fnumber) != ('UNRECOGNIZED', '-1'):
value = enum.value.add()
value.name = fname
value.number = int(fnumber)
msg_path_to_obj[fenum] = enum
评论列表
文章目录