blob: 430d8c45c919a765f74cf3cf4e5944786ebf0072 [file] [log] [blame]
import sys
import re
include = sys.argv[1]
msg_basename = sys.argv[2]
count = 1
m = re.search(r'(.*\D)(\d+)$', sys.argv[2])
if m:
msg_basename = m.group(1)
count = int(m.group(2))
print(f'''
#include "{include}"
char buf[1];
int main() {{
upb_arena *arena = upb_arena_new();
size_t size;
''')
def RefMessage(name):
print(f'''
{{
{name} *proto = {name}_parse(buf, 1, arena);
{name}_serialize(proto, arena, &size);
}}
''')
RefMessage(msg_basename)
for i in range(2, count + 1):
RefMessage(msg_basename + str(i))
print('''
return 0;
}''')