From 61e5d367ff180a4fcd48dd06b9918a9d37edc766 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Fri, 18 Feb 2011 18:17:06 -0800 Subject: Change the API for getting the bootstrapped defs. The symtab that contains them is now hidden, and you can look them up by name but there is no access to the symtab itself, so there is no risk of mutating it (by extending it, adding other defs to it, etc). --- tests/test_def.c | 9 +++------ tests/test_vs_proto2.cc | 16 +--------------- 2 files changed, 4 insertions(+), 21 deletions(-) (limited to 'tests') diff --git a/tests/test_def.c b/tests/test_def.c index 2d2658f..287cc32 100644 --- a/tests/test_def.c +++ b/tests/test_def.c @@ -5,8 +5,8 @@ int main() { upb_symtab *s = upb_symtab_new(); - upb_symtab_add_descriptorproto(s); + // Will be empty atm since we haven't added anything to the symtab. int count; upb_def **defs = upb_symtab_getdefs(s, &count, UPB_DEF_ANY); for (int i = 0; i < count; i++) { @@ -14,12 +14,9 @@ int main() { } free(defs); - upb_string *str = upb_strdupc("google.protobuf.FileDescriptorSet"); - upb_def *fds = upb_symtab_lookup(s, str); + upb_msgdef *fds = upb_getfdsdef(); assert(fds != NULL); - assert(upb_dyncast_msgdef(fds) != NULL); - upb_def_unref(fds); - upb_string_unref(str); + upb_def_unref(UPB_UPCAST(fds)); upb_symtab_unref(s); return 0; } diff --git a/tests/test_vs_proto2.cc b/tests/test_vs_proto2.cc index 749eedf..1839123 100644 --- a/tests/test_vs_proto2.cc +++ b/tests/test_vs_proto2.cc @@ -213,26 +213,13 @@ int main(int argc, char *argv[]) fprintf(stderr, "Couldn't read " MESSAGE_DESCRIPTOR_FILE ".\n"); return 1; } - upb_symtab_add_descriptorproto(symtab); - upb_def *fds_msgdef = upb_symtab_lookup( - symtab, UPB_STRLIT("google.protobuf.FileDescriptorSet")); - assert(fds_msgdef); - - upb_stringsrc ssrc; - upb_stringsrc_init(&ssrc); - upb_stringsrc_reset(&ssrc, fds); - upb_decoder decoder; - upb_decoder_init(&decoder, upb_downcast_msgdef(fds_msgdef)); - upb_decoder_reset(&decoder, upb_stringsrc_bytesrc(&ssrc)); - upb_symtab_addfds(symtab, upb_decoder_src(&decoder), &status); + upb_parsedesc(symtab, fds, &status); if(!upb_ok(&status)) { fprintf(stderr, "Error importing " MESSAGE_DESCRIPTOR_FILE ": "); upb_printerr(&status); return 1; } upb_string_unref(fds); - upb_decoder_uninit(&decoder); - upb_stringsrc_uninit(&ssrc); upb_string *proto_name = upb_strdupc(MESSAGE_NAME); upb_def *def = upb_symtab_lookup(symtab, proto_name); @@ -260,7 +247,6 @@ int main(int argc, char *argv[]) upb_msg_unref(upb_msg, msgdef); upb_def_unref(UPB_UPCAST(msgdef)); - upb_def_unref(fds_msgdef); upb_string_unref(str); upb_symtab_unref(symtab); upb_status_uninit(&status); -- cgit v1.2.3