Changes for verifying a buffer dynamically using reflection. (#4102)
authorZarian Waheed <zarianwaheed@live.com>
Fri, 16 Dec 2016 16:46:30 +0000 (08:46 -0800)
committerWouter van Oortmerssen <wvo@google.com>
Fri, 16 Dec 2016 16:46:30 +0000 (08:46 -0800)
commit6d6271db2f8c4a5b6f0ff82506da0b5252f0e3ca
tree5420f713285e3170cb6da39c7697b505eb7a08b3
parentab76c57ec81049282242af4abcb3f585cbee5a8f
Changes for verifying a buffer dynamically using reflection. (#4102)

* Changes for verifying a buffer dynamically using reflection.

* Fixing build issues on linux and applied code reformatting.

* Fixing the file order in cmake file that was messing up the macro based code inclusion.

Added tests for reflection based verification.

* Changes for verifying a buffer dynamically using reflection.

Fixing build issues on linux and applied code reformatting.

Fixing the file order in cmake file that was messing up the macro based code inclusion.

Added tests for reflection based verification.

* Incorporated the code review changes that were requested:

1. Changed the Verify function signature.
2. Changed the variable names to use snake_case.
3. Added better comments.
4. Refactored duplicate code.
5. Changed the verifier class so that it has the same size when compiled with or without FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE macro.

* Setting FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE and FLATBUFFERS_DEBUG_VERIFICATION_FAILURE through cmake for flattests so that it gets propagted to all translation units of flattests.

* Making the Verifier struct fields the same in all cases. Also reverting the target_compile_definitions change in cmake file because build machine on travis does not have cmake version 3.0 or higher which was the version when target_compile_definitions was added in cmake.

* Defining macros through cmake in a portable way using functions that are available in cmake 2.8.
CMakeLists.txt
include/flatbuffers/flatbuffers.h
include/flatbuffers/reflection.h
src/reflection.cpp
tests/test.cpp