mirror of
https://github.com/protobuf-c/protobuf-c.git
synced 2025-01-14 01:07:57 +08:00
7456d16212
google::protobuf::Message::Reflection has been removed in newer versions of protobuf. The replacement is google::protobuf::Reflection. protobuf in commit 779f61c6a3ce02a119e28e802f229e61b69b9046 ("Integrate recent changes from google3.", from August 2008) changed the following in message.h: @@ -336,7 +337,8 @@ class LIBPROTOBUF_EXPORT Message { // Introspection --------------------------------------------------- - class Reflection; // Defined below. + // Typedef for backwards-compatibility. + typedef google::protobuf::Reflection Reflection; The "typedef for backwards-compatibility" apparently lasted ten years until protobuf commit 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3 ("Down-integrate from google3.", from August 2018) which finally removed the typedef: @@ -327,8 +344,6 @@ class LIBPROTOBUF_EXPORT Message : public MessageLite { // Introspection --------------------------------------------------- - // Typedef for backwards-compatibility. - typedef google::protobuf::Reflection Reflection; This commit updates the only use of this typedef (in the test suite) to directly refer to the replacement, google::protobuf::Reflection. This fixes the build failure in the test suite.
There are two tests. "test-generated-code" is a simple test that can easily be adapted. "test-generated-code2" is a comprehensive test. -- If you have a quick problem, hack at "test-generated-code"; but i don't want that file to be too hard to navigate, so you must eventually add a test to "test-generated-code2". I appreciate additional test cases! Please submit them as issues in the tracking system, or email me. -- Here are the files involved in each test: test.proto Protobuf declarations for the simple test. test.pb-c.c Protobuf-C generated code based on test.proto test.pb-c.h Protobuf-C generated code based on test.proto test-full.proto Protobuf declarations for the exhaustive test. test-full.pb-c.c Protobuf-C generated code based on test-full.proto test-full.pb-c.h Protobuf-C generated code based on test-full.proto test-full.pb.cc Protobuf (C++) generated code based on test-full.proto test-full.pb.h Protobuf (C++) generated code based on test-full.proto generated-code/ test-generated-code.c Actual test code. test-generated-code Test executable. generated-code2/ cxx-generate-packed-data.cc C++ code to generated data to compare with C. cxx-generate-packed-data Program whichs generates data (using C++ api) test-full-cxx-output.inc Output of cxx-generate-packed-data. test-generated-code2.c Actual test code. test-generated-code2 Test executable.